aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/generic/patches-3.14/025-bcma_backport.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-3.14/025-bcma_backport.patch')
-rw-r--r--target/linux/generic/patches-3.14/025-bcma_backport.patch42
1 files changed, 31 insertions, 11 deletions
diff --git a/target/linux/generic/patches-3.14/025-bcma_backport.patch b/target/linux/generic/patches-3.14/025-bcma_backport.patch
index d5ed75f909..1bb026c1e7 100644
--- a/target/linux/generic/patches-3.14/025-bcma_backport.patch
+++ b/target/linux/generic/patches-3.14/025-bcma_backport.patch
@@ -24,8 +24,21 @@
case BCMA_CHIP_ID_BCM43428:
--- a/drivers/bcma/driver_gpio.c
+++ b/drivers/bcma/driver_gpio.c
-@@ -218,7 +218,15 @@ int bcma_gpio_init(struct bcma_drv_cc *c
- #if IS_BUILTIN(CONFIG_BCMA_HOST_SOC)
+@@ -76,7 +76,7 @@ static void bcma_gpio_free(struct gpio_c
+ bcma_chipco_gpio_pullup(cc, 1 << gpio, 0);
+ }
+
+-#if IS_BUILTIN(CONFIG_BCMA_HOST_SOC)
++#if IS_BUILTIN(CONFIG_BCM47XX)
+ static int bcma_gpio_to_irq(struct gpio_chip *chip, unsigned gpio)
+ {
+ struct bcma_drv_cc *cc = bcma_gpio_get_cc(chip);
+@@ -215,10 +215,18 @@ int bcma_gpio_init(struct bcma_drv_cc *c
+ chip->set = bcma_gpio_set_value;
+ chip->direction_input = bcma_gpio_direction_input;
+ chip->direction_output = bcma_gpio_direction_output;
+-#if IS_BUILTIN(CONFIG_BCMA_HOST_SOC)
++#if IS_BUILTIN(CONFIG_BCM47XX)
chip->to_irq = bcma_gpio_to_irq;
#endif
- chip->ngpio = 16;
@@ -807,26 +820,33 @@
}
}
return 0;
-@@ -435,9 +440,6 @@ void bcma_init_bus(struct bcma_bus *bus)
+@@ -434,9 +439,7 @@ void bcma_init_bus(struct bcma_bus *bus)
+ {
s32 tmp;
struct bcma_chipinfo *chipinfo = &(bus->chipinfo);
-
+-
- if (bus->init_done)
- return;
--
++ char chip_id[8];
+
INIT_LIST_HEAD(&bus->cores);
bus->nr_cores = 0;
-
-@@ -449,8 +451,6 @@ void bcma_init_bus(struct bcma_bus *bus)
+@@ -447,10 +450,11 @@ void bcma_init_bus(struct bcma_bus *bus)
+ chipinfo->id = (tmp & BCMA_CC_ID_ID) >> BCMA_CC_ID_ID_SHIFT;
+ chipinfo->rev = (tmp & BCMA_CC_ID_REV) >> BCMA_CC_ID_REV_SHIFT;
chipinfo->pkg = (tmp & BCMA_CC_ID_PKG) >> BCMA_CC_ID_PKG_SHIFT;
- bcma_info(bus, "Found chip with id 0x%04X, rev 0x%02X and package 0x%02X\n",
- chipinfo->id, chipinfo->rev, chipinfo->pkg);
--
+- bcma_info(bus, "Found chip with id 0x%04X, rev 0x%02X and package 0x%02X\n",
+- chipinfo->id, chipinfo->rev, chipinfo->pkg);
+
- bus->init_done = true;
++ snprintf(chip_id, ARRAY_SIZE(chip_id),
++ (chipinfo->id > 0x9999) ? "%d" : "0x%04X", chipinfo->id);
++ bcma_info(bus, "Found chip with id %s, rev 0x%02X and package 0x%02X\n",
++ chip_id, chipinfo->rev, chipinfo->pkg);
}
int bcma_bus_scan(struct bcma_bus *bus)
-@@ -460,8 +460,6 @@ int bcma_bus_scan(struct bcma_bus *bus)
+@@ -460,8 +464,6 @@ int bcma_bus_scan(struct bcma_bus *bus)
int err, core_num = 0;