From baa8ac7b815e4b7b9ceb48948a10c477889059d9 Mon Sep 17 00:00:00 2001 From: Devesh Jhunjhunwala Date: Fri, 1 Apr 2016 12:20:52 -0700 Subject: [PATCH] clk: Update clk_get_sys to return ENOENT on failure clk_get_sys was updated to return EPROBE_DEFER because on the older kernel returning ENOENT was causing drivers that probed before the clock provider to fail instead of deferring. The new kernel version fixes this by returning EPROBE_DEFER in __of_clk_get_from_provider. Thus, clk_get_sys failing means that the clock provider exists, but the requested clock is not defined in the provider, in which case ENOENT is a more appropriate error code to return. Change-Id: I67d60bf5c0d2dfb71a189e351bc5b4c535d280bb Signed-off-by: Devesh Jhunjhunwala --- drivers/clk/clkdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/clk/clkdev.c b/drivers/clk/clkdev.c index ee1a9992c47f..05c516a67457 100644 --- a/drivers/clk/clkdev.c +++ b/drivers/clk/clkdev.c @@ -186,7 +186,7 @@ struct clk *clk_get_sys(const char *dev_id, const char *con_id) out: mutex_unlock(&clocks_mutex); - return cl ? cl->clk : ERR_PTR(-EPROBE_DEFER); + return cl ? cl->clk : ERR_PTR(-ENOENT); } EXPORT_SYMBOL(clk_get_sys);