summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Weiss <luca.weiss@fairphone.com>2023-10-20 13:55:40 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-10-21 20:19:06 +0300
commit16724d6ea40a2c9315f5a0d81005dfa4d7a6da24 (patch)
treeca6b7a33b05f9cf1b584107cb0cccb9c7659b599
parent2399cde86e0f6bdbf26cadb83897f6d270921740 (diff)
downloadlinux-16724d6ea40a2c9315f5a0d81005dfa4d7a6da24.tar.xz
nvmem: qfprom: Mark core clk as optional
On some platforms like sc7280 on non-ChromeOS devices the core clock cannot be touched by Linux so we cannot provide it. Mark it as optional as accessing qfprom for reading works without it but we still prohibit writing if we cannot provide the clock. Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Reviewed-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> Link: https://lore.kernel.org/r/20231020105545.216052-2-srinivas.kandagatla@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/nvmem/qfprom.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/nvmem/qfprom.c b/drivers/nvmem/qfprom.c
index 14814cba2dd6..525be03b7bba 100644
--- a/drivers/nvmem/qfprom.c
+++ b/drivers/nvmem/qfprom.c
@@ -423,12 +423,12 @@ static int qfprom_probe(struct platform_device *pdev)
if (IS_ERR(priv->vcc))
return PTR_ERR(priv->vcc);
- priv->secclk = devm_clk_get(dev, "core");
+ priv->secclk = devm_clk_get_optional(dev, "core");
if (IS_ERR(priv->secclk))
return dev_err_probe(dev, PTR_ERR(priv->secclk), "Error getting clock\n");
- /* Only enable writing if we have SoC data. */
- if (priv->soc_data)
+ /* Only enable writing if we have SoC data and a valid clock */
+ if (priv->soc_data && priv->secclk)
econfig.reg_write = qfprom_reg_write;
}