[PATCH v3 00/25] mtd: spi-nor: Clean params init

Tudor.Ambarus at microchip.com Tudor.Ambarus at microchip.com
Mon Nov 8 02:15:14 PST 2021


Hi,

On 10/29/21 8:26 PM, Tudor Ambarus wrote:
> Clean spi_nor_scan() and the flash parameters initialization code. 
> Tested all the flashes from patch set. If someone can test the
> locking ops on few flashes would be great. It seems that my flashes
> have the non volatile bits weared out.
> 
> This patch set is split from:
> https://lore.kernel.org/linux-mtd/20210727045222.905056-1-tudor.ambarus@microchip.com/
> The ID collision series will be set in a dedicated patch set that will
> depend on this one.
> 
> Changes in v3:
> - move late_init() in struct spi_nor_fixups and update patches accordingly.     
> R-b tags were dropped.
> - new patch "mtd: spi-nor: sst: Get rid of SST_WRITE flash_info flag"
> moves manufacturer specific flag out of the core.
> - update methods description to make it clear who sets when
> - introduce flash_info flag masks to make it clear when one should be set.
> - rework "parse SFDP first idea".
> 
> Tudor Ambarus (25):
>   mtd: spi-nor: core: Fix spi_nor_flash_parameter otp description
>   mtd: spi-nor: core: Use container_of to get the pointer to struct
>     spi_nor
>   mtd: spi-nor: Introduce spi_nor_set_mtd_info()
>   mtd: spi-nor: Get rid of nor->page_size
>   mtd: spi-nor: core: Introduce the late_init() hook
>   mtd: spi-nor: atmel: Use flash late_init() for locking
>   mtd: spi-nor: sst: Use flash late_init() for locking
>   mtd: spi-nor: winbond: Use manufacturer late_init() for OTP ops
>   mtd: spi-nor: xilinx: Use manufacturer late_init() to set setup method
>   mtd: spi-nor: sst: Use manufacturer late_init() to set _write()
>   mtd: spi-nor: spansion: Use manufacturer late_init()
>   mtd: spi-nor: core: Call spi_nor_post_sfdp_fixups() only when SFDP is
>     defined
>   mtd: spi-nor: sst: Get rid of SST_WRITE flash_info flag
>   mtd: spi-nor: Introduce flash_info flags masks
>   mtd: spi-nor: Introduce spi_nor_nonsfdp_init_flags()
>   mtd: spi-nor: Introduce spi_nor_init_fixup_flags()
>   mtd: spi-nor: core: Introduce SPI_NOR_PARSE_SFDP
>   mtd: spi-nor: core: Init flash params based on SFDP first for new
>     flash additions
>   mtd: spi-nor: core: Move spi_nor_set_addr_width() in spi_nor_setup()
>   mtd: spi-nor: sst: sst26vf064b: Init flash based on SFDP
>   mtd: spi-nor: winbond: w25q256jvm: Init flash based on SFDP
>   mtd: spi-nor: spansion: s25fl256s0: Skip SFDP parsing
>   mtd: spi-nor: gigadevice: gd25q256: Init flash based on SFDP
>   mtd: spi-nor: issi: is25lp256: Init flash based on SFDP
>   mtd: spi-nor: macronix: mx25l25635e: Init flash based on SFDP
> 
>  drivers/mtd/spi-nor/atmel.c      |   8 +-
>  drivers/mtd/spi-nor/core.c       | 480 +++++++++++++++++--------------
>  drivers/mtd/spi-nor/core.h       | 106 ++++---
>  drivers/mtd/spi-nor/gigadevice.c |   7 +-
>  drivers/mtd/spi-nor/issi.c       |   6 +-
>  drivers/mtd/spi-nor/macronix.c   |  15 +-
>  drivers/mtd/spi-nor/micron-st.c  |  20 +-
>  drivers/mtd/spi-nor/otp.c        |   2 +-
>  drivers/mtd/spi-nor/spansion.c   |  15 +-
>  drivers/mtd/spi-nor/sst.c        | 105 ++++---
>  drivers/mtd/spi-nor/swp.c        |   2 +-
>  drivers/mtd/spi-nor/winbond.c    |   7 +-
>  drivers/mtd/spi-nor/xilinx.c     |  21 +-
>  include/linux/mtd/spi-nor.h      |   2 -
>  14 files changed, 460 insertions(+), 336 deletions(-)
> 

I would like to apply this when -rc1 is out. Can some of you run some tests
and check if everything is ok? I have done few tests on the flashes that I
mentioned in the cover letter, all should be ok. I'm particularly interested
in the locking support. I can test the unlock_all on sst26vf064b validating
the locking part, but it would be good if locking is tested on other flash
too.

Thanks,
ta


More information about the linux-arm-kernel mailing list