diff options
author | Jason Gunthorpe <jgg@nvidia.com> | 2021-04-06 16:40:27 -0300 |
---|---|---|
committer | Alex Williamson <alex.williamson@redhat.com> | 2021-04-07 15:39:16 -0600 |
commit | 91b9969d9c6bb7c02253bbfc536bfd892f636fdc (patch) | |
tree | db6bbb6639ffa0c14f8dae99463064417ea90d56 /drivers/vfio/mdev/vfio_mdev.c | |
parent | 2a3d15f270efa50d78d8a32d895e9d5396668f3a (diff) | |
download | linux-91b9969d9c6bb7c02253bbfc536bfd892f636fdc.tar.gz linux-91b9969d9c6bb7c02253bbfc536bfd892f636fdc.tar.bz2 linux-91b9969d9c6bb7c02253bbfc536bfd892f636fdc.zip |
vfio/mdev: Simplify driver registration
This is only done once, we don't need to generate code to initialize a
structure stored in the ELF .data segment. Fill in the three required
.driver members directly instead of copying data into them during
mdev_register_driver().
Further the to_mdev_driver() function doesn't belong in a public header,
just inline it into the two places that need it. Finally, we can now
clearly see that 'drv' derived from dev->driver cannot be NULL, firstly
because the driver core forbids it, and secondly because NULL won't pass
through the container_of(). Remove the dead code.
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Message-Id: <4-v2-d36939638fc6+d54-vfio2_jgg@nvidia.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'drivers/vfio/mdev/vfio_mdev.c')
-rw-r--r-- | drivers/vfio/mdev/vfio_mdev.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/vfio/mdev/vfio_mdev.c b/drivers/vfio/mdev/vfio_mdev.c index 91b7b8b9eb9c..cc9507ed85a1 100644 --- a/drivers/vfio/mdev/vfio_mdev.c +++ b/drivers/vfio/mdev/vfio_mdev.c @@ -152,14 +152,18 @@ static void vfio_mdev_remove(struct mdev_device *mdev) } static struct mdev_driver vfio_mdev_driver = { - .name = "vfio_mdev", + .driver = { + .name = "vfio_mdev", + .owner = THIS_MODULE, + .mod_name = KBUILD_MODNAME, + }, .probe = vfio_mdev_probe, .remove = vfio_mdev_remove, }; static int __init vfio_mdev_init(void) { - return mdev_register_driver(&vfio_mdev_driver, THIS_MODULE); + return mdev_register_driver(&vfio_mdev_driver); } static void __exit vfio_mdev_exit(void) |