u-boot/drivers/mtd/spi
Marek Behún ff0000b47d mtd: spi-nor-core: Call mtd_erase_callback() from spi_nor_erase()
The spi_nor_erase() function does not call mtd_erase_callback() as it
should.

The mtdpart code currently implements the subtraction of partition
offset in mtd_erase_callback().

This results in partition offset being added prior calling
spi_nor_erase(), but not subtracted back on return. The result is that
the `mtd erase` command does not erase the whole partition, only some of
it's blocks:

  => mtd erase "Rescue system"
  Erasing 0x00000000 ... 0x006fffff (1792 eraseblock(s))
  jedec_spi_nor spi-nor@0: at 0x100000, len 4096
  jedec_spi_nor spi-nor@0: at 0x201000, len 4096
  jedec_spi_nor spi-nor@0: at 0x302000, len 4096
  jedec_spi_nor spi-nor@0: at 0x403000, len 4096
  jedec_spi_nor spi-nor@0: at 0x504000, len 4096
  jedec_spi_nor spi-nor@0: at 0x605000, len 4096
  jedec_spi_nor spi-nor@0: at 0x706000, len 4096

This is obviously wrong.

Add proper calling of mtd_erase_callback() into the spi_nor_erase()
function.

Signed-off-by: Marek Behún <marek.behun@nic.cz>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reported-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
Tested-by: Masami Hiramatsu <masami.hiramatsu@linaro.org>
2021-10-23 15:47:33 +05:30
..
fsl_espi_spl.c common: Move hang() to the same header as panic() 2020-01-17 17:53:40 -05:00
Kconfig Xilinx changes for v2022.01-rc1 2021-09-30 11:29:41 -04:00
Makefile spi: Allow separate control of SPI_FLASH_TINY for SPL/TPL 2020-08-03 22:19:54 -04:00
sandbox.c dm: Avoid accessing seq directly 2020-12-18 20:32:21 -07:00
sf-uclass.c dm: define LOG_CATEGORY for all uclass 2021-07-06 10:38:03 -06:00
sf_dataflash.c dm: treewide: Rename auto_alloc_size members to be shorter 2020-12-13 08:00:25 -07:00
sf_internal.h mtd: spi-nor-core: Add support for DTR protocol 2021-06-28 12:00:32 +05:30
sf_mtd.c mtd: spi-nor: fill-in mtd->dev member 2021-06-24 11:53:50 +05:30
sf_probe.c mtd: spi-nor-core: Perform a Soft Reset on shutdown 2021-06-28 12:04:53 +05:30
spi-nor-core.c mtd: spi-nor-core: Call mtd_erase_callback() from spi_nor_erase() 2021-10-23 15:47:33 +05:30
spi-nor-ids.c mtd: spi-nor: Add support for Spansion S25FL256L 2021-10-23 15:38:27 +05:30
spi-nor-tiny.c mtd: spi-nor-tiny: Add fixups for Cypress s25hl-t/s25hs-t 2021-06-29 19:16:54 +05:30