diff options
-rw-r--r-- | drivers/bcma/host_pci.c | 3 | ||||
-rw-r--r-- | drivers/bcma/host_soc.c | 3 | ||||
-rw-r--r-- | drivers/bcma/main.c | 2 | ||||
-rw-r--r-- | drivers/bcma/scan.c | 7 | ||||
-rw-r--r-- | include/linux/bcma/bcma.h | 1 |
5 files changed, 6 insertions, 10 deletions
diff --git a/drivers/bcma/host_pci.c b/drivers/bcma/host_pci.c index f032ed6dd459..1e5ac0a79696 100644 --- a/drivers/bcma/host_pci.c +++ b/drivers/bcma/host_pci.c | |||
@@ -208,6 +208,9 @@ static int bcma_host_pci_probe(struct pci_dev *dev, | |||
208 | bus->boardinfo.vendor = bus->host_pci->subsystem_vendor; | 208 | bus->boardinfo.vendor = bus->host_pci->subsystem_vendor; |
209 | bus->boardinfo.type = bus->host_pci->subsystem_device; | 209 | bus->boardinfo.type = bus->host_pci->subsystem_device; |
210 | 210 | ||
211 | /* Initialize struct, detect chip */ | ||
212 | bcma_init_bus(bus); | ||
213 | |||
211 | /* Register */ | 214 | /* Register */ |
212 | err = bcma_bus_register(bus); | 215 | err = bcma_bus_register(bus); |
213 | if (err) | 216 | if (err) |
diff --git a/drivers/bcma/host_soc.c b/drivers/bcma/host_soc.c index 1edd7e064621..379e0d4ebe72 100644 --- a/drivers/bcma/host_soc.c +++ b/drivers/bcma/host_soc.c | |||
@@ -178,6 +178,9 @@ int __init bcma_host_soc_register(struct bcma_soc *soc) | |||
178 | bus->hosttype = BCMA_HOSTTYPE_SOC; | 178 | bus->hosttype = BCMA_HOSTTYPE_SOC; |
179 | bus->ops = &bcma_host_soc_ops; | 179 | bus->ops = &bcma_host_soc_ops; |
180 | 180 | ||
181 | /* Initialize struct, detect chip */ | ||
182 | bcma_init_bus(bus); | ||
183 | |||
181 | /* Register */ | 184 | /* Register */ |
182 | err = bcma_bus_early_register(bus, &soc->core_cc, &soc->core_mips); | 185 | err = bcma_bus_early_register(bus, &soc->core_cc, &soc->core_mips); |
183 | if (err) | 186 | if (err) |
diff --git a/drivers/bcma/main.c b/drivers/bcma/main.c index 0ff8d58831ef..9f6b0cb9a12c 100644 --- a/drivers/bcma/main.c +++ b/drivers/bcma/main.c | |||
@@ -334,8 +334,6 @@ int __init bcma_bus_early_register(struct bcma_bus *bus, | |||
334 | struct bcma_device *core; | 334 | struct bcma_device *core; |
335 | struct bcma_device_id match; | 335 | struct bcma_device_id match; |
336 | 336 | ||
337 | bcma_init_bus(bus); | ||
338 | |||
339 | match.manuf = BCMA_MANUF_BCM; | 337 | match.manuf = BCMA_MANUF_BCM; |
340 | match.id = bcma_cc_core_id(bus); | 338 | match.id = bcma_cc_core_id(bus); |
341 | match.class = BCMA_CL_SIM; | 339 | match.class = BCMA_CL_SIM; |
diff --git a/drivers/bcma/scan.c b/drivers/bcma/scan.c index e9bd77249a4c..e2b990303042 100644 --- a/drivers/bcma/scan.c +++ b/drivers/bcma/scan.c | |||
@@ -438,9 +438,6 @@ void bcma_init_bus(struct bcma_bus *bus) | |||
438 | s32 tmp; | 438 | s32 tmp; |
439 | struct bcma_chipinfo *chipinfo = &(bus->chipinfo); | 439 | struct bcma_chipinfo *chipinfo = &(bus->chipinfo); |
440 | 440 | ||
441 | if (bus->init_done) | ||
442 | return; | ||
443 | |||
444 | INIT_LIST_HEAD(&bus->cores); | 441 | INIT_LIST_HEAD(&bus->cores); |
445 | bus->nr_cores = 0; | 442 | bus->nr_cores = 0; |
446 | 443 | ||
@@ -452,8 +449,6 @@ void bcma_init_bus(struct bcma_bus *bus) | |||
452 | chipinfo->pkg = (tmp & BCMA_CC_ID_PKG) >> BCMA_CC_ID_PKG_SHIFT; | 449 | chipinfo->pkg = (tmp & BCMA_CC_ID_PKG) >> BCMA_CC_ID_PKG_SHIFT; |
453 | bcma_info(bus, "Found chip with id 0x%04X, rev 0x%02X and package 0x%02X\n", | 450 | bcma_info(bus, "Found chip with id 0x%04X, rev 0x%02X and package 0x%02X\n", |
454 | chipinfo->id, chipinfo->rev, chipinfo->pkg); | 451 | chipinfo->id, chipinfo->rev, chipinfo->pkg); |
455 | |||
456 | bus->init_done = true; | ||
457 | } | 452 | } |
458 | 453 | ||
459 | int bcma_bus_scan(struct bcma_bus *bus) | 454 | int bcma_bus_scan(struct bcma_bus *bus) |
@@ -463,8 +458,6 @@ int bcma_bus_scan(struct bcma_bus *bus) | |||
463 | 458 | ||
464 | int err, core_num = 0; | 459 | int err, core_num = 0; |
465 | 460 | ||
466 | bcma_init_bus(bus); | ||
467 | |||
468 | erombase = bcma_scan_read32(bus, 0, BCMA_CC_EROM); | 461 | erombase = bcma_scan_read32(bus, 0, BCMA_CC_EROM); |
469 | if (bus->hosttype == BCMA_HOSTTYPE_SOC) { | 462 | if (bus->hosttype == BCMA_HOSTTYPE_SOC) { |
470 | eromptr = ioremap_nocache(erombase, BCMA_CORE_SIZE); | 463 | eromptr = ioremap_nocache(erombase, BCMA_CORE_SIZE); |
diff --git a/include/linux/bcma/bcma.h b/include/linux/bcma/bcma.h index 0272e49135d0..c1ba87d1548e 100644 --- a/include/linux/bcma/bcma.h +++ b/include/linux/bcma/bcma.h | |||
@@ -332,7 +332,6 @@ struct bcma_bus { | |||
332 | struct bcma_device *mapped_core; | 332 | struct bcma_device *mapped_core; |
333 | struct list_head cores; | 333 | struct list_head cores; |
334 | u8 nr_cores; | 334 | u8 nr_cores; |
335 | u8 init_done:1; | ||
336 | u8 num; | 335 | u8 num; |
337 | 336 | ||
338 | struct bcma_drv_cc drv_cc; | 337 | struct bcma_drv_cc drv_cc; |