Re: linux-next: build failure after merge of the clk tree

From: Stephen Rothwell
Date: Thu Jul 04 2019 - 21:24:37 EST


Hi all,

On Tue, 2 Jul 2019 12:03:50 +1000 Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx> wrote:
>
> This at least passes my (few) build tests (this will be in linux-next
> today):
>
> From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> Date: Tue, 2 Jul 2019 11:53:07 +1000
> Subject: [PATCH] clk: consoldiate the __clk_get_hw() declarations
>
> Without this we were getting errors like:
>
> In file included from drivers/clk/clkdev.c:22:0:
> drivers/clk/clk.h:36:23: error: static declaration of '__clk_get_hw' follows non-static declaration
> include/linux/clk-provider.h:808:16: note: previous declaration of '__clk_get_hw' was here
>
> Fixes: 59fcdce425b7 ("clk: Remove ifdef for COMMON_CLK in clk-provider.h")
> fixes: 73e0e496afda ("clkdev: Always allocate a struct clk and call __clk_get() w/ CCF")
> Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> ---
> drivers/clk/clk.h | 4 ----
> drivers/clk/imx/clk-imx6q.c | 1 +
> drivers/clk/imx/clk-imx6sll.c | 1 +
> drivers/clk/imx/clk-imx6sx.c | 1 +
> drivers/clk/imx/clk-imx6ul.c | 1 +
> drivers/clk/imx/clk-imx7d.c | 1 +
> drivers/clk/imx/clk.c | 1 +
> include/linux/clk-provider.h | 7 +++++++
> 8 files changed, 13 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/clk/clk.h b/drivers/clk/clk.h
> index d8400d623b34..2d801900cad5 100644
> --- a/drivers/clk/clk.h
> +++ b/drivers/clk/clk.h
> @@ -33,10 +33,6 @@ clk_hw_create_clk(struct device *dev, struct clk_hw *hw, const char *dev_id,
> {
> return (struct clk *)hw;
> }
> -static struct clk_hw *__clk_get_hw(struct clk *clk)
> -{
> - return (struct clk_hw *)clk;
> -}
> static inline void __clk_put(struct clk *clk) { }
>
> #endif
> diff --git a/drivers/clk/imx/clk-imx6q.c b/drivers/clk/imx/clk-imx6q.c
> index 4e61f5189a1f..466561fb8925 100644
> --- a/drivers/clk/imx/clk-imx6q.c
> +++ b/drivers/clk/imx/clk-imx6q.c
> @@ -14,6 +14,7 @@
> #include <linux/types.h>
> #include <linux/clk.h>
> #include <linux/clkdev.h>
> +#include <linux/clk-provider.h>
> #include <linux/err.h>
> #include <linux/io.h>
> #include <linux/of.h>
> diff --git a/drivers/clk/imx/clk-imx6sll.c b/drivers/clk/imx/clk-imx6sll.c
> index 342dcc58ac16..5f3e92c09a5e 100644
> --- a/drivers/clk/imx/clk-imx6sll.c
> +++ b/drivers/clk/imx/clk-imx6sll.c
> @@ -7,6 +7,7 @@
> #include <dt-bindings/clock/imx6sll-clock.h>
> #include <linux/clk.h>
> #include <linux/clkdev.h>
> +#include <linux/clk-provider.h>
> #include <linux/err.h>
> #include <linux/init.h>
> #include <linux/io.h>
> diff --git a/drivers/clk/imx/clk-imx6sx.c b/drivers/clk/imx/clk-imx6sx.c
> index fb58479eaa68..2ada63e6ba16 100644
> --- a/drivers/clk/imx/clk-imx6sx.c
> +++ b/drivers/clk/imx/clk-imx6sx.c
> @@ -12,6 +12,7 @@
> #include <dt-bindings/clock/imx6sx-clock.h>
> #include <linux/clk.h>
> #include <linux/clkdev.h>
> +#include <linux/clk-provider.h>
> #include <linux/err.h>
> #include <linux/init.h>
> #include <linux/io.h>
> diff --git a/drivers/clk/imx/clk-imx6ul.c b/drivers/clk/imx/clk-imx6ul.c
> index 95ca895c8776..d860a244363a 100644
> --- a/drivers/clk/imx/clk-imx6ul.c
> +++ b/drivers/clk/imx/clk-imx6ul.c
> @@ -12,6 +12,7 @@
> #include <dt-bindings/clock/imx6ul-clock.h>
> #include <linux/clk.h>
> #include <linux/clkdev.h>
> +#include <linux/clk-provider.h>
> #include <linux/err.h>
> #include <linux/init.h>
> #include <linux/io.h>
> diff --git a/drivers/clk/imx/clk-imx7d.c b/drivers/clk/imx/clk-imx7d.c
> index c6d86700a080..c1efb061d237 100644
> --- a/drivers/clk/imx/clk-imx7d.c
> +++ b/drivers/clk/imx/clk-imx7d.c
> @@ -12,6 +12,7 @@
> #include <dt-bindings/clock/imx7d-clock.h>
> #include <linux/clk.h>
> #include <linux/clkdev.h>
> +#include <linux/clk-provider.h>
> #include <linux/err.h>
> #include <linux/init.h>
> #include <linux/io.h>
> diff --git a/drivers/clk/imx/clk.c b/drivers/clk/imx/clk.c
> index 76457b2bd7f0..f628071f6605 100644
> --- a/drivers/clk/imx/clk.c
> +++ b/drivers/clk/imx/clk.c
> @@ -1,5 +1,6 @@
> // SPDX-License-Identifier: GPL-2.0
> #include <linux/clk.h>
> +#include <linux/clk-provider.h>
> #include <linux/err.h>
> #include <linux/io.h>
> #include <linux/of.h>
> diff --git a/include/linux/clk-provider.h b/include/linux/clk-provider.h
> index 0fbf3ccad849..2ae7604783dd 100644
> --- a/include/linux/clk-provider.h
> +++ b/include/linux/clk-provider.h
> @@ -805,7 +805,14 @@ void devm_clk_hw_unregister(struct device *dev, struct clk_hw *hw);
> /* helper functions */
> const char *__clk_get_name(const struct clk *clk);
> const char *clk_hw_get_name(const struct clk_hw *hw);
> +#ifdef CONFIG_COMMON_CLK
> struct clk_hw *__clk_get_hw(struct clk *clk);
> +#else
> +static inline struct clk_hw *__clk_get_hw(struct clk *clk)
> +{
> + return (struct clk_hw *)clk;
> +}
> +#endif
> unsigned int clk_hw_get_num_parents(const struct clk_hw *hw);
> struct clk_hw *clk_hw_get_parent(const struct clk_hw *hw);
> struct clk_hw *clk_hw_get_parent_by_index(const struct clk_hw *hw,

I am still applying this ...

--
Cheers,
Stephen Rothwell

Attachment: pgpVZ7HCwDAQ2.pgp
Description: OpenPGP digital signature