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/

Reply via email to