The contents of clk-provide.h, struct clk_hw etc, are only available if CONFIG_COMMON_CLK is selected. Therefore IS_ENABLED(COMMON_CLK) is not sufficient and real preprocessor conditions are necessary to keep the code in question from being compiled on non-COMMON_CLK systems.
Signed-off-by: Heiko Stuebner <he...@sntech.de> --- drivers/rtc/rtc-hym8563.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/rtc/rtc-hym8563.c b/drivers/rtc/rtc-hym8563.c index 841392c..b56e3d3 100644 --- a/drivers/rtc/rtc-hym8563.c +++ b/drivers/rtc/rtc-hym8563.c @@ -87,7 +87,9 @@ struct hym8563 { struct i2c_client *client; struct rtc_device *rtc; bool valid; +#ifdef CONFIG_COMMON_CLK struct clk_hw clkout_hw; +#endif }; /* @@ -290,6 +292,7 @@ static const struct rtc_class_ops hym8563_rtc_ops = { * Handling of the clkout */ +#ifdef CONFIG_COMMON_CLK #define clkout_hw_to_hym8563(_hw) container_of(_hw, struct hym8563, clkout_hw) static int clkout_rates[] = { @@ -423,6 +426,7 @@ static struct clk *hym8563_clkout_register_clk(struct hym8563 *hym8563) return clk; } +#endif /* * The alarm interrupt is implemented as a level-low interrupt in the @@ -565,8 +569,9 @@ static int hym8563_probe(struct i2c_client *client, if (IS_ERR(hym8563->rtc)) return PTR_ERR(hym8563->rtc); - if (IS_ENABLED(CONFIG_COMMON_CLK)) - hym8563_clkout_register_clk(hym8563); +#ifdef CONFIG_COMMON_CLK + hym8563_clkout_register_clk(hym8563); +#endif return 0; } -- 1.7.10.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/