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

Michael Walle michael at walle.cc
Mon Nov 8 02:31:41 PST 2021


Am 2021-11-08 11:15, schrieb Tudor.Ambarus at microchip.com:
> 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.
> 

FWIW, I've quickly tested the series on a W25Q32JW (OTP only) and 
W25Q128 (OTP
and locking, OTP patch is not upstream).

Tested-by: Michael Walle <michael at walle.cc> #on w25q32jw and w25q128fw

-michael



More information about the linux-arm-kernel mailing list