Message ID | 20201202123446.21902-1-info@metux.net (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v3] drivers: clk: make gpio-gated clock support optional | expand |
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@metux.net> > --- Applied to clk-next
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@metux.net> > > --- > > 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().
On 20.12.20 06:30, Stephen Boyd wrote: > 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(). Okay, I'll rework it and post a v4. thx. --mtx
diff --git a/drivers/clk/Kconfig b/drivers/clk/Kconfig index c715d4681a0b..e4fe406c4e7d 100644 --- a/drivers/clk/Kconfig +++ b/drivers/clk/Kconfig @@ -38,6 +38,14 @@ menuconfig COMMON_CLK if COMMON_CLK +config COMMON_CLK_GPIO + tristate "GPIO gated clock support" + default y if GPIOLIB + depends on GPIOLIB + help + Supports gpio gated clocks, which can be enabled/disabled via + gpio output. + config COMMON_CLK_WM831X tristate "Clock driver for WM831x/2x PMICs" depends on MFD_WM831X diff --git a/drivers/clk/Makefile b/drivers/clk/Makefile index da8fcf147eb1..0692ab5abc6d 100644 --- a/drivers/clk/Makefile +++ b/drivers/clk/Makefile @@ -11,7 +11,7 @@ obj-$(CONFIG_COMMON_CLK) += clk-multiplier.o obj-$(CONFIG_COMMON_CLK) += clk-mux.o obj-$(CONFIG_COMMON_CLK) += clk-composite.o obj-$(CONFIG_COMMON_CLK) += clk-fractional-divider.o -obj-$(CONFIG_COMMON_CLK) += clk-gpio.o +obj-$(CONFIG_COMMON_CLK_GPIO) += clk-gpio.o ifeq ($(CONFIG_OF), y) obj-$(CONFIG_COMMON_CLK) += clk-conf.o endif
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@metux.net> --- drivers/clk/Kconfig | 8 ++++++++ drivers/clk/Makefile | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-)