Subject: [PATCH v3] drivers: clk: make gpio-gated clock support optional

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 <[email protected]>
---
drivers/clk/Kconfig | 8 ++++++++
drivers/clk/Makefile | 2 +-
2 files changed, 9 insertions(+), 1 deletion(-)

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
--
2.11.0


2020-12-20 00:06:53

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH v3] drivers: clk: make gpio-gated clock support optional

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 <[email protected]>
> ---

Applied to clk-next

2020-12-20 05:36:12

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH v3] drivers: clk: make gpio-gated clock support optional

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 <[email protected]>
> > ---
>
> 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().

Subject: Re: [PATCH v3] drivers: clk: make gpio-gated clock support optional

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


--
---
Hinweis: unverschlüsselte E-Mails können leicht abgehört und manipuliert
werden ! Für eine vertrauliche Kommunikation senden Sie bitte ihren
GPG/PGP-Schlüssel zu.
---
Enrico Weigelt, metux IT consult
Free software and Linux embedded engineering
[email protected] -- +49-151-27565287