diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2011-07-23 01:20:14 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-08-08 14:29:32 -0400 |
commit | c1d1c5d4213ee96e054c4d195117368972a4c01f (patch) | |
tree | 4ce75f49f1b46835ab613bd85084b9ce863c5853 /arch/mips/bcm47xx/gpio.c | |
parent | a656ffcbc7a98a80d2136ae6bbdd8ae2eb48c78a (diff) | |
download | kernel_goldelico_gta04-c1d1c5d4213ee96e054c4d195117368972a4c01f.zip kernel_goldelico_gta04-c1d1c5d4213ee96e054c4d195117368972a4c01f.tar.gz kernel_goldelico_gta04-c1d1c5d4213ee96e054c4d195117368972a4c01f.tar.bz2 |
bcm47xx: add support for bcma bus
This patch add support for the bcma bus. Broadcom uses only Mips 74K
CPUs on the new SoC and on the old ons using ssb bus there are no Mips
74K CPUs.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'arch/mips/bcm47xx/gpio.c')
-rw-r--r-- | arch/mips/bcm47xx/gpio.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/arch/mips/bcm47xx/gpio.c b/arch/mips/bcm47xx/gpio.c index 2b804c367..57b425f 100644 --- a/arch/mips/bcm47xx/gpio.c +++ b/arch/mips/bcm47xx/gpio.c @@ -36,6 +36,16 @@ int gpio_request(unsigned gpio, const char *tag) return 0; #endif +#ifdef CONFIG_BCM47XX_BCMA + case BCM47XX_BUS_TYPE_BCMA: + if (gpio >= BCM47XX_CHIPCO_GPIO_LINES) + return -EINVAL; + + if (test_and_set_bit(gpio, gpio_in_use)) + return -EBUSY; + + return 0; +#endif } return -EINVAL; } @@ -57,6 +67,14 @@ void gpio_free(unsigned gpio) clear_bit(gpio, gpio_in_use); return; #endif +#ifdef CONFIG_BCM47XX_BCMA + case BCM47XX_BUS_TYPE_BCMA: + if (gpio >= BCM47XX_CHIPCO_GPIO_LINES) + return; + + clear_bit(gpio, gpio_in_use); + return; +#endif } } EXPORT_SYMBOL(gpio_free); @@ -73,6 +91,10 @@ int gpio_to_irq(unsigned gpio) else return -EINVAL; #endif +#ifdef CONFIG_BCM47XX_BCMA + case BCM47XX_BUS_TYPE_BCMA: + return bcma_core_mips_irq(bcm47xx_bus.bcma.bus.drv_cc.core) + 2; +#endif } return -EINVAL; } |