Re: [PATCH v3] drivers: clk: make gpio-gated clock support optional
From: Stephen Boyd
Date: Sun Dec 20 2020 - 00:53:03 EST
Quoting Stephen Boyd (2020-12-19 16:04:21)
> Quoting Enrico Weigelt, metux IT consult (2020-12-02 04:34:46)
> > The gpio-gate-clock / gpio-mux-clock driver isn't used much,
> > just by a few ARM SoCs, so there's no need to always include
> > it unconditionally.
> >
> > Thus make it optional, but keep it enabled by default.
> >
> > changes v3: default to y when gpiolib enabled
> > fix depends on gpiolib to uppercase
> >
> > changes v2: added missing dependency on gpiolib
> >
> > Signed-off-by: Enrico Weigelt, metux IT consult <info@xxxxxxxxx>
> > ---
>
> Applied to clk-next
And now reverted
In file included from include/linux/device.h:32:0,
from drivers/clk/clk-gpio.c:17:
include/linux/device/driver.h:290:1: warning: data definition has no type or storage class
device_initcall(__driver##_init);
^
include/linux/platform_device.h:258:2: note: in expansion of macro 'builtin_driver'
builtin_driver(__platform_driver, platform_driver_register)
^~~~~~~~~~~~~~
drivers/clk/clk-gpio.c:249:1: note: in expansion of macro 'builtin_platform_driver'
builtin_platform_driver(gpio_clk_driver);
^~~~~~~~~~~~~~~~~~~~~~~
include/linux/device/driver.h:290:1: error: type defaults to 'int' in declaration of 'device_initcall' [-Werror=implicit-int]
device_initcall(__driver##_init);
^
include/linux/platform_device.h:258:2: note: in expansion of macro 'builtin_driver'
builtin_driver(__platform_driver, platform_driver_register)
^~~~~~~~~~~~~~
drivers/clk/clk-gpio.c:249:1: note: in expansion of macro 'builtin_platform_driver'
builtin_platform_driver(gpio_clk_driver);
^~~~~~~~~~~~~~~~~~~~~~~
drivers/clk/clk-gpio.c:249:1: warning: parameter names (without types) in function declaration
In file included from include/linux/device.h:32:0,
from drivers/clk/clk-gpio.c:17:
drivers/clk/clk-gpio.c:249:25: warning: 'gpio_clk_driver_init' defined but not used [-Wunused-function]
builtin_platform_driver(gpio_clk_driver);
^
include/linux/device/driver.h:286:19: note: in definition of macro 'builtin_driver'
static int __init __driver##_init(void) \
^~~~~~~~
drivers/clk/clk-gpio.c:249:1: note: in expansion of macro 'builtin_platform_driver'
builtin_platform_driver(gpio_clk_driver);
^~~~~~~~~~~~~~~~~~~~~~~
It looks like it needs to be a bool Kconfig to match how it used to be.
A module would be interesting, but would require more changes
presumably, like getting rid of builtin_platform_driver() and replacing
it with module_platform_driver().