OSDN Git Service

nvmem: imx-ocotp: reset error status on probe
authorLucas Stach <l.stach@pengutronix.de>
Tue, 29 Oct 2019 11:42:35 +0000 (11:42 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 5 Nov 2019 17:35:30 +0000 (18:35 +0100)
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>
drivers/nvmem/imx-ocotp.c

index dff2f3c..fc40555 100644 (file)
@@ -521,6 +521,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;