aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/vfio/mdev/mdev_private.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/vfio/mdev/mdev_private.h')
-rw-r--r--drivers/vfio/mdev/mdev_private.h29
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 @@
16int mdev_bus_register(void); 16int mdev_bus_register(void);
17void mdev_bus_unregister(void); 17void mdev_bus_unregister(void);
18 18
19struct 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
29struct 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
19struct mdev_type { 42struct 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
32int parent_create_sysfs_files(struct parent_device *parent); 55int parent_create_sysfs_files(struct mdev_parent *parent);
33void parent_remove_sysfs_files(struct parent_device *parent); 56void parent_remove_sysfs_files(struct mdev_parent *parent);
34 57
35int mdev_create_sysfs_files(struct device *dev, struct mdev_type *type); 58int mdev_create_sysfs_files(struct device *dev, struct mdev_type *type);
36void mdev_remove_sysfs_files(struct device *dev, struct mdev_type *type); 59void mdev_remove_sysfs_files(struct device *dev, struct mdev_type *type);