mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
vfio/mdev: Allow the mdev_parent_ops to specify the device driver to bind
This allows a mdev driver to opt out of using vfio_mdev.c, instead the driver will provide a 'struct mdev_driver' and register directly with the driver core. Much of mdev_parent_ops becomes unused in this mode: - create()/remove() are done via the mdev_driver probe()/remove() - mdev_attr_groups becomes mdev_driver driver.dev_groups - Wrapper function callbacks are replaced with the same ones from struct vfio_device_ops Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: Cornelia Huck <cohuck@redhat.com> Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Reviewed-by: Kirti Wankhede <kwankhede@nvidia.com> Link: https://lore.kernel.org/r/20210617142218.1877096-8-hch@lst.de Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
This commit is contained in:
committed by
Alex Williamson
parent
af3ab3f9b9
commit
88a21f265c
@@ -71,10 +71,20 @@ static int mdev_remove(struct device *dev)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int mdev_match(struct device *dev, struct device_driver *drv)
|
||||
{
|
||||
/*
|
||||
* No drivers automatically match. Drivers are only bound by explicit
|
||||
* device_driver_attach()
|
||||
*/
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct bus_type mdev_bus_type = {
|
||||
.name = "mdev",
|
||||
.probe = mdev_probe,
|
||||
.remove = mdev_remove,
|
||||
.match = mdev_match,
|
||||
};
|
||||
EXPORT_SYMBOL_GPL(mdev_bus_type);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user