[OpenWrt-Devel] [PATCH 2/3] brcm63xx: use bcm6345-gpio over legacy
Jonas Gorski
jogo at openwrt.org
Fri Dec 12 09:17:05 EST 2014
On Thu, Dec 11, 2014 at 12:52 AM, Álvaro Fernández Rojas
<noltari at gmail.com> wrote:
> Signed-off-by: Álvaro Fernández Rojas <noltari at gmail.com>
> ---
> diff --git a/target/linux/brcm63xx/patches-3.14/375-GPIO-DT-over-legacy.patch b/target/linux/brcm63xx/patches-3.14/375-GPIO-DT-over-legacy.patch
> new file mode 100644
> index 0000000..9c4f6ec
> --- /dev/null
> +++ b/target/linux/brcm63xx/patches-3.14/375-GPIO-DT-over-legacy.patch
> @@ -0,0 +1,93 @@
> +--- a/arch/mips/bcm63xx/boards/board_common.c
> ++++ b/arch/mips/bcm63xx/boards/board_common.c
> +@@ -191,8 +191,6 @@ static struct of_device_id of_ids[] = {
> + */
> + int __init board_register_devices(void)
> + {
> +- int button_count = 0;
> +- int led_count = 0;
> + int usbh_ports = 0;
> +
> + #if CONFIG_OF
> +@@ -204,6 +202,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);
> +
> +@@ -265,30 +267,35 @@ int __init board_register_devices(void)
> +
> + bcm63xx_flash_register();
> +
> +- /* count number of LEDs defined by this device */
> +- while (led_count < ARRAY_SIZE(board.leds) && board.leds[led_count].name)
> +- led_count++;
> +-
> +- if (led_count) {
> +- bcm63xx_led_data.num_leds = led_count;
> +- bcm63xx_led_data.leds = board.leds;
> +-
> +- platform_device_register(&bcm63xx_gpio_leds);
> +- }
> +-
> +- if (board.ephy_reset_gpio && board.ephy_reset_gpio_flags)
> +- gpio_request_one(board.ephy_reset_gpio,
> +- board.ephy_reset_gpio_flags, "ephy-reset");
> +-
> +- /* count number of BUTTONs defined by this device */
> +- while (button_count < ARRAY_SIZE(board.buttons) && board.buttons[button_count].desc)
> +- button_count++;
> +-
> +- if (button_count) {
> +- bcm63xx_gpio_keys_data.nbuttons = button_count;
> +- bcm63xx_gpio_keys_data.buttons = board.buttons;
To keep the changes minimal, how about just
- if (button_count) {
+ if (button_count && !board_of_device_present("gpio0")) {
Same for the leds.
Jonas
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list