]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
driver core: Introduce device_iommu_mapped() function
authorJoerg Roedel <jroedel@suse.de>
Fri, 30 Nov 2018 11:51:52 +0000 (12:51 +0100)
committerJoerg Roedel <jroedel@suse.de>
Mon, 17 Dec 2018 09:38:43 +0000 (10:38 +0100)
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>
include/linux/device.h

index 1b25c7a43f4cc85604fbb0e0becab482edcb84a4..6cb4640b6160681f05ad291684c1eaff29df81d9 100644 (file)
@@ -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>