On 1 February 2018 at 20:22, Marcus Folkesson <marcus.folkesson@xxxxxxxxx> 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@xxxxxxxxx> wrote: >> > On Wed, Jan 31, 2018 at 4:01 AM, Baolin Wang <baolin.wang@xxxxxxxxxx> wrote: >> >> On 31 January 2018 at 00:48, Andy Shevchenko <andy.shevchenko@xxxxxxxxx> wrote: >> >>> On Tue, Jan 30, 2018 at 2:07 PM, Baolin Wang <baolin.wang@xxxxxxxxxx> 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 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html