diff options
author | Jan Beulich <JBeulich@suse.com> | 2011-12-22 04:08:13 -0500 |
---|---|---|
committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2012-01-04 17:01:17 -0500 |
commit | 73db144b58a32fc39733db6a7e1fe582072ad26a (patch) | |
tree | f03edee848be5aa085c30d493c02a5ee1b8fc3da /drivers/xen/xen-pciback | |
parent | 2e16341438c9eca15a2e0bb2ad8555bbdf24b86d (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.c | 13 |
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 | ||
710 | static const struct xenbus_device_id xenpci_ids[] = { | 710 | static const struct xenbus_device_id xen_pcibk_ids[] = { |
711 | {"pci"}, | 711 | {"pci"}, |
712 | {""}, | 712 | {""}, |
713 | }; | 713 | }; |
714 | 714 | ||
715 | static struct xenbus_driver xenbus_xen_pcibk_driver = { | 715 | static 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 | ||
724 | const struct xen_pcibk_backend *__read_mostly xen_pcibk_backend; | 721 | const 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 | ||
741 | void __exit xen_pcibk_xenbus_unregister(void) | 738 | void __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 | } |