ath79: add support for Huawei AP5030DN
[openwrt/openwrt.git] / target / linux / generic / backport-6.1 / 816-v6.7-0001-nvmem-qfprom-Mark-core-clk-as-optional.patch
1 From 16724d6ea40a2c9315f5a0d81005dfa4d7a6da24 Mon Sep 17 00:00:00 2001
2 From: Luca Weiss <luca.weiss@fairphone.com>
3 Date: Fri, 20 Oct 2023 11:55:40 +0100
4 Subject: [PATCH] nvmem: qfprom: Mark core clk as optional
5
6 On some platforms like sc7280 on non-ChromeOS devices the core clock
7 cannot be touched by Linux so we cannot provide it. Mark it as optional
8 as accessing qfprom for reading works without it but we still prohibit
9 writing if we cannot provide the clock.
10
11 Signed-off-by: Luca Weiss <luca.weiss@fairphone.com>
12 Reviewed-by: Douglas Anderson <dianders@chromium.org>
13 Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
14 Link: https://lore.kernel.org/r/20231020105545.216052-2-srinivas.kandagatla@linaro.org
15 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
16 ---
17 drivers/nvmem/qfprom.c | 6 +++---
18 1 file changed, 3 insertions(+), 3 deletions(-)
19
20 --- a/drivers/nvmem/qfprom.c
21 +++ b/drivers/nvmem/qfprom.c
22 @@ -423,12 +423,12 @@ static int qfprom_probe(struct platform_
23 if (IS_ERR(priv->vcc))
24 return PTR_ERR(priv->vcc);
25
26 - priv->secclk = devm_clk_get(dev, "core");
27 + priv->secclk = devm_clk_get_optional(dev, "core");
28 if (IS_ERR(priv->secclk))
29 return dev_err_probe(dev, PTR_ERR(priv->secclk), "Error getting clock\n");
30
31 - /* Only enable writing if we have SoC data. */
32 - if (priv->soc_data)
33 + /* Only enable writing if we have SoC data and a valid clock */
34 + if (priv->soc_data && priv->secclk)
35 econfig.reg_write = qfprom_reg_write;
36 }
37