Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 73db144b authored by Jan Beulich's avatar Jan Beulich Committed by Konrad Rzeszutek Wilk
Browse files

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: default avatarJan 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: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
parent 2e163414
Loading
Loading
Loading
Loading
+3 −6
Original line number Diff line number Diff line
@@ -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);
}
+4 −7
Original line number Diff line number Diff line
@@ -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);

+2 −5
Original line number Diff line number Diff line
@@ -361,15 +361,12 @@ static const struct xenbus_device_id xenkbd_ids[] = {
	{ "" }
};

static struct xenbus_driver xenkbd_driver = {
	.name = "vkbd",
	.owner = THIS_MODULE,
	.ids = xenkbd_ids,
static DEFINE_XENBUS_DRIVER(xenkbd, ,
	.probe = xenkbd_probe,
	.remove = xenkbd_remove,
	.resume = xenkbd_resume,
	.otherend_changed = xenkbd_backend_changed,
};
);

static int __init xenkbd_init(void)
{
+3 −6
Original line number Diff line number Diff line
@@ -474,17 +474,14 @@ static const struct xenbus_device_id netback_ids[] = {
};


static struct xenbus_driver netback = {
	.name = "vif",
	.owner = THIS_MODULE,
	.ids = netback_ids,
static DEFINE_XENBUS_DRIVER(netback, ,
	.probe = netback_probe,
	.remove = netback_remove,
	.uevent = netback_uevent,
	.otherend_changed = frontend_changed,
};
);

int xenvif_xenbus_init(void)
{
	return xenbus_register_backend(&netback);
	return xenbus_register_backend(&netback_driver);
}
+3 −6
Original line number Diff line number Diff line
@@ -1910,7 +1910,7 @@ static void xennet_sysfs_delif(struct net_device *netdev)

#endif /* CONFIG_SYSFS */

static struct xenbus_device_id netfront_ids[] = {
static const struct xenbus_device_id netfront_ids[] = {
	{ "vif" },
	{ "" }
};
@@ -1937,15 +1937,12 @@ static int __devexit xennet_remove(struct xenbus_device *dev)
	return 0;
}

static struct xenbus_driver netfront_driver = {
	.name = "vif",
	.owner = THIS_MODULE,
	.ids = netfront_ids,
static DEFINE_XENBUS_DRIVER(netfront, ,
	.probe = netfront_probe,
	.remove = __devexit_p(xennet_remove),
	.resume = netfront_resume,
	.otherend_changed = netback_changed,
};
);

static int __init netif_init(void)
{
Loading