aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/xen/xen-pciback
diff options
context:
space:
mode:
authorJan Beulich <JBeulich@suse.com>2011-12-22 04:08:13 -0500
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2012-01-04 17:01:17 -0500
commit73db144b58a32fc39733db6a7e1fe582072ad26a (patch)
treef03edee848be5aa085c30d493c02a5ee1b8fc3da /drivers/xen/xen-pciback
parent2e16341438c9eca15a2e0bb2ad8555bbdf24b86d (diff)
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>
Diffstat (limited to 'drivers/xen/xen-pciback')
-rw-r--r--drivers/xen/xen-pciback/xenbus.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/drivers/xen/xen-pciback/xenbus.c b/drivers/xen/xen-pciback/xenbus.c
index 075525945e36..c80f9c84d08e 100644
--- a/drivers/xen/xen-pciback/xenbus.c
+++ b/drivers/xen/xen-pciback/xenbus.c
@@ -707,19 +707,16 @@ static int xen_pcibk_xenbus_remove(struct xenbus_device *dev)
707 return 0; 707 return 0;
708} 708}
709 709
710static const struct xenbus_device_id xenpci_ids[] = { 710static const struct xenbus_device_id xen_pcibk_ids[] = {
711 {"pci"}, 711 {"pci"},
712 {""}, 712 {""},
713}; 713};
714 714
715static struct xenbus_driver xenbus_xen_pcibk_driver = { 715static DEFINE_XENBUS_DRIVER(xen_pcibk, DRV_NAME,
716 .name = DRV_NAME,
717 .owner = THIS_MODULE,
718 .ids = xenpci_ids,
719 .probe = xen_pcibk_xenbus_probe, 716 .probe = xen_pcibk_xenbus_probe,
720 .remove = xen_pcibk_xenbus_remove, 717 .remove = xen_pcibk_xenbus_remove,
721 .otherend_changed = xen_pcibk_frontend_changed, 718 .otherend_changed = xen_pcibk_frontend_changed,
722}; 719);
723 720
724const struct xen_pcibk_backend *__read_mostly xen_pcibk_backend; 721const struct xen_pcibk_backend *__read_mostly xen_pcibk_backend;
725 722
@@ -735,11 +732,11 @@ int __init xen_pcibk_xenbus_register(void)
735 if (passthrough) 732 if (passthrough)
736 xen_pcibk_backend = &xen_pcibk_passthrough_backend; 733 xen_pcibk_backend = &xen_pcibk_passthrough_backend;
737 pr_info(DRV_NAME ": backend is %s\n", xen_pcibk_backend->name); 734 pr_info(DRV_NAME ": backend is %s\n", xen_pcibk_backend->name);
738 return xenbus_register_backend(&xenbus_xen_pcibk_driver); 735 return xenbus_register_backend(&xen_pcibk_driver);
739} 736}
740 737
741void __exit xen_pcibk_xenbus_unregister(void) 738void __exit xen_pcibk_xenbus_unregister(void)
742{ 739{
743 destroy_workqueue(xen_pcibk_wq); 740 destroy_workqueue(xen_pcibk_wq);
744 xenbus_unregister_driver(&xenbus_xen_pcibk_driver); 741 xenbus_unregister_driver(&xen_pcibk_driver);
745} 742}