brcm47xx: add initial support for devices with bcma bus.
[openwrt/svn-archive/archive.git] / target / linux / brcm47xx / patches-3.0 / 0002-bcma-move-initializing-of-struct-bcma_bus-to-own-fun.patch
diff --git a/target/linux/brcm47xx/patches-3.0/0002-bcma-move-initializing-of-struct-bcma_bus-to-own-fun.patch b/target/linux/brcm47xx/patches-3.0/0002-bcma-move-initializing-of-struct-bcma_bus-to-own-fun.patch
new file mode 100644 (file)
index 0000000..8a2de51
--- /dev/null
@@ -0,0 +1,48 @@
+From dd6cbe9b9e2ae563659b34184f4cd9d905dc90d5 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Sat, 18 Jun 2011 11:55:47 +0200
+Subject: [PATCH 02/14] bcma: move initializing of struct bcma_bus to own function.
+
+This makes it possible to use this code in some other method.
+
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+---
+ drivers/bcma/scan.c |   17 +++++++++++------
+ 1 files changed, 11 insertions(+), 6 deletions(-)
+
+--- a/drivers/bcma/scan.c
++++ b/drivers/bcma/scan.c
+@@ -312,15 +312,10 @@ static int bcma_get_next_core(struct bcm
+       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;