kernel: update bcma to the tag master-2014-09-26 (wireless-next)
Signed-off-by: Rafał Miłecki <zajec5@gmail.com> SVN-Revision: 42672
This commit is contained in:
parent
16b3eae040
commit
8e525a43b4
@ -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) {
|
|
@ -378,7 +378,7 @@
|
|||||||
bcma_chipco_gpio_pullup(cc, 1 << gpio, 0);
|
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)
|
static int bcma_gpio_to_irq(struct gpio_chip *chip, unsigned gpio)
|
||||||
{
|
{
|
||||||
struct bcma_drv_cc *cc = bcma_gpio_get_cc(chip);
|
struct bcma_drv_cc *cc = bcma_gpio_get_cc(chip);
|
||||||
@ -516,7 +516,7 @@
|
|||||||
chip->set = bcma_gpio_set_value;
|
chip->set = bcma_gpio_set_value;
|
||||||
chip->direction_input = bcma_gpio_direction_input;
|
chip->direction_input = bcma_gpio_direction_input;
|
||||||
chip->direction_output = bcma_gpio_direction_output;
|
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->to_irq = bcma_gpio_to_irq;
|
||||||
- chip->ngpio = 16;
|
- chip->ngpio = 16;
|
||||||
+#endif
|
+#endif
|
||||||
@ -1300,26 +1300,33 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
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;
|
s32 tmp;
|
||||||
struct bcma_chipinfo *chipinfo = &(bus->chipinfo);
|
struct bcma_chipinfo *chipinfo = &(bus->chipinfo);
|
||||||
|
-
|
||||||
- if (bus->init_done)
|
- if (bus->init_done)
|
||||||
- return;
|
- return;
|
||||||
-
|
+ char chip_id[8];
|
||||||
|
|
||||||
INIT_LIST_HEAD(&bus->cores);
|
INIT_LIST_HEAD(&bus->cores);
|
||||||
bus->nr_cores = 0;
|
bus->nr_cores = 0;
|
||||||
|
@@ -433,10 +450,11 @@ void bcma_init_bus(struct bcma_bus *bus)
|
||||||
@@ -435,8 +451,6 @@ 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;
|
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",
|
- bcma_info(bus, "Found chip with id 0x%04X, rev 0x%02X and package 0x%02X\n",
|
||||||
chipinfo->id, chipinfo->rev, chipinfo->pkg);
|
- chipinfo->id, chipinfo->rev, chipinfo->pkg);
|
||||||
-
|
|
||||||
- bus->init_done = true;
|
- 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)
|
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;
|
int err, core_num = 0;
|
||||||
|
|
||||||
|
@ -24,8 +24,21 @@
|
|||||||
case BCMA_CHIP_ID_BCM43428:
|
case BCMA_CHIP_ID_BCM43428:
|
||||||
--- a/drivers/bcma/driver_gpio.c
|
--- a/drivers/bcma/driver_gpio.c
|
||||||
+++ b/drivers/bcma/driver_gpio.c
|
+++ b/drivers/bcma/driver_gpio.c
|
||||||
@@ -218,7 +218,15 @@ int bcma_gpio_init(struct bcma_drv_cc *c
|
@@ -76,7 +76,7 @@ static void bcma_gpio_free(struct gpio_c
|
||||||
#if IS_BUILTIN(CONFIG_BCMA_HOST_SOC)
|
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;
|
chip->to_irq = bcma_gpio_to_irq;
|
||||||
#endif
|
#endif
|
||||||
- chip->ngpio = 16;
|
- chip->ngpio = 16;
|
||||||
@ -807,26 +820,33 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
return 0;
|
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;
|
s32 tmp;
|
||||||
struct bcma_chipinfo *chipinfo = &(bus->chipinfo);
|
struct bcma_chipinfo *chipinfo = &(bus->chipinfo);
|
||||||
|
-
|
||||||
- if (bus->init_done)
|
- if (bus->init_done)
|
||||||
- return;
|
- return;
|
||||||
-
|
+ char chip_id[8];
|
||||||
|
|
||||||
INIT_LIST_HEAD(&bus->cores);
|
INIT_LIST_HEAD(&bus->cores);
|
||||||
bus->nr_cores = 0;
|
bus->nr_cores = 0;
|
||||||
|
@@ -447,10 +450,11 @@ void bcma_init_bus(struct bcma_bus *bus)
|
||||||
@@ -449,8 +451,6 @@ 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;
|
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",
|
- bcma_info(bus, "Found chip with id 0x%04X, rev 0x%02X and package 0x%02X\n",
|
||||||
chipinfo->id, chipinfo->rev, chipinfo->pkg);
|
- chipinfo->id, chipinfo->rev, chipinfo->pkg);
|
||||||
-
|
|
||||||
- bus->init_done = true;
|
- 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)
|
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;
|
int err, core_num = 0;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user