2017-12-25 08:04:21

by Sean Wang

[permalink] [raw]
Subject: [PATCH v2] clk: mediatek: Fix all warnings for missing struct clk_onecell_data

From: Sean Wang <[email protected]>

Even though the header file linux/clk-provider.h is already being properly
included in clk-mtk.h, the definition of struct clk_onecell_data still
must depend on CONFIG_COMMON_CLK defined and thus it's possible that
below build warnings occur when CONFIG_COMMON_CLK is not being selected.

Therefore, these functions which need struct clk_onecell_data without
declaring that structure first requires simply declaring that this struct
exists prior to referencing it in clk-mtk.h

Changes from v1->v2:
enhance v1 based on two useful solutions Jean Delvare kindly suggested.

All warnings (new ones prefixed by >>):

In file included from drivers/clk/mediatek/reset.c:22:0:
>>drivers/clk/mediatek/clk-mtk.h:44:19: warning: 'struct clk_onecell_data'
declared inside parameter list will not be visible outside of
this definition or declaration
int num, struct clk_onecell_data *clk_data);
^~~~~~~~~~~~~~~~
drivers/clk/mediatek/clk-mtk.h:63:19: warning: 'struct clk_onecell_data'
declared inside parameter list will not be visible outside of
this definition or declaration
int num, struct clk_onecell_data *clk_data);
^~~~~~~~~~~~~~~~
drivers/clk/mediatek/clk-mtk.h:145:10: warning: 'struct clk_onecell_data'
declared inside parameter list will not be visible outside of
this definition or declaration
struct clk_onecell_data *clk_data);
^~~~~~~~~~~~~~~~
drivers/clk/mediatek/clk-mtk.h:164:11: warning: 'struct clk_onecell_data'
declared inside parameter list will not be visible outside of
this definition or declaration
struct clk_onecell_data *clk_data);
^~~~~~~~~~~~~~~~
drivers/clk/mediatek/clk-mtk.h:190:12: warning: 'struct clk_onecell_data'
declared inside parameter list will not be visible outside of this
definition or declaration
struct clk_onecell_data *clk_data);
^~~~~~~~~~~~~~~~

Reported-by: kbuild test robot <[email protected]>
Signed-off-by: Sean Wang <[email protected]>
Cc: [email protected]
Cc: Stephen Boyd <[email protected]>
Cc: Jean Delvare <[email protected]>
Cc: [email protected]
---
drivers/clk/mediatek/clk-mtk.h | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/clk/mediatek/clk-mtk.h b/drivers/clk/mediatek/clk-mtk.h
index f10250d..bf8006d 100644
--- a/drivers/clk/mediatek/clk-mtk.h
+++ b/drivers/clk/mediatek/clk-mtk.h
@@ -20,6 +20,7 @@
#include <linux/clk-provider.h>

struct clk;
+struct clk_onecell_data;

#define MAX_MUX_GATE_BIT 31
#define INVALID_MUX_GATE_BIT (MAX_MUX_GATE_BIT + 1)
--
2.7.4


2017-12-27 01:16:09

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH v2] clk: mediatek: Fix all warnings for missing struct clk_onecell_data

On 12/25, [email protected] wrote:
> From: Sean Wang <[email protected]>
>
> Even though the header file linux/clk-provider.h is already being properly
> included in clk-mtk.h, the definition of struct clk_onecell_data still
> must depend on CONFIG_COMMON_CLK defined and thus it's possible that
> below build warnings occur when CONFIG_COMMON_CLK is not being selected.
>
> Therefore, these functions which need struct clk_onecell_data without
> declaring that structure first requires simply declaring that this struct
> exists prior to referencing it in clk-mtk.h
>
> Changes from v1->v2:
> enhance v1 based on two useful solutions Jean Delvare kindly suggested.
>
> All warnings (new ones prefixed by >>):
>
> In file included from drivers/clk/mediatek/reset.c:22:0:
> >>drivers/clk/mediatek/clk-mtk.h:44:19: warning: 'struct clk_onecell_data'
> declared inside parameter list will not be visible outside of
> this definition or declaration
> int num, struct clk_onecell_data *clk_data);
> ^~~~~~~~~~~~~~~~
> drivers/clk/mediatek/clk-mtk.h:63:19: warning: 'struct clk_onecell_data'
> declared inside parameter list will not be visible outside of
> this definition or declaration
> int num, struct clk_onecell_data *clk_data);
> ^~~~~~~~~~~~~~~~
> drivers/clk/mediatek/clk-mtk.h:145:10: warning: 'struct clk_onecell_data'
> declared inside parameter list will not be visible outside of
> this definition or declaration
> struct clk_onecell_data *clk_data);
> ^~~~~~~~~~~~~~~~
> drivers/clk/mediatek/clk-mtk.h:164:11: warning: 'struct clk_onecell_data'
> declared inside parameter list will not be visible outside of
> this definition or declaration
> struct clk_onecell_data *clk_data);
> ^~~~~~~~~~~~~~~~
> drivers/clk/mediatek/clk-mtk.h:190:12: warning: 'struct clk_onecell_data'
> declared inside parameter list will not be visible outside of this
> definition or declaration
> struct clk_onecell_data *clk_data);
> ^~~~~~~~~~~~~~~~
>
> Reported-by: kbuild test robot <[email protected]>
> Signed-off-by: Sean Wang <[email protected]>
> Cc: [email protected]
> Cc: Stephen Boyd <[email protected]>
> Cc: Jean Delvare <[email protected]>
> Cc: [email protected]
> ---

Applied to clk-next

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project