37806f154b87fcd05c447f19790ce98c59aa6b2d
[openwrt/openwrt.git] / target / linux / ipq806x / patches / 0108-clk-qcom-Return-error-pointers-for-unimplemented-clo.patch
1 From 77b7f864b03d6b49c143a9c8c19432feef3032b5 Mon Sep 17 00:00:00 2001
2 From: Stephen Boyd <sboyd@codeaurora.org>
3 Date: Fri, 16 May 2014 16:07:14 -0700
4 Subject: [PATCH 108/182] clk: qcom: Return error pointers for unimplemented
5 clocks
6
7 Not all clocks are implemented but client drivers can still
8 request them. Currently we will return a NULL pointer to them if
9 the clock isn't implemented in software but NULL pointers are
10 valid clock pointers. Return an error pointer so that driver's
11 don't proceed without a clock they may actually need.
12
13 Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
14 Signed-off-by: Mike Turquette <mturquette@linaro.org>
15 ---
16 drivers/clk/qcom/common.c | 4 +++-
17 1 file changed, 3 insertions(+), 1 deletion(-)
18
19 diff --git a/drivers/clk/qcom/common.c b/drivers/clk/qcom/common.c
20 index 86b45fb..9b5a1cf 100644
21 --- a/drivers/clk/qcom/common.c
22 +++ b/drivers/clk/qcom/common.c
23 @@ -62,8 +62,10 @@ int qcom_cc_probe(struct platform_device *pdev, const struct qcom_cc_desc *desc)
24 data->clk_num = num_clks;
25
26 for (i = 0; i < num_clks; i++) {
27 - if (!rclks[i])
28 + if (!rclks[i]) {
29 + clks[i] = ERR_PTR(-ENOENT);
30 continue;
31 + }
32 clk = devm_clk_register_regmap(dev, rclks[i]);
33 if (IS_ERR(clk))
34 return PTR_ERR(clk);
35 --
36 1.7.10.4
37