|
@@ -312,15 +312,10 @@ static int bcma_get_next_core(struct bcma_bus *bus, u32 __iomem **eromptr,
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-int bcma_bus_scan(struct bcma_bus *bus)
|
|
|
+static void bcma_init_bus(struct bcma_bus *bus)
|
|
|
{
|
|
|
- u32 erombase;
|
|
|
- u32 __iomem *eromptr, *eromend;
|
|
|
-
|
|
|
s32 tmp;
|
|
|
|
|
|
- int err;
|
|
|
-
|
|
|
INIT_LIST_HEAD(&bus->cores);
|
|
|
bus->nr_cores = 0;
|
|
|
|
|
@@ -330,6 +325,16 @@ int bcma_bus_scan(struct bcma_bus *bus)
|
|
|
bus->chipinfo.id = (tmp & BCMA_CC_ID_ID) >> BCMA_CC_ID_ID_SHIFT;
|
|
|
bus->chipinfo.rev = (tmp & BCMA_CC_ID_REV) >> BCMA_CC_ID_REV_SHIFT;
|
|
|
bus->chipinfo.pkg = (tmp & BCMA_CC_ID_PKG) >> BCMA_CC_ID_PKG_SHIFT;
|
|
|
+}
|
|
|
+
|
|
|
+int bcma_bus_scan(struct bcma_bus *bus)
|
|
|
+{
|
|
|
+ u32 erombase;
|
|
|
+ u32 __iomem *eromptr, *eromend;
|
|
|
+
|
|
|
+ int err;
|
|
|
+
|
|
|
+ bcma_init_bus(bus);
|
|
|
|
|
|
erombase = bcma_scan_read32(bus, 0, BCMA_CC_EROM);
|
|
|
eromptr = bus->mmio;
|