Subject: [PATCH] gpio: Device tree support for LPC32xx

From: [email-masked] (Roland Stigge)
Date: Wed, 04 Apr 2012 01:39:37 +0200

Hi Grant,

thanks for your notes!

On 03/04/12 17:04, Grant Likely wrote:
>> +postcore_initcall(lpc32xx_gpio_init);
> 
> module_platform_driver() please.  Also, now that deferred probe is
> merged, there should no longer be any need to mess around with
> initcall levels to get gpio drivers probed early.

With module_platform_driver(), I get a new error reported after this
change, coming much earlier before the GPIO registration (which is
deferred now, of course):

===============================================================
Error requesting gpio 50
...
gpiochip_add: registered GPIOs 0 to 7 on device: gpio_p0
gpiochip_add: registered GPIOs 8 to 31 on device: gpio_p1
gpiochip_add: registered GPIOs 32 to 44 on device: gpio_p2
gpiochip_add: registered GPIOs 45 to 50 on device: gpio_p3
gpiochip_add: registered GPIOs 51 to 78 on device: gpi_p3
gpiochip_add: registered GPIOs 79 to 102 on device: gpo_p3
===============================================================

Seems to be caused by this device tree:

        leds {
                compatible = "gpio-leds";
                led0 {  
                        gpios = <&gpo_p3 1 1>; /* GPO_P3 1, GPIO 80, active low */
                        linux,default-trigger = "heartbeat";
                        default-state = "keep";
                };
        };

Are you sure that module_platform_driver() can already handle
this in v3.4-rc1?

Thanks in advance,

Roland