]> git.itanic.dy.fi Git - linux-stable/commitdiff
mtd: core: prepare mtd_otp_nvmem_add() to handle -EPROBE_DEFER
authorMichael Walle <michael@walle.cc>
Wed, 8 Mar 2023 08:20:21 +0000 (09:20 +0100)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Wed, 8 Mar 2023 13:31:49 +0000 (14:31 +0100)
NVMEM soon will get the ability for nvmem layouts and these might
not be ready when nvmem_register() is called and thus it might
return -EPROBE_DEFER. Don't print the error message in this case.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20230308082021.870459-4-michael@walle.cc
drivers/mtd/mtdcore.c

index 0bc9676fe029920f3e791a52c282e5c6ec638e2b..83a22566a8ce0b1566759fe313886b1406b653e5 100644 (file)
@@ -953,8 +953,8 @@ static int mtd_otp_nvmem_add(struct mtd_info *mtd)
                        nvmem = mtd_otp_nvmem_register(mtd, "user-otp", size,
                                                       mtd_nvmem_user_otp_reg_read);
                        if (IS_ERR(nvmem)) {
-                               dev_err(dev, "Failed to register OTP NVMEM device\n");
-                               return PTR_ERR(nvmem);
+                               err = PTR_ERR(nvmem);
+                               goto err;
                        }
                        mtd->otp_user_nvmem = nvmem;
                }
@@ -971,7 +971,6 @@ static int mtd_otp_nvmem_add(struct mtd_info *mtd)
                        nvmem = mtd_otp_nvmem_register(mtd, "factory-otp", size,
                                                       mtd_nvmem_fact_otp_reg_read);
                        if (IS_ERR(nvmem)) {
-                               dev_err(dev, "Failed to register OTP NVMEM device\n");
                                err = PTR_ERR(nvmem);
                                goto err;
                        }
@@ -983,7 +982,7 @@ static int mtd_otp_nvmem_add(struct mtd_info *mtd)
 
 err:
        nvmem_unregister(mtd->otp_user_nvmem);
-       return err;
+       return dev_err_probe(dev, err, "Failed to register OTP NVMEM device\n");
 }
 
 /**