| From 06846e4cc05c0f92e5a56757de866e5046a060d0 Mon Sep 17 00:00:00 2001 |
| From: Lucas Stach <l.stach@pengutronix.de> |
| Date: Tue, 29 Oct 2019 11:42:35 +0000 |
| Subject: [PATCH] nvmem: imx-ocotp: reset error status on probe |
| |
| commit c33c585f1b3a99d53920bdac614aca461d8db06f upstream. |
| |
| If software running before the OCOTP driver is loaded left the |
| controller with the error status pending, the driver will never |
| be able to complete the read timing setup. Reset the error status |
| on probe to make sure the controller is in usable state. |
| |
| Signed-off-by: Lucas Stach <l.stach@pengutronix.de> |
| Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org> |
| Link: https://lore.kernel.org/r/20191029114240.14905-6-srinivas.kandagatla@linaro.org |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> |
| |
| diff --git a/drivers/nvmem/imx-ocotp.c b/drivers/nvmem/imx-ocotp.c |
| index bd016b928589..b58406c71ece 100644 |
| --- a/drivers/nvmem/imx-ocotp.c |
| +++ b/drivers/nvmem/imx-ocotp.c |
| @@ -478,6 +478,10 @@ static int imx_ocotp_probe(struct platform_device *pdev) |
| if (IS_ERR(priv->clk)) |
| return PTR_ERR(priv->clk); |
| |
| + clk_prepare_enable(priv->clk); |
| + imx_ocotp_clr_err_if_set(priv->base); |
| + clk_disable_unprepare(priv->clk); |
| + |
| priv->params = of_device_get_match_data(&pdev->dev); |
| imx_ocotp_nvmem_config.size = 4 * priv->params->nregs; |
| imx_ocotp_nvmem_config.dev = dev; |
| -- |
| 2.7.4 |
| |