summaryrefslogtreecommitdiffstats
path: root/include/linux/device.h
diff options
context:
space:
mode:
authorJoerg Roedel2018-11-30 12:51:52 +0100
committerJoerg Roedel2018-12-17 10:38:43 +0100
commitdbba197edf32209d110727a02d3a91de4c88520f (patch)
tree4dfd83519bf8064b0fe7ad2bfda2abd1e6242218 /include/linux/device.h
parentiommu/tegra: Use helper functions to access dev->iommu_fwspec (diff)
downloadkernel-qcow2-linux-dbba197edf32209d110727a02d3a91de4c88520f.tar.gz
kernel-qcow2-linux-dbba197edf32209d110727a02d3a91de4c88520f.tar.xz
kernel-qcow2-linux-dbba197edf32209d110727a02d3a91de4c88520f.zip
driver core: Introduce device_iommu_mapped() function
Some places in the kernel check the iommu_group pointer in 'struct device' in order to find out whether a device is mapped by an IOMMU. This is not good way to make this check, as the pointer will be moved to 'struct dev_iommu_data'. This way to make the check is also not very readable. Introduce an explicit function to perform this check. Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Robin Murphy <robin.murphy@arm.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'include/linux/device.h')
-rw-r--r--include/linux/device.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/device.h b/include/linux/device.h
index 1b25c7a43f4c..6cb4640b6160 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -1058,6 +1058,16 @@ static inline struct device *kobj_to_dev(struct kobject *kobj)
return container_of(kobj, struct device, kobj);
}
+/**
+ * device_iommu_mapped - Returns true when the device DMA is translated
+ * by an IOMMU
+ * @dev: Device to perform the check on
+ */
+static inline bool device_iommu_mapped(struct device *dev)
+{
+ return (dev->iommu_group != NULL);
+}
+
/* Get the wakeup routines, which depend on struct device */
#include <linux/pm_wakeup.h>