On Sun, Jan 25, 2015 at 6:36 PM, Álvaro Fernández Rojas <nolt...@gmail.com> wrote:
I decided to not apply this and instead directly move the buttons/led to the dts files and remove them from the board_info structs, so there should be no conflict potential. > Signed-off-by: Álvaro Fernández Rojas <nolt...@gmail.com> > --- > diff --git a/target/linux/brcm63xx/patches-3.14/377-DT-GPIO-over-legacy.patch > b/target/linux/brcm63xx/patches-3.14/377-DT-GPIO-over-legacy.patch > new file mode 100644 > index 0000000..f56c8ca > --- /dev/null > +++ b/target/linux/brcm63xx/patches-3.14/377-DT-GPIO-over-legacy.patch > @@ -0,0 +1,43 @@ > +--- a/arch/mips/bcm63xx/boards/board_common.c > ++++ b/arch/mips/bcm63xx/boards/board_common.c > +@@ -204,6 +204,10 @@ int __init board_register_devices(void) > + } > + #endif > + > ++ if (!board_of_device_present("gpio0")) { > ++ bcm63xx_gpio_init(); > ++ } > ++ > + if (board.has_uart0) > + bcm63xx_uart_register(0); > + > +@@ -269,7 +273,7 @@ int __init board_register_devices(void) > + while (led_count < ARRAY_SIZE(board.leds) && > board.leds[led_count].name) > + led_count++; > + > +- if (led_count) { > ++ if (led_count && !board_of_device_present("gpio0")) { > + bcm63xx_led_data.num_leds = led_count; > + bcm63xx_led_data.leds = board.leds; > + > +@@ -284,7 +288,7 @@ int __init board_register_devices(void) > + while (button_count < ARRAY_SIZE(board.buttons) && > board.buttons[button_count].desc) > + button_count++; > + > +- if (button_count) { > ++ if (button_count && !board_of_device_present("gpio0")) { > + bcm63xx_gpio_keys_data.nbuttons = button_count; > + bcm63xx_gpio_keys_data.buttons = board.buttons; > + > +--- a/arch/mips/bcm63xx/prom.c > ++++ b/arch/mips/bcm63xx/prom.c > +@@ -54,9 +54,6 @@ void __init prom_init(void) > + reg &= ~mask; > + bcm_perf_writel(reg, PERF_CKCTL_REG); > + > +- /* register gpiochip */ > +- bcm63xx_gpio_init(); > +- > + /* detect and setup flash access */ > + bcm63xx_flash_detect(); > + > diff --git a/target/linux/brcm63xx/patches-3.18/375-DT-GPIO-over-legacy.patch > b/target/linux/brcm63xx/patches-3.18/375-DT-GPIO-over-legacy.patch > new file mode 100644 > index 0000000..f56c8ca > --- /dev/null > +++ b/target/linux/brcm63xx/patches-3.18/375-DT-GPIO-over-legacy.patch > @@ -0,0 +1,43 @@ > +--- a/arch/mips/bcm63xx/boards/board_common.c > ++++ b/arch/mips/bcm63xx/boards/board_common.c > +@@ -204,6 +204,10 @@ int __init board_register_devices(void) > + } > + #endif > + > ++ if (!board_of_device_present("gpio0")) { > ++ bcm63xx_gpio_init(); > ++ } > ++ > + if (board.has_uart0) > + bcm63xx_uart_register(0); > + > +@@ -269,7 +273,7 @@ int __init board_register_devices(void) > + while (led_count < ARRAY_SIZE(board.leds) && > board.leds[led_count].name) > + led_count++; > + > +- if (led_count) { > ++ if (led_count && !board_of_device_present("gpio0")) { > + bcm63xx_led_data.num_leds = led_count; > + bcm63xx_led_data.leds = board.leds; > + > +@@ -284,7 +288,7 @@ int __init board_register_devices(void) > + while (button_count < ARRAY_SIZE(board.buttons) && > board.buttons[button_count].desc) > + button_count++; > + > +- if (button_count) { > ++ if (button_count && !board_of_device_present("gpio0")) { > + bcm63xx_gpio_keys_data.nbuttons = button_count; > + bcm63xx_gpio_keys_data.buttons = board.buttons; > + > +--- a/arch/mips/bcm63xx/prom.c > ++++ b/arch/mips/bcm63xx/prom.c > +@@ -54,9 +54,6 @@ void __init prom_init(void) > + reg &= ~mask; > + bcm_perf_writel(reg, PERF_CKCTL_REG); > + > +- /* register gpiochip */ > +- bcm63xx_gpio_init(); > +- > + /* detect and setup flash access */ > + bcm63xx_flash_detect(); > + > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel