[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAMz4ku+J7RwkthJn9TbYCuVYWnUyD8sCLs892G_SO=vWxr2ddA@mail.gmail.com>
Date: Thu, 1 Feb 2018 20:26:59 +0800
From: Baolin Wang <baolin.wang@...aro.org>
To: Marcus Folkesson <marcus.folkesson@...il.com>
Cc: Andy Shevchenko <andy.shevchenko@...il.com>,
Linus Walleij <linus.walleij@...aro.org>,
Rob Herring <robh+dt@...nel.org>,
Mark Rutland <mark.rutland@....com>,
devicetree <devicetree@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
"open list:GPIO SUBSYSTEM" <linux-gpio@...r.kernel.org>,
Mark Brown <broonie@...nel.org>
Subject: Re: [PATCH 2/2] gpio: Add GPIO driver for Spreadtrum SC9860 platform
On 1 February 2018 at 20:22, Marcus Folkesson
<marcus.folkesson@...il.com> wrote:
> On Thu, Feb 01, 2018 at 11:08:46AM +0800, Baolin Wang wrote:
>> On 31 January 2018 at 22:23, Andy Shevchenko <andy.shevchenko@...il.com> wrote:
>> > On Wed, Jan 31, 2018 at 4:01 AM, Baolin Wang <baolin.wang@...aro.org> wrote:
>> >> On 31 January 2018 at 00:48, Andy Shevchenko <andy.shevchenko@...il.com> wrote:
>> >>> On Tue, Jan 30, 2018 at 2:07 PM, Baolin Wang <baolin.wang@...aro.org> wrote:
>> >>>> The Spreadtrum SC9860 platform GPIO controller contains 16 groups and
>> >>>> each group contains 16 GPIOs. Each GPIO can set input/output and has
>> >>>> the interrupt capability.
>> >>>
>> >>>> +config GPIO_SPRD
>> >>>
>> >>>> + bool "Spreadtrum GPIO support"
>> >>>
>> >>> Either you have to put tristate here, or remove all redundant
>> >>> module_*() and MODULE_*() macros.
>> >>
>> >> I will remove module_*() and MODULE_*() macros in next version. Thanks
>> >> for your comments.
>> >
>> > In that case you need to explain why driver can't be module. (And
>> > don't forget to replace module.h with init.h).
>>
>> After more investigation, I found most GPIO dependencies can be
>> deferred to probe. So I will change the GPIO driver to module level
>> and change bool to tristate in next version.
>
> Then you could replace
>
> +static int __init sprd_gpio_init(void)
> +{
> + return platform_driver_register(&sprd_gpio_driver);
> +}
> +subsys_initcall(sprd_gpio_init);
> +
> +static void __exit sprd_gpio_exit(void)
> +{
> + platform_driver_unregister(&sprd_gpio_driver);
> +}
> +module_exit(sprd_gpio_exit);
>
> with
>
> module_platform_driver(sprd_gpio_driver);
Yes, I already did this in V2 patch set, you can refer to the V2 patch
set. Thanks.
--
Baolin.wang
Best Regards
Powered by blists - more mailing lists