Re: [PATCH 03/18] vfio/mdev: Simplify driver registration
From: Jason Gunthorpe <jgg@nvidia.com>
Date: 2021-03-26 12:11:38
Also in:
kvm
From: Jason Gunthorpe <jgg@nvidia.com>
Date: 2021-03-26 12:11:38
Also in:
kvm
On Tue, Mar 23, 2021 at 08:14:15PM +0100, Christoph Hellwig wrote:
quoted
static struct mdev_driver vfio_mdev_driver = { + .driver = { + .name = "vfio_mdev", + .owner = THIS_MODULE, + .mod_name = KBUILD_MODNAME, + },What is the mod_name initialization for?
It is usually hidden and works like this:
/* pci_register_driver() must be a macro so KBUILD_MODNAME can be expanded */
#define pci_register_driver(driver) \
__pci_register_driver(driver, THIS_MODULE, KBUILD_MODNAME)
int __pci_register_driver(struct pci_driver *drv, struct module *owner,
const char *mod_name)
{
drv->driver.owner = owner;
drv->driver.mod_name = mod_name;
I've not really seen that in anywere else, and the only user seems to be module_add_driver for a rather odd case we shouldn't hit here.
vfio_mdev could be compiled built in? AFAICT it handles the case where THIS_MODULE==NULL so we still need to create sysfs links to the built in module. If it is left NULL then a few sysfs files go missing for the built in mode but no harm done? I think it is correct to have it Thanks, Jason