mtd: spi-nor: Tidy up error handling / debug code
authorSimon Glass <sjg@chromium.org>
Sun, 19 Jul 2020 16:15:32 +0000 (10:15 -0600)
committerTom Rini <trini@konsulko.com>
Tue, 4 Aug 2020 02:19:54 +0000 (22:19 -0400)
The -ENODEV error value in spi_nor_read_id() is incorrect since there
clearly is a device - it just cannot be supported. Use -ENOMEDIUM instead
which has the virtue of being less common.

Fix the return value in spi_nor_scan().

Also there are a few printf() statements which should be debug() since
they bloat the code with unused strings at present. Fix those while here.

Signed-off-by: Simon Glass <sjg@chromium.org>
drivers/mtd/spi/sf_probe.c
drivers/mtd/spi/spi-nor-core.c
drivers/mtd/spi/spi-nor-tiny.c

index 475f6c3..b959e34 100644 (file)
@@ -119,7 +119,7 @@ static int spi_flash_std_erase(struct udevice *dev, u32 offset, size_t len)
        struct erase_info instr;
 
        if (offset % mtd->erasesize || len % mtd->erasesize) {
-               printf("SF: Erase offset/length not multiple of erase size\n");
+               debug("SF: Erase offset/length not multiple of erase size\n");
                return -EINVAL;
        }
 
index fdcd830..0113e70 100644 (file)
@@ -2470,7 +2470,7 @@ static int spi_nor_init(struct spi_nor *nor)
                 * designer) that this is bad.
                 */
                if (nor->flags & SNOR_F_BROKEN_RESET)
-                       printf("enabling reset hack; may not recover from unexpected reboots\n");
+                       debug("enabling reset hack; may not recover from unexpected reboots\n");
                set_4byte(nor, nor->info, 1);
        }
 
index 9f676c6..fa26ea3 100644 (file)
@@ -377,7 +377,7 @@ static const struct flash_info *spi_nor_read_id(struct spi_nor *nor)
        }
        dev_dbg(nor->dev, "unrecognized JEDEC id bytes: %02x, %02x, %02x\n",
                id[0], id[1], id[2]);
-       return ERR_PTR(-ENODEV);
+       return ERR_PTR(-EMEDIUMTYPE);
 }
 
 static int spi_nor_read(struct mtd_info *mtd, loff_t from, size_t len,
@@ -733,7 +733,7 @@ int spi_nor_scan(struct spi_nor *nor)
 
        info = spi_nor_read_id(nor);
        if (IS_ERR_OR_NULL(info))
-               return -ENOENT;
+               return PTR_ERR(info);
        /* Parse the Serial Flash Discoverable Parameters table. */
        ret = spi_nor_init_params(nor, info, &params);
        if (ret)