Xen: consolidate and simplify struct xenbus_driver instantiation
The 'name', 'owner', and 'mod_name' members are redundant with the
identically named fields in the 'driver' sub-structure. Rather than
switching each instance to specify these fields explicitly, introduce
a macro to simplify this.
Eliminate further redundancy by allowing the drvname argument to
DEFINE_XENBUS_DRIVER() to be blank (in which case the first entry from
the ID table will be used for .driver.name).
Also eliminate the questionable xenbus_register_{back,front}end()
wrappers - their sole remaining purpose was the checking of the
'owner' field, proper setting of which shouldn't be an issue anymore
when the macro gets used.
v2: Restore DRV_NAME for the driver name in xen-pciback.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: Florian Tobias Schandinat <FlorianSchandinat@gmx.de>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: David S. Miller <davem@davemloft.net>
Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
This commit is contained in:
committed by
Konrad Rzeszutek Wilk
parent
2e16341438
commit
73db144b58
@@ -787,17 +787,14 @@ static const struct xenbus_device_id xen_blkbk_ids[] = {
|
||||
};
|
||||
|
||||
|
||||
static struct xenbus_driver xen_blkbk = {
|
||||
.name = "vbd",
|
||||
.owner = THIS_MODULE,
|
||||
.ids = xen_blkbk_ids,
|
||||
static DEFINE_XENBUS_DRIVER(xen_blkbk, ,
|
||||
.probe = xen_blkbk_probe,
|
||||
.remove = xen_blkbk_remove,
|
||||
.otherend_changed = frontend_changed
|
||||
};
|
||||
);
|
||||
|
||||
|
||||
int xen_blkif_xenbus_init(void)
|
||||
{
|
||||
return xenbus_register_backend(&xen_blkbk);
|
||||
return xenbus_register_backend(&xen_blkbk_driver);
|
||||
}
|
||||
|
||||
@@ -1437,16 +1437,13 @@ static const struct xenbus_device_id blkfront_ids[] = {
|
||||
{ "" }
|
||||
};
|
||||
|
||||
static struct xenbus_driver blkfront = {
|
||||
.name = "vbd",
|
||||
.owner = THIS_MODULE,
|
||||
.ids = blkfront_ids,
|
||||
static DEFINE_XENBUS_DRIVER(blkfront, ,
|
||||
.probe = blkfront_probe,
|
||||
.remove = blkfront_remove,
|
||||
.resume = blkfront_resume,
|
||||
.otherend_changed = blkback_changed,
|
||||
.is_ready = blkfront_is_ready,
|
||||
};
|
||||
);
|
||||
|
||||
static int __init xlblk_init(void)
|
||||
{
|
||||
@@ -1461,7 +1458,7 @@ static int __init xlblk_init(void)
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
ret = xenbus_register_frontend(&blkfront);
|
||||
ret = xenbus_register_frontend(&blkfront_driver);
|
||||
if (ret) {
|
||||
unregister_blkdev(XENVBD_MAJOR, DEV_NAME);
|
||||
return ret;
|
||||
@@ -1474,7 +1471,7 @@ module_init(xlblk_init);
|
||||
|
||||
static void __exit xlblk_exit(void)
|
||||
{
|
||||
return xenbus_unregister_driver(&blkfront);
|
||||
return xenbus_unregister_driver(&blkfront_driver);
|
||||
}
|
||||
module_exit(xlblk_exit);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user