diff options
| author | Joerg Roedel <joerg.roedel@amd.com> | 2011-09-06 10:03:26 -0400 |
|---|---|---|
| committer | Joerg Roedel <joerg.roedel@amd.com> | 2011-10-21 08:37:19 -0400 |
| commit | 905d66c1e5dc8149e111f04a32bb193f25da1d53 (patch) | |
| tree | 3b4d55034f1ca58a7956c88cb71f6af8cda2b697 /include | |
| parent | ff21776d12ff7993a6b236b8273ef62777d25dfb (diff) | |
iommu/core: Add bus_type parameter to iommu_domain_alloc
This is necessary to store a pointer to the bus-specific
iommu_ops in the iommu-domain structure. It will be used
later to call into bus-specific iommu-ops.
Signed-off-by: Joerg Roedel <joerg.roedel@amd.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/iommu.h | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/iommu.h b/include/linux/iommu.h index dca83d3405b1..c78d068930b7 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h | |||
| @@ -25,10 +25,12 @@ | |||
| 25 | #define IOMMU_WRITE (2) | 25 | #define IOMMU_WRITE (2) |
| 26 | #define IOMMU_CACHE (4) /* DMA cache coherency */ | 26 | #define IOMMU_CACHE (4) /* DMA cache coherency */ |
| 27 | 27 | ||
| 28 | struct iommu_ops; | ||
| 28 | struct bus_type; | 29 | struct bus_type; |
| 29 | struct device; | 30 | struct device; |
| 30 | 31 | ||
| 31 | struct iommu_domain { | 32 | struct iommu_domain { |
| 33 | struct iommu_ops *ops; | ||
| 32 | void *priv; | 34 | void *priv; |
| 33 | }; | 35 | }; |
| 34 | 36 | ||
| @@ -55,7 +57,7 @@ struct iommu_ops { | |||
| 55 | extern void register_iommu(struct iommu_ops *ops); | 57 | extern void register_iommu(struct iommu_ops *ops); |
| 56 | extern int bus_set_iommu(struct bus_type *bus, struct iommu_ops *ops); | 58 | extern int bus_set_iommu(struct bus_type *bus, struct iommu_ops *ops); |
| 57 | extern bool iommu_found(void); | 59 | extern bool iommu_found(void); |
| 58 | extern struct iommu_domain *iommu_domain_alloc(void); | 60 | extern struct iommu_domain *iommu_domain_alloc(struct bus_type *bus); |
| 59 | extern void iommu_domain_free(struct iommu_domain *domain); | 61 | extern void iommu_domain_free(struct iommu_domain *domain); |
| 60 | extern int iommu_attach_device(struct iommu_domain *domain, | 62 | extern int iommu_attach_device(struct iommu_domain *domain, |
| 61 | struct device *dev); | 63 | struct device *dev); |
| @@ -79,7 +81,7 @@ static inline bool iommu_found(void) | |||
| 79 | return false; | 81 | return false; |
| 80 | } | 82 | } |
| 81 | 83 | ||
| 82 | static inline struct iommu_domain *iommu_domain_alloc(void) | 84 | static inline struct iommu_domain *iommu_domain_alloc(struct bus_type *bus) |
| 83 | { | 85 | { |
| 84 | return NULL; | 86 | return NULL; |
| 85 | } | 87 | } |
