03540f04cc5d78251d7dc836b2ad9e58de8abab3
[openwrt/staging/mkresin.git] / target / linux / brcm47xx / patches-3.3 / 202-bcma-init-sprom-struct-earlier.patch
1 --- a/drivers/bcma/main.c
2 +++ b/drivers/bcma/main.c
3 @@ -165,6 +165,20 @@ int __devinit bcma_bus_register(struct b
4 return -1;
5 }
6
7 + /* Early init CC core */
8 + core = bcma_find_core(bus, bcma_cc_core_id(bus));
9 + if (core) {
10 + bus->drv_cc.core = core;
11 + bcma_core_chipcommon_early_init(&bus->drv_cc);
12 + }
13 +
14 + /* Try to get SPROM */
15 + err = bcma_sprom_get(bus);
16 + if (err == -ENOENT) {
17 + bcma_err(bus, "No SPROM available\n");
18 + } else if (err)
19 + bcma_err(bus, "Failed to get SPROM: %d\n", err);
20 +
21 /* Init CC core */
22 core = bcma_find_core(bus, bcma_cc_core_id(bus));
23 if (core) {
24 @@ -193,13 +207,6 @@ int __devinit bcma_bus_register(struct b
25 bcma_core_gmac_cmn_init(&bus->drv_gmac_cmn);
26 }
27
28 - /* Try to get SPROM */
29 - err = bcma_sprom_get(bus);
30 - if (err == -ENOENT) {
31 - bcma_err(bus, "No SPROM available\n");
32 - } else if (err)
33 - bcma_err(bus, "Failed to get SPROM: %d\n", err);
34 -
35 /* Register found cores */
36 bcma_register_cores(bus);
37