[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <530AF7DF.1000004@cogentembedded.com>
Date: Mon, 24 Feb 2014 11:42:23 +0400
From: Vladimir Barinov <vladimir.barinov@...entembedded.com>
To: Magnus Damm <magnus.damm@...il.com>
CC: SH-Linux <linux-sh@...r.kernel.org>,
Linus Walleij <linus.walleij@...aro.org>,
linux-gpio <linux-gpio@...r.kernel.org>,
"Simon Horman [Horms]" <horms@...ge.net.au>,
Alexandre Courbot <gnurou@...il.com>,
linux-kernel <linux-kernel@...r.kernel.org>,
Kuninori Morimoto <kuninori.morimoto.gx@...esas.com>
Subject: Re: [PATCH] gpio: gpio-rcar: init at postcore level
Hi Magnus,
On 02/24/2014 06:57 AM, Magnus Damm wrote:
> Hi Vladimir,
>
> On Mon, Feb 24, 2014 at 1:37 AM,<vladimir.barinov@...entembedded.com> wrote:
>> From: Vladimir Barinov<vladimir.barinov@...entembedded.com>
>>
>> This adds ability to use gpio API at board init_machine level.
>>
>> F.e. it can be used in the following situation.
>> Many reference hardware has onboard switches that selects which periferals
>> to connect to the system. The gpio input state from switches can be used
>> in choosing platform devices runtime in board code instead of ifdefs/defconfig
>> changes.
>>
>> Signed-off-by:<vladimir.barinov@...entembedded.com>
>>
>> ---
>> drivers/gpio/gpio-rcar.c | 12 +++++++++++-
>> 1 file changed, 11 insertions(+), 1 deletion(-)
>>
>> Index: build/drivers/gpio/gpio-rcar.c
>> ===================================================================
>> --- build.orig/drivers/gpio/gpio-rcar.c 2014-02-22 23:21:51.456229152 +0400
>> +++ build/drivers/gpio/gpio-rcar.c 2014-02-22 23:21:52.320229133 +0400
>> @@ -485,7 +485,17 @@
>> }
>> };
>>
>> -module_platform_driver(gpio_rcar_device_driver);
>> +static int __init gpio_rcar_init(void)
>> +{
>> + return platform_driver_register(&gpio_rcar_device_driver);
>> +}
>> +postcore_initcall(gpio_rcar_init);
>> +
>> +static void __exit gpio_rcar_exit(void)
>> +{
>> + platform_driver_unregister(&gpio_rcar_device_driver);
>> +}
>> +module_exit(gpio_rcar_exit);
>>
>> MODULE_AUTHOR("Magnus Damm");
>> MODULE_DESCRIPTION("Renesas R-Car GPIO Driver");
> Hi Vladimir,
>
> Thanks for your help. Good to see that you are working on enabling the
> dual role USB port on Koelsch.
>
> Your current board code is checking some DIP switch value during boot,
> and that kind of early use of GPIO would require a change in the probe
> order like this patch implements. I do however believe that we should
> not implement checking during boot like this.
>
> If you for instance check the legacy Lager USBHS DIP switch code that
> runs during driver probe() then that can run can use GPIO without the
> need for a change like this. So your GPIO user code needs to be
> adjusted.
Yes, this is true for USBHS that has platform callbacks like
hardware_init/exit.
But this is not acceptable for other devices like EHCI PCI/PHY and others.
So we wouldn't be able to do such fixup for other cases.
>
> So this patch will receive a NAK from me I'm afraid.
>
>
Thank you for review.
Regards,
Vladimir
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists