diff options
3 files changed, 49 insertions, 59 deletions
diff --git a/target/linux/bcm53xx/patches-3.14/122-bcma-gpio-use-ChipCommon-GPIO-IRQ-on-BCM47XX-arch-on.patch b/target/linux/bcm53xx/patches-3.14/122-bcma-gpio-use-ChipCommon-GPIO-IRQ-on-BCM47XX-arch-on.patch deleted file mode 100644 index 4ea4b5ae64..0000000000 --- a/target/linux/bcm53xx/patches-3.14/122-bcma-gpio-use-ChipCommon-GPIO-IRQ-on-BCM47XX-arch-on.patch +++ /dev/null @@ -1,37 +0,0 @@ -From dfe45880e4ac50ebaa57e5f8a52b69e7e74cb7ca Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <zajec5@gmail.com> -Date: Sun, 21 Sep 2014 20:40:32 +0200 -Subject: [PATCH] bcma: gpio: use ChipCommon GPIO IRQ on BCM47XX arch only -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -GPIOs can be also used on bcm53xx, however this arch requires different -implementation of IRQ support. It uses different IRQ number (117) and -different masks & acking. - -Signed-off-by: Rafał Miłecki <zajec5@gmail.com> ---- - drivers/bcma/driver_gpio.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - ---- a/drivers/bcma/driver_gpio.c -+++ b/drivers/bcma/driver_gpio.c -@@ -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,7 +215,7 @@ 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 - switch (cc->core->bus->chipinfo.id) { diff --git a/target/linux/generic/patches-3.10/025-bcma_backport.patch b/target/linux/generic/patches-3.10/025-bcma_backport.patch index 922b140ea6..0ff3483314 100644 --- a/target/linux/generic/patches-3.10/025-bcma_backport.patch +++ b/target/linux/generic/patches-3.10/025-bcma_backport.patch @@ -378,7 +378,7 @@ 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); @@ -516,7 +516,7 @@ 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; - chip->ngpio = 16; +#endif @@ -1300,26 +1300,33 @@ } } return 0; -@@ -421,9 +440,6 @@ void bcma_init_bus(struct bcma_bus *bus) +@@ -420,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; - -@@ -435,8 +451,6 @@ void bcma_init_bus(struct bcma_bus *bus) +@@ -433,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) -@@ -446,8 +460,6 @@ int bcma_bus_scan(struct bcma_bus *bus) +@@ -446,8 +464,6 @@ int bcma_bus_scan(struct bcma_bus *bus) int err, core_num = 0; 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; |