vfio/mdev: Simplify driver registration
authorJason Gunthorpe <jgg@nvidia.com>
Tue, 6 Apr 2021 19:40:27 +0000 (16:40 -0300)
committerAlex Williamson <alex.williamson@redhat.com>
Wed, 7 Apr 2021 21:39:16 +0000 (15:39 -0600)
commit91b9969d9c6bb7c02253bbfc536bfd892f636fdc
treedb6bbb6639ffa0c14f8dae99463064417ea90d56
parent2a3d15f270efa50d78d8a32d895e9d5396668f3a
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>
Documentation/driver-api/vfio-mediated-device.rst
drivers/vfio/mdev/mdev_driver.c
drivers/vfio/mdev/vfio_mdev.c
include/linux/mdev.h