diff options
Diffstat (limited to 'drivers/vfio/mdev/mdev_private.h')
| -rw-r--r-- | drivers/vfio/mdev/mdev_private.h | 29 |
1 files changed, 26 insertions, 3 deletions
diff --git a/drivers/vfio/mdev/mdev_private.h b/drivers/vfio/mdev/mdev_private.h index d35097cbf3d7..a9cefd70a705 100644 --- a/drivers/vfio/mdev/mdev_private.h +++ b/drivers/vfio/mdev/mdev_private.h | |||
| @@ -16,10 +16,33 @@ | |||
| 16 | int mdev_bus_register(void); | 16 | int mdev_bus_register(void); |
| 17 | void mdev_bus_unregister(void); | 17 | void mdev_bus_unregister(void); |
| 18 | 18 | ||
| 19 | struct mdev_parent { | ||
| 20 | struct device *dev; | ||
| 21 | const struct mdev_parent_ops *ops; | ||
| 22 | struct kref ref; | ||
| 23 | struct mutex lock; | ||
| 24 | struct list_head next; | ||
| 25 | struct kset *mdev_types_kset; | ||
| 26 | struct list_head type_list; | ||
| 27 | }; | ||
| 28 | |||
| 29 | struct mdev_device { | ||
| 30 | struct device dev; | ||
| 31 | struct mdev_parent *parent; | ||
| 32 | uuid_le uuid; | ||
| 33 | void *driver_data; | ||
| 34 | struct kref ref; | ||
| 35 | struct list_head next; | ||
| 36 | struct kobject *type_kobj; | ||
| 37 | }; | ||
| 38 | |||
| 39 | #define to_mdev_device(dev) container_of(dev, struct mdev_device, dev) | ||
| 40 | #define dev_is_mdev(d) ((d)->bus == &mdev_bus_type) | ||
| 41 | |||
| 19 | struct mdev_type { | 42 | struct mdev_type { |
| 20 | struct kobject kobj; | 43 | struct kobject kobj; |
| 21 | struct kobject *devices_kobj; | 44 | struct kobject *devices_kobj; |
| 22 | struct parent_device *parent; | 45 | struct mdev_parent *parent; |
| 23 | struct list_head next; | 46 | struct list_head next; |
| 24 | struct attribute_group *group; | 47 | struct attribute_group *group; |
| 25 | }; | 48 | }; |
| @@ -29,8 +52,8 @@ struct mdev_type { | |||
| 29 | #define to_mdev_type(_kobj) \ | 52 | #define to_mdev_type(_kobj) \ |
| 30 | container_of(_kobj, struct mdev_type, kobj) | 53 | container_of(_kobj, struct mdev_type, kobj) |
| 31 | 54 | ||
| 32 | int parent_create_sysfs_files(struct parent_device *parent); | 55 | int parent_create_sysfs_files(struct mdev_parent *parent); |
| 33 | void parent_remove_sysfs_files(struct parent_device *parent); | 56 | void parent_remove_sysfs_files(struct mdev_parent *parent); |
| 34 | 57 | ||
| 35 | int mdev_create_sysfs_files(struct device *dev, struct mdev_type *type); | 58 | int mdev_create_sysfs_files(struct device *dev, struct mdev_type *type); |
| 36 | void mdev_remove_sysfs_files(struct device *dev, struct mdev_type *type); | 59 | void mdev_remove_sysfs_files(struct device *dev, struct mdev_type *type); |
