iommufd: Move iommufd_device to iommufd_private.h
authorJason Gunthorpe <jgg@nvidia.com>
Wed, 1 Mar 2023 19:30:22 +0000 (15:30 -0400)
committerJason Gunthorpe <jgg@nvidia.com>
Mon, 6 Mar 2023 14:51:57 +0000 (10:51 -0400)
hw_pagetable.c will need this in the next patches.

Link: https://lore.kernel.org/r/5-v3-ae9c2975a131+2e1e8-iommufd_hwpt_jgg@nvidia.com
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
drivers/iommu/iommufd/device.c
drivers/iommu/iommufd/iommufd_private.h

index 6787a0d8d6e9f07e64af12e3db8c9b1470c9d3db..4483c06e0ec38baa09a91ebbebae193259c92e25 100644 (file)
@@ -15,23 +15,6 @@ MODULE_PARM_DESC(
        "Allow IOMMUFD to bind to devices even if the platform cannot isolate "
        "the MSI interrupt window. Enabling this is a security weakness.");
 
-/*
- * A iommufd_device object represents the binding relationship between a
- * consuming driver and the iommufd. These objects are created/destroyed by
- * external drivers, not by userspace.
- */
-struct iommufd_device {
-       struct iommufd_object obj;
-       struct iommufd_ctx *ictx;
-       struct iommufd_hw_pagetable *hwpt;
-       /* Head at iommufd_hw_pagetable::devices */
-       struct list_head devices_item;
-       /* always the physical device */
-       struct device *dev;
-       struct iommu_group *group;
-       bool enforce_cache_coherency;
-};
-
 void iommufd_device_destroy(struct iommufd_object *obj)
 {
        struct iommufd_device *idev =
index 9d7f71510ca1bc2277d788fe8ee16e4fa1f1ed2a..84fe19a195466ba5e692372df4bcb835a6151647 100644 (file)
@@ -12,6 +12,7 @@
 struct iommu_domain;
 struct iommu_group;
 struct iommu_option;
+struct iommufd_device;
 
 struct iommufd_ctx {
        struct file *file;
@@ -257,6 +258,23 @@ iommufd_hw_pagetable_alloc(struct iommufd_ctx *ictx, struct iommufd_ioas *ioas,
                           struct device *dev);
 void iommufd_hw_pagetable_destroy(struct iommufd_object *obj);
 
+/*
+ * A iommufd_device object represents the binding relationship between a
+ * consuming driver and the iommufd. These objects are created/destroyed by
+ * external drivers, not by userspace.
+ */
+struct iommufd_device {
+       struct iommufd_object obj;
+       struct iommufd_ctx *ictx;
+       struct iommufd_hw_pagetable *hwpt;
+       /* Head at iommufd_hw_pagetable::devices */
+       struct list_head devices_item;
+       /* always the physical device */
+       struct device *dev;
+       struct iommu_group *group;
+       bool enforce_cache_coherency;
+};
+
 void iommufd_device_destroy(struct iommufd_object *obj);
 
 struct iommufd_access {