powerpc+sparc/vio: Modernize driver registration
This makes vio_register_driver() get the module owner & name at compile time like PCI drivers do, and adds a name pointer directly in struct vio_driver to avoid having to explicitly initialize the embedded struct device. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Acked-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -1244,10 +1244,7 @@ static struct vio_driver ds_driver = {
|
||||
.id_table = ds_match,
|
||||
.probe = ds_probe,
|
||||
.remove = ds_remove,
|
||||
.driver = {
|
||||
.name = "ds",
|
||||
.owner = THIS_MODULE,
|
||||
}
|
||||
.name = "ds",
|
||||
};
|
||||
|
||||
static int __init ds_init(void)
|
||||
|
@@ -119,13 +119,17 @@ static struct bus_type vio_bus_type = {
|
||||
.remove = vio_device_remove,
|
||||
};
|
||||
|
||||
int vio_register_driver(struct vio_driver *viodrv)
|
||||
int __vio_register_driver(struct vio_driver *viodrv, struct module *owner,
|
||||
const char *mod_name)
|
||||
{
|
||||
viodrv->driver.bus = &vio_bus_type;
|
||||
viodrv->driver.name = viodrv->name;
|
||||
viodrv->driver.owner = owner;
|
||||
viodrv->driver.mod_name = mod_name;
|
||||
|
||||
return driver_register(&viodrv->driver);
|
||||
}
|
||||
EXPORT_SYMBOL(vio_register_driver);
|
||||
EXPORT_SYMBOL(__vio_register_driver);
|
||||
|
||||
void vio_unregister_driver(struct vio_driver *viodrv)
|
||||
{
|
||||
|
Reference in New Issue
Block a user