On Thu, Feb 01, 2018 at 11:08:46AM +0800, Baolin Wang wrote: > On 31 January 2018 at 22:23, Andy Shevchenko <[email protected]> > wrote: > > On Wed, Jan 31, 2018 at 4:01 AM, Baolin Wang <[email protected]> wrote: > >> On 31 January 2018 at 00:48, Andy Shevchenko <[email protected]> > >> wrote: > >>> On Tue, Jan 30, 2018 at 2:07 PM, Baolin Wang <[email protected]> > >>> 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);
>
> --
> Baolin.wang
> Best Regards
Best regards
Marcus Folkesson
signature.asc
Description: PGP signature

