All of lore.kernel.org
 help / color / mirror / Atom feed
From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
To: Magnus Damm <magnus.damm@gmail.com>
Cc: SH-Linux <linux-sh@vger.kernel.org>,
	Linus Walleij <linus.walleij@linaro.org>,
	linux-gpio <linux-gpio@vger.kernel.org>,
	"Simon Horman [Horms]" <horms@verge.net.au>,
	Alexandre Courbot <gnurou@gmail.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Subject: Re: [PATCH] gpio: gpio-rcar: init at postcore level
Date: Mon, 24 Feb 2014 11:42:23 +0400	[thread overview]
Message-ID: <530AF7DF.1000004@cogentembedded.com> (raw)
In-Reply-To: <CANqRtoSu7HMCkqeefBFdMgEPvVZNDEK8k7=1OHp1wf5GRizBvA@mail.gmail.com>

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@cogentembedded.com>  wrote:
>> From: Vladimir Barinov<vladimir.barinov@cogentembedded.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@cogentembedded.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

WARNING: multiple messages have this Message-ID (diff)
From: Vladimir Barinov <vladimir.barinov@cogentembedded.com>
To: linux-sh@vger.kernel.org
Subject: Re: [PATCH] gpio: gpio-rcar: init at postcore level
Date: Mon, 24 Feb 2014 07:42:23 +0000	[thread overview]
Message-ID: <530AF7DF.1000004@cogentembedded.com> (raw)
In-Reply-To: <1393173467-12240-1-git-send-email-vladimir.barinov@cogentembedded.com>

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@cogentembedded.com>  wrote:
>> From: Vladimir Barinov<vladimir.barinov@cogentembedded.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@cogentembedded.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

  reply	other threads:[~2014-02-24  7:42 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-23 16:37 [PATCH] gpio: gpio-rcar: init at postcore level vladimir.barinov
2014-02-23 16:37 ` vladimir.barinov
2014-02-23 16:37 ` vladimir.barinov
2014-02-23 19:09 ` Ben Dooks
2014-02-23 19:09   ` Ben Dooks
2014-02-24  7:46   ` Vladimir Barinov
2014-02-24  7:46     ` Vladimir Barinov
2014-02-24  2:57 ` Magnus Damm
2014-02-24  2:57   ` Magnus Damm
2014-02-24  7:42   ` Vladimir Barinov [this message]
2014-02-24  7:42     ` Vladimir Barinov
2014-02-24  7:55     ` Magnus Damm
2014-02-24  7:55       ` Magnus Damm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=530AF7DF.1000004@cogentembedded.com \
    --to=vladimir.barinov@cogentembedded.com \
    --cc=gnurou@gmail.com \
    --cc=horms@verge.net.au \
    --cc=kuninori.morimoto.gx@renesas.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=magnus.damm@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.