[PATCH v6 6/8] pinctrl: cygnus: add gpio/pinconf driver
Ray Jui
rjui at broadcom.com
Tue Mar 10 10:57:00 PDT 2015
Hi Linus,
On 3/10/2015 3:20 AM, Linus Walleij wrote:
> On Mon, Mar 9, 2015 at 9:45 PM, Ray Jui <rjui at broadcom.com> wrote:
>
>> This adds the initial support of the Broadcom Cygnus GPIO/PINCONF driver
>> that supports all 3 GPIO controllers on Cygnus including the ASIU GPIO
>> controller, the chipCommonG GPIO controller, and the always-on GPIO
>> controller. Basic PINCONF configurations such as bias pull up/down, and
>> drive strength are also supported in this driver.
>>
>> Pins from the ASIU GPIO controller can be individually muxed to GPIO
>> function, through interaction with the Cygnus IOMUX controller
>>
>> Signed-off-by: Ray Jui <rjui at broadcom.com>
>> Reviewed-by: Scott Branden <sbranden at broadcom.com>
>> Tested-by: Dmitry Torokhov <dtor at chromium.org>
>
> Patch applied! But please look at this:
>
>> +#include <linux/gpio.h>
>
> Doesn't just #include <linux/gpio/driver.h> work?
>
I think I need linux/gpio.h for gpiochip_add_pin_range and some related
APIs.
>> +static int __init cygnus_gpio_init(void)
>> +{
>> + return platform_driver_probe(&cygnus_gpio_driver, cygnus_gpio_probe);
>> +}
>> +arch_initcall_sync(cygnus_gpio_init);
>
> arch_initcall_sync() is a bit brutal.
>
> Can you please investigate if you can have this as a normal device_initcall()
> utilizing deferred probe if necessary?
>
> Follow-up patches accepted!
>
I understand. Further investigation is needed and this may take a while,
since a lot of our Cygnus drivers depend on GPIO and regulators (and all
need to be converted to check against deferred probe errors). If
possible, I'll definitely fix this.
> Yours,
> Linus Walleij
>
More information about the linux-arm-kernel
mailing list