aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/device.h
diff options
context:
space:
mode:
authorJoerg Roedel <joerg.roedel@amd.com>2011-08-26 10:48:26 -0400
committerJoerg Roedel <joerg.roedel@amd.com>2011-10-21 08:37:19 -0400
commitff21776d12ff7993a6b236b8273ef62777d25dfb (patch)
treee4775ee5c1f5f5e7e6975c0887766a3b886c1258 /include/linux/device.h
parent39d4ebb95925046863dc0ef2698dfcf2c1f1dcbe (diff)
Driver core: Add iommu_ops to bus_type
This is the starting point to make the iommu_ops used for the iommu-api a per-bus-type structure. It is required to easily implement bus-specific setup in the iommu-layer. The first user will be the iommu-group attribute in sysfs. Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'include/linux/device.h')
-rw-r--r--include/linux/device.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/linux/device.h b/include/linux/device.h
index c20dfbfc49b4..e838e143baa7 100644
--- a/include/linux/device.h
+++ b/include/linux/device.h
@@ -33,6 +33,7 @@ struct class;
33struct subsys_private; 33struct subsys_private;
34struct bus_type; 34struct bus_type;
35struct device_node; 35struct device_node;
36struct iommu_ops;
36 37
37struct bus_attribute { 38struct bus_attribute {
38 struct attribute attr; 39 struct attribute attr;
@@ -67,6 +68,9 @@ extern void bus_remove_file(struct bus_type *, struct bus_attribute *);
67 * @resume: Called to bring a device on this bus out of sleep mode. 68 * @resume: Called to bring a device on this bus out of sleep mode.
68 * @pm: Power management operations of this bus, callback the specific 69 * @pm: Power management operations of this bus, callback the specific
69 * device driver's pm-ops. 70 * device driver's pm-ops.
71 * @iommu_ops IOMMU specific operations for this bus, used to attach IOMMU
72 * driver implementations to a bus and allow the driver to do
73 * bus-specific setup
70 * @p: The private data of the driver core, only the driver core can 74 * @p: The private data of the driver core, only the driver core can
71 * touch this. 75 * touch this.
72 * 76 *
@@ -96,6 +100,8 @@ struct bus_type {
96 100
97 const struct dev_pm_ops *pm; 101 const struct dev_pm_ops *pm;
98 102
103 struct iommu_ops *iommu_ops;
104
99 struct subsys_private *p; 105 struct subsys_private *p;
100}; 106};
101 107