]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
soc/tegra: fuse: Register nvmem lookups at probe
authorKartik Rajput <kkartik@nvidia.com>
Thu, 14 May 2026 05:48:31 +0000 (11:18 +0530)
committerThierry Reding <treding@nvidia.com>
Thu, 28 May 2026 21:39:44 +0000 (23:39 +0200)
Register nvmem lookups in tegra_fuse_probe(), after the nvmem device has
been registered, since they can only be used after the nvmem device is
registered.

Signed-off-by: Kartik Rajput <kkartik@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
drivers/soc/tegra/fuse/fuse-tegra.c

index 291484595dcfa48dd8088d764b24ad65be915c3e..071cd9620634ce64e262faeb6b3165f149fe44db 100644 (file)
@@ -182,10 +182,6 @@ static int tegra_fuse_probe(struct platform_device *pdev)
                }
 
                fuse->soc->init(fuse);
-
-               err = tegra_fuse_add_lookups(fuse);
-               if (err)
-                       return dev_err_probe(&pdev->dev, err, "failed to add FUSE lookups\n");
        }
 
        fuse->clk = devm_clk_get_optional(&pdev->dev, "fuse");
@@ -231,6 +227,10 @@ static int tegra_fuse_probe(struct platform_device *pdev)
                return err;
        }
 
+       err = tegra_fuse_add_lookups(fuse);
+       if (err)
+               return dev_err_probe(&pdev->dev, err, "failed to add FUSE lookups\n");
+
        fuse->rst = devm_reset_control_get_optional(&pdev->dev, "fuse");
        if (IS_ERR(fuse->rst))
                return dev_err_probe(&pdev->dev, PTR_ERR(fuse->rst), "failed to get FUSE reset\n");
@@ -473,7 +473,7 @@ static int __init tegra_init_fuse(void)
        const struct of_device_id *match;
        struct device_node *np;
        struct resource regs;
-       int err;
+       int err = 0;
 
        tegra_init_apbmisc();
 
@@ -566,10 +566,6 @@ static int __init tegra_init_fuse(void)
 
        tegra_fuse_print_sku_info(&tegra_sku_info);
 
-       err = tegra_fuse_add_lookups(fuse);
-       if (err)
-               pr_err("failed to add FUSE lookups\n");
-
        return err;
 }
 early_initcall(tegra_init_fuse);