[PATCH] rtc: hym8563: include clkout code only if COMMON_CLK active

From: Heiko Stübner
Date: Tue Dec 17 2013 - 10:11:38 EST


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 <heiko@xxxxxxxxx>
---
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 majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/