mirror of
https://github.com/lkl/linux.git
synced 2025-12-19 16:13:19 +09:00
vfio/mdev: consolidate all the description sysfs into the core code
Every driver just emits a string, simply add a method to the mdev_driver to return it and provide a standard sysfs show function. Remove the now unused types_attrs field in struct mdev_driver and the support code for it. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Jason Gunthorpe <jgg@nvidia.com> Reviewed-by: Kevin Tian <kevin.tian@intel.com> Reviewed-by: Kirti Wankhede <kwankhede@nvidia.com> Link: https://lore.kernel.org/r/20220923092652.100656-14-hch@lst.de Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
committed by
Alex Williamson
parent
f2fbc72e6d
commit
685a1537f4
@@ -52,28 +52,13 @@ static inline struct mdev_device *to_mdev_device(struct device *dev)
|
||||
return container_of(dev, struct mdev_device, dev);
|
||||
}
|
||||
|
||||
/* interface for exporting mdev supported type attributes */
|
||||
struct mdev_type_attribute {
|
||||
struct attribute attr;
|
||||
ssize_t (*show)(struct mdev_type *mtype,
|
||||
struct mdev_type_attribute *attr, char *buf);
|
||||
ssize_t (*store)(struct mdev_type *mtype,
|
||||
struct mdev_type_attribute *attr, const char *buf,
|
||||
size_t count);
|
||||
};
|
||||
|
||||
#define MDEV_TYPE_ATTR_RO(_name) \
|
||||
struct mdev_type_attribute mdev_type_attr_##_name = __ATTR_RO(_name)
|
||||
#define MDEV_TYPE_ATTR_WO(_name) \
|
||||
struct mdev_type_attribute mdev_type_attr_##_name = __ATTR_WO(_name)
|
||||
|
||||
/**
|
||||
* struct mdev_driver - Mediated device driver
|
||||
* @device_api: string to return for the device_api sysfs
|
||||
* @probe: called when new device created
|
||||
* @remove: called when device removed
|
||||
* @get_available: Return the max number of instances that can be created
|
||||
* @types_attrs: attributes to the type kobjects.
|
||||
* @show_description: Print a description of the mtype
|
||||
* @driver: device driver structure
|
||||
**/
|
||||
struct mdev_driver {
|
||||
@@ -81,7 +66,7 @@ struct mdev_driver {
|
||||
int (*probe)(struct mdev_device *dev);
|
||||
void (*remove)(struct mdev_device *dev);
|
||||
unsigned int (*get_available)(struct mdev_type *mtype);
|
||||
const struct attribute * const *types_attrs;
|
||||
ssize_t (*show_description)(struct mdev_type *mtype, char *buf);
|
||||
struct device_driver driver;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user