diff options
author | Christoph Hellwig <hch@lst.de> | 2022-09-23 11:26:43 +0200 |
---|---|---|
committer | Alex Williamson <alex.williamson@redhat.com> | 2022-10-04 12:06:58 -0600 |
commit | da44c340c4fe9d9653ae84fa6a60f406bafcffce (patch) | |
tree | fad2fe1e48759c80799b5dc220d0b4a87c78a7a5 /drivers/vfio/mdev/mdev_driver.c | |
parent | 89345d5177aa0f6d678251e1e0870b0eeb1ab510 (diff) | |
download | linux-da44c340c4fe9d9653ae84fa6a60f406bafcffce.tar.gz linux-da44c340c4fe9d9653ae84fa6a60f406bafcffce.tar.bz2 linux-da44c340c4fe9d9653ae84fa6a60f406bafcffce.zip |
vfio/mdev: simplify mdev_type handling
Instead of abusing struct attribute_group to control initialization of
struct mdev_type, just define the actual attributes in the mdev_driver,
allocate the mdev_type structures in the caller and pass them to
mdev_register_parent.
This allows the caller to use container_of to get at the containing
structure and thus significantly simplify the code.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Tony Krowiak <akrowiak@linux.ibm.com>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Kirti Wankhede <kwankhede@nvidia.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Link: https://lore.kernel.org/r/20220923092652.100656-6-hch@lst.de
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'drivers/vfio/mdev/mdev_driver.c')
-rw-r--r-- | drivers/vfio/mdev/mdev_driver.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/vfio/mdev/mdev_driver.c b/drivers/vfio/mdev/mdev_driver.c index 7bd4bb9850e8..1da1ecf76a0d 100644 --- a/drivers/vfio/mdev/mdev_driver.c +++ b/drivers/vfio/mdev/mdev_driver.c @@ -56,10 +56,9 @@ EXPORT_SYMBOL_GPL(mdev_bus_type); **/ int mdev_register_driver(struct mdev_driver *drv) { - /* initialize common driver fields */ + if (!drv->types_attrs) + return -EINVAL; drv->driver.bus = &mdev_bus_type; - - /* register with core */ return driver_register(&drv->driver); } EXPORT_SYMBOL(mdev_register_driver); |