]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
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)
committerSeth Forshee <seth.forshee@canonical.com>
Mon, 6 Jan 2020 14:16:11 +0000 (08:16 -0600)
BugLink: https://bugs.launchpad.net/bugs/1858428
[ Upstream commit c33c585f1b3a99d53920bdac614aca461d8db06f ]

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: Sasha Levin <sashal@kernel.org>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
drivers/nvmem/imx-ocotp.c

index dff2f3c357f56d74550f54e37670f976f157ae5b..fc40555ca4cddd5d1315c70190f0e2d2f7e849be 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;