From: Uwe Kleine-König Date: Thu, 23 Sep 2021 20:11:13 +0000 (+0200) Subject: hwmon: (ltc2947) Properly handle errors when looking for the external clock X-Git-Tag: v5.15~141^2~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6f7d70467121f790b36af2d84bc02b5c236bf5e6;p=platform%2Fkernel%2Flinux-starfive.git hwmon: (ltc2947) Properly handle errors when looking for the external clock The return value of devm_clk_get should in general be propagated to upper layer. In this case the clk is optional, use the appropriate wrapper instead of interpreting all errors as "The optional clk is not available". Signed-off-by: Uwe Kleine-König Link: https://lore.kernel.org/r/20210923201113.398932-1-u.kleine-koenig@pengutronix.de Signed-off-by: Guenter Roeck --- diff --git a/drivers/hwmon/ltc2947-core.c b/drivers/hwmon/ltc2947-core.c index bb3f774..5423466 100644 --- a/drivers/hwmon/ltc2947-core.c +++ b/drivers/hwmon/ltc2947-core.c @@ -989,8 +989,12 @@ static int ltc2947_setup(struct ltc2947_data *st) return ret; /* check external clock presence */ - extclk = devm_clk_get(st->dev, NULL); - if (!IS_ERR(extclk)) { + extclk = devm_clk_get_optional(st->dev, NULL); + if (IS_ERR(extclk)) + return dev_err_probe(st->dev, PTR_ERR(extclk), + "Failed to get external clock\n"); + + if (extclk) { unsigned long rate_hz; u8 pre = 0, div, tbctl; u64 aux;