Hi Jonas, Thank you for the review. On 07/13/2011 09:52 PM, Jonas Gorski wrote: > On 9 July 2011 13:06, Hauke Mehrtens <hauke@xxxxxxxxxx> wrote: >> 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@xxxxxxxxxx> >> --- >> arch/mips/bcm47xx/Kconfig | 13 ++++++ >> arch/mips/bcm47xx/gpio.c | 22 +++++++++++ >> arch/mips/bcm47xx/nvram.c | 10 +++++ >> arch/mips/bcm47xx/serial.c | 29 ++++++++++++++ >> arch/mips/bcm47xx/setup.c | 53 +++++++++++++++++++++++++- >> arch/mips/bcm47xx/time.c | 5 ++ >> arch/mips/include/asm/mach-bcm47xx/bcm47xx.h | 8 ++++ >> arch/mips/include/asm/mach-bcm47xx/gpio.h | 41 ++++++++++++++++++++ >> drivers/watchdog/bcm47xx_wdt.c | 11 +++++ >> 9 files changed, 190 insertions(+), 2 deletions(-) >> >> diff --git a/arch/mips/bcm47xx/Kconfig b/arch/mips/bcm47xx/Kconfig >> index 0346f92..6210b8d 100644 >> --- a/arch/mips/bcm47xx/Kconfig >> +++ b/arch/mips/bcm47xx/Kconfig >> @@ -15,4 +15,17 @@ config BCM47XX_SSB >> >> This will generate an image with support for SSB and MIPS32 R1 instruction set. >> >> +config BCM47XX_BCMA >> + bool "BCMA Support for Broadcom BCM47XX" >> + select SYS_HAS_CPU_MIPS32_R2 >> + select BCMA >> + select BCMA_HOST_SOC >> + select BCMA_DRIVER_MIPS >> + select BCMA_DRIVER_PCI_HOSTMODE if PCI >> + default y >> + help >> + Add support for new Broadcom BCM47xx boards with Broadcom specific Advanced Microcontroller Bus. >> + >> + This will generate an image with support for BCMA and MIPS32 R2 instruction set. >> + > > BCM47XX_SSB and BCM47XX_BCMA should either exclude each other, or > SYS_HAS_CPU_MIPS32_R2 should only be selected when BCM47XX_SSB isn't > selected. > I would expect an image built when having both selected to also > support both systems, but selecting MIPS32_R2 as the CPU this will > make it actually not work on SSB systems. It should be possible to build a kernel capable of running with both versions. I would change "select SYS_HAS_CPU_MIPS32_R2" to "select SYS_HAS_CPU_MIPS32_R2 if !BCM47XX_SSB" that should make the image mips r1 compatible if it was build for older cpus. > >> diff --git a/arch/mips/bcm47xx/gpio.c b/arch/mips/bcm47xx/gpio.c >> index 3320e91..9d5bafe 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 ((unsigned)gpio >= BCM47XX_CHIPCO_GPIO_LINES) > > gpio is already unsigned, you shouldn't need to cast it. Will do that. > >> + 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 ((unsigned)gpio >= BCM47XX_CHIPCO_GPIO_LINES) > > Ditto. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html