Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] EISA: tidy-up driver_register() return value

Remove the assumption that driver_register() returns the number of devices
bound to the driver. In fact, it returns zero for success or a negative
error value.

Signed-off-by: Bjorn Helgaas <bjorn.helgaas@hp.com>
Acked-by: Jeff Garzik <jgarzik@pobox.com>
Acked-by: Marc Zyngier <maz@misterjones.org>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>

authored by

Bjorn Helgaas and committed by
Linus Torvalds
c2f6fabb e51c01b0

+20 -21
+1 -6
drivers/eisa/eisa-bus.c
··· 135 135 136 136 int eisa_driver_register (struct eisa_driver *edrv) 137 137 { 138 - int r; 139 - 140 138 edrv->driver.bus = &eisa_bus_type; 141 - if ((r = driver_register (&edrv->driver)) < 0) 142 - return r; 143 - 144 - return 0; 139 + return driver_register (&edrv->driver); 145 140 } 146 141 147 142 void eisa_driver_unregister (struct eisa_driver *edrv)
+12 -8
drivers/net/3c59x.c
··· 1096 1096 int orig_cards_found = vortex_cards_found; 1097 1097 1098 1098 #ifdef CONFIG_EISA 1099 - if (eisa_driver_register (&vortex_eisa_driver) >= 0) { 1100 - /* Because of the way EISA bus is probed, we cannot assume 1101 - * any device have been found when we exit from 1102 - * eisa_driver_register (the bus root driver may not be 1103 - * initialized yet). So we blindly assume something was 1104 - * found, and let the sysfs magic happend... */ 1105 - 1106 - eisa_found = 1; 1099 + int err; 1100 + 1101 + err = eisa_driver_register (&vortex_eisa_driver); 1102 + if (!err) { 1103 + /* 1104 + * Because of the way EISA bus is probed, we cannot assume 1105 + * any device have been found when we exit from 1106 + * eisa_driver_register (the bus root driver may not be 1107 + * initialized yet). So we blindly assume something was 1108 + * found, and let the sysfs magic happend... 1109 + */ 1110 + eisa_found = 1; 1107 1111 } 1108 1112 #endif 1109 1113
+7 -7
drivers/net/dgrs.c
··· 1551 1551 static int __init dgrs_init_module (void) 1552 1552 { 1553 1553 int i; 1554 - int cardcount = 0; 1554 + int err; 1555 1555 1556 1556 /* 1557 1557 * Command line variable overrides ··· 1593 1593 * Find and configure all the cards 1594 1594 */ 1595 1595 #ifdef CONFIG_EISA 1596 - cardcount = eisa_driver_register(&dgrs_eisa_driver); 1597 - if (cardcount < 0) 1598 - return cardcount; 1596 + err = eisa_driver_register(&dgrs_eisa_driver); 1597 + if (err) 1598 + return err; 1599 1599 #endif 1600 - cardcount = pci_register_driver(&dgrs_pci_driver); 1601 - if (cardcount) 1602 - return cardcount; 1600 + err = pci_register_driver(&dgrs_pci_driver); 1601 + if (err) 1602 + return err; 1603 1603 return 0; 1604 1604 } 1605 1605