powerpc/macio: Fix probing of macio devices by using the right of match table

Grant patches added an of mach table to struct device_driver. However,
while he changed the macio device code to use that, he left the match
table pointer in struct macio_driver and didn't update drivers to use
the "new" one, thus breaking the probing.

This completes the change by moving all drivers to setup the "new"
one, removing all traces of the old one, and while at it (since it
changes the exact same locations), I also remove two other duplicates
from struct driver which are the name and owner fields.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>

+58 -34
-4
arch/powerpc/include/asm/macio.h
··· 123 123 */ 124 124 struct macio_driver 125 125 { 126 - char *name; 127 - struct of_device_id *match_table; 128 - struct module *owner; 129 - 130 126 int (*probe)(struct macio_dev* dev, const struct of_device_id *match); 131 127 int (*remove)(struct macio_dev* dev); 132 128
+5 -5
drivers/ata/pata_macio.c
··· 1355 1355 1356 1356 static struct macio_driver pata_macio_driver = 1357 1357 { 1358 - .name = "pata-macio", 1359 - .match_table = pata_macio_match, 1358 + .driver = { 1359 + .name = "pata-macio", 1360 + .owner = THIS_MODULE, 1361 + .of_match_table = pata_macio_match, 1362 + }, 1360 1363 .probe = pata_macio_attach, 1361 1364 .remove = pata_macio_detach, 1362 1365 #ifdef CONFIG_PM ··· 1369 1366 #ifdef CONFIG_PMAC_MEDIABAY 1370 1367 .mediabay_event = pata_macio_mb_event, 1371 1368 #endif 1372 - .driver = { 1373 - .owner = THIS_MODULE, 1374 - }, 1375 1369 }; 1376 1370 1377 1371 static const struct pci_device_id pata_macio_pci_match[] = {
+4 -2
drivers/block/swim3.c
··· 1159 1159 1160 1160 static struct macio_driver swim3_driver = 1161 1161 { 1162 - .name = "swim3", 1163 - .match_table = swim3_match, 1162 + .driver = { 1163 + .name = "swim3", 1164 + .of_match_table = swim3_match, 1165 + }, 1164 1166 .probe = swim3_attach, 1165 1167 #if 0 1166 1168 .suspend = swim3_suspend,
+5 -2
drivers/ide/pmac.c
··· 1400 1400 1401 1401 static struct macio_driver pmac_ide_macio_driver = 1402 1402 { 1403 - .name = "ide-pmac", 1404 - .match_table = pmac_ide_macio_match, 1403 + .driver = { 1404 + .name = "ide-pmac", 1405 + .owner = THIS_MODULE, 1406 + .of_match_table = pmac_ide_macio_match, 1407 + }, 1405 1408 .probe = pmac_ide_macio_attach, 1406 1409 .suspend = pmac_ide_macio_suspend, 1407 1410 .resume = pmac_ide_macio_resume,
-1
drivers/macintosh/macio_asic.c
··· 526 526 int macio_register_driver(struct macio_driver *drv) 527 527 { 528 528 /* initialize common driver fields */ 529 - drv->driver.name = drv->name; 530 529 drv->driver.bus = &macio_bus_type; 531 530 532 531 /* register with core */
+4 -2
drivers/macintosh/mediabay.c
··· 728 728 729 729 static struct macio_driver media_bay_driver = 730 730 { 731 - .name = "media-bay", 732 - .match_table = media_bay_match, 731 + .driver = { 732 + .name = "media-bay", 733 + .of_match_table = media_bay_match, 734 + }, 733 735 .probe = media_bay_attach, 734 736 .suspend = media_bay_suspend, 735 737 .resume = media_bay_resume
+5 -3
drivers/macintosh/rack-meter.c
··· 584 584 }; 585 585 586 586 static struct macio_driver rackmeter_driver = { 587 - .name = "rackmeter", 588 - .owner = THIS_MODULE, 589 - .match_table = rackmeter_match, 587 + .driver = { 588 + .name = "rackmeter", 589 + .owner = THIS_MODULE, 590 + .of_match_table = rackmeter_match, 591 + }, 590 592 .probe = rackmeter_probe, 591 593 .remove = __devexit_p(rackmeter_remove), 592 594 .shutdown = rackmeter_shutdown,
+5 -2
drivers/net/bmac.c
··· 1654 1654 1655 1655 static struct macio_driver bmac_driver = 1656 1656 { 1657 - .name = "bmac", 1658 - .match_table = bmac_match, 1657 + .driver = { 1658 + .name = "bmac", 1659 + .owner = THIS_MODULE, 1660 + .of_match_table = bmac_match, 1661 + }, 1659 1662 .probe = bmac_probe, 1660 1663 .remove = bmac_remove, 1661 1664 #ifdef CONFIG_PM
+5 -2
drivers/net/mace.c
··· 997 997 998 998 static struct macio_driver mace_driver = 999 999 { 1000 - .name = "mace", 1001 - .match_table = mace_match, 1000 + .driver = { 1001 + .name = "mace", 1002 + .owner = THIS_MODULE, 1003 + .of_match_table = mace_match, 1004 + }, 1002 1005 .probe = mace_probe, 1003 1006 .remove = mace_remove, 1004 1007 };
+5 -2
drivers/net/wireless/orinoco/airport.c
··· 239 239 MODULE_DEVICE_TABLE(of, airport_match); 240 240 241 241 static struct macio_driver airport_driver = { 242 - .name = DRIVER_NAME, 243 - .match_table = airport_match, 242 + .driver = { 243 + .name = DRIVER_NAME, 244 + .owner = THIS_MODULE, 245 + .of_match_table = airport_match, 246 + }, 244 247 .probe = airport_attach, 245 248 .remove = airport_detach, 246 249 .suspend = airport_suspend,
+5 -2
drivers/scsi/mac53c94.c
··· 542 542 543 543 static struct macio_driver mac53c94_driver = 544 544 { 545 - .name = "mac53c94", 546 - .match_table = mac53c94_match, 545 + .driver = { 546 + .name = "mac53c94", 547 + .owner = THIS_MODULE, 548 + .of_match_table = mac53c94_match, 549 + }, 547 550 .probe = mac53c94_probe, 548 551 .remove = mac53c94_remove, 549 552 };
+5 -2
drivers/scsi/mesh.c
··· 2036 2036 2037 2037 static struct macio_driver mesh_driver = 2038 2038 { 2039 - .name = "mesh", 2040 - .match_table = mesh_match, 2039 + .driver = { 2040 + .name = "mesh", 2041 + .owner = THIS_MODULE, 2042 + .of_match_table = mesh_match, 2043 + }, 2041 2044 .probe = mesh_probe, 2042 2045 .remove = mesh_remove, 2043 2046 .shutdown = mesh_shutdown,
+5 -2
drivers/serial/pmac_zilog.c
··· 2005 2005 MODULE_DEVICE_TABLE (of, pmz_match); 2006 2006 2007 2007 static struct macio_driver pmz_driver = { 2008 - .name = "pmac_zilog", 2009 - .match_table = pmz_match, 2008 + .driver = { 2009 + .name = "pmac_zilog", 2010 + .owner = THIS_MODULE, 2011 + .of_match_table = pmz_match, 2012 + }, 2010 2013 .probe = pmz_attach, 2011 2014 .remove = pmz_detach, 2012 2015 .suspend = pmz_suspend,
+5 -3
sound/aoa/soundbus/i2sbus/core.c
··· 437 437 } 438 438 439 439 static struct macio_driver i2sbus_drv = { 440 - .name = "soundbus-i2s", 441 - .owner = THIS_MODULE, 442 - .match_table = i2sbus_match, 440 + .driver = { 441 + .name = "soundbus-i2s", 442 + .owner = THIS_MODULE, 443 + .of_match_table = i2sbus_match, 444 + }, 443 445 .probe = i2sbus_probe, 444 446 .remove = i2sbus_remove, 445 447 #ifdef CONFIG_PM