All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/35] mtd: spi-nor: Handle ID collisions and clean params init
@ 2021-07-27  4:51 ` Tudor Ambarus
  0 siblings, 0 replies; 266+ messages in thread
From: Tudor Ambarus @ 2021-07-27  4:51 UTC (permalink / raw)
  To: michael, vigneshr, p.yadav
  Cc: figgyc, mail, linux, esben, knaerzche, code, zhengxunli,
	jaimeliao, heiko.thiery, macromorgan, sr, miquel.raynal, richard,
	linux-mtd, linux-arm-kernel, nicolas.ferre, Tudor Ambarus

Handle flash ID collisions. Clean spi_nor_scan() and the flash
parameters initialization. Add guideliness on how to submit a new
flash proposal. An overview of the patch set can be seen in the
documentation patch, the last in the series.
Documentation/driver-api/mtd/spi-nor.rst is obsolete and must be
updated, but the series is getting big, and I though submitting
what I have to speed the review process. Will handle the documentation
afterwards.

Tested with sst26vf064b, w25q256jvm, is25lp256, s25fl256s0, gd25q256,
n25q256a and mx25l25635e.

Changes in v2: address Pratyush's comments on initial patch set.

Tudor Ambarus (35):
  mtd: spi-nor: core: Introduce SPI_NOR_PARSE_SFDP
  mtd: spi-nor: core: Report correct name in case of ID collisions
  mtd: spi-nor: macronix: Handle ID collision b/w MX25L3233F and
    MX25L3205D
  mtd: spi-nor: macronix: Handle ID collision b/w MX25L12805D and
    MX25L12835F
  mtd: spi-nor: Introduce Manufacturer ID collisions driver
  mtd: spi-nor: manuf-id-collisions: Add support for xt25f128b
  mtd: spi-nor: manuf-id-collisions: Add support for xm25qh64c
  mtd: spi-nor: core: Introduce the ate_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: core: Mark default_init() as deprecated
  mtd: spi-nor: Introduce spi_nor_nonsfdp_flags_init()
  mtd: spi-nor: Get rid of SPI_NOR_4B_OPCODES flag
  mtd: spi-nor: Get rid of SPI_NOR_IO_MODE_EN_VOLATILE flag
  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: core: Use common naming scheme for setting mtd_info
    fields
  mtd: spi-nor: Get rid of nor->page_size
  mtd: spi-nor: core: Fix spi_nor_flash_parameter otp description
  mtd: spi-nor: core: Move spi_nor_set_addr_width() in spi_nor_setup()
  mtd: spi-nor: core: Introduce spi_nor_init_default_params()
  mtd: spi-nor: core: Init flash params based on SFDP first for new
    flash additions
  mtd: spi-nor: sst: sst26vf064b: Use SPI_NOR_PARSE_SFDP
  mtd: spi-nor: winbond: w25q256jvm: Use SPI_NOR_PARSE_SFDP
  mtd: spi-nor: issi: is25lp256: Use SPI_NOR_PARSE_SFDP
  mtd: spi-nor: spansion: s25fl256s0: Skip SFDP parsing
  mtd: spi-nor: gigadevice: gd25q256: Use SPI_NOR_PARSE_SFDP
  mtd: spi-nor: micron-st: n25q256a: Use SPI_NOR_PARSE_SFDP
  mtd: spi-nor: macronix: mx25l25635e: Use SPI_NOR_PARSE_SFDP
  docs: mtd: spi-nor: Add details about how to propose a new flash
    addition

 Documentation/driver-api/mtd/spi-nor.rst  |  65 +++
 drivers/mtd/spi-nor/Makefile              |   1 +
 drivers/mtd/spi-nor/atmel.c               |  30 +-
 drivers/mtd/spi-nor/core.c                | 482 ++++++++++++----------
 drivers/mtd/spi-nor/core.h                |  60 +--
 drivers/mtd/spi-nor/gigadevice.c          |   6 +-
 drivers/mtd/spi-nor/issi.c                |  12 +-
 drivers/mtd/spi-nor/macronix.c            |  67 ++-
 drivers/mtd/spi-nor/manuf-id-collisions.c |  29 ++
 drivers/mtd/spi-nor/micron-st.c           |  34 +-
 drivers/mtd/spi-nor/otp.c                 |   2 +-
 drivers/mtd/spi-nor/spansion.c            |  24 +-
 drivers/mtd/spi-nor/sst.c                 |  19 +-
 drivers/mtd/spi-nor/swp.c                 |   2 +-
 drivers/mtd/spi-nor/sysfs.c               |   2 +-
 drivers/mtd/spi-nor/winbond.c             |  11 +-
 drivers/mtd/spi-nor/xilinx.c              |  25 +-
 include/linux/mtd/spi-nor.h               |   4 +-
 18 files changed, 539 insertions(+), 336 deletions(-)
 create mode 100644 drivers/mtd/spi-nor/manuf-id-collisions.c

-- 
2.25.1


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 266+ messages in thread

end of thread, other threads:[~2021-11-06 10:01 UTC | newest]

Thread overview: 266+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-27  4:51 [PATCH v2 00/35] mtd: spi-nor: Handle ID collisions and clean params init Tudor Ambarus
2021-07-27  4:51 ` Tudor Ambarus
2021-07-27  4:51 ` [PATCH v2 01/35] mtd: spi-nor: core: Introduce SPI_NOR_PARSE_SFDP Tudor Ambarus
2021-07-27  4:51   ` Tudor Ambarus
2021-08-04  8:09   ` Pratyush Yadav
2021-08-04  8:09     ` Pratyush Yadav
2021-08-23 22:17   ` Michael Walle
2021-08-23 22:17     ` Michael Walle
2021-07-27  4:51 ` [PATCH v2 02/35] mtd: spi-nor: core: Report correct name in case of ID collisions Tudor Ambarus
2021-07-27  4:51   ` Tudor Ambarus
2021-08-04  8:23   ` Pratyush Yadav
2021-08-04  8:23     ` Pratyush Yadav
2021-08-23 22:32     ` Michael Walle
2021-08-23 22:32       ` Michael Walle
2021-07-27  4:51 ` [PATCH v2 03/35] mtd: spi-nor: macronix: Handle ID collision b/w MX25L3233F and MX25L3205D Tudor Ambarus
2021-07-27  4:51   ` Tudor Ambarus
2021-08-23 22:42   ` Michael Walle
2021-08-23 22:42     ` Michael Walle
2021-10-01  8:41     ` Tudor.Ambarus
2021-10-01  8:41       ` Tudor.Ambarus
2021-07-27  4:51 ` [PATCH v2 04/35] mtd: spi-nor: macronix: Handle ID collision b/w MX25L12805D and MX25L12835F Tudor Ambarus
2021-07-27  4:51   ` Tudor Ambarus
2021-08-23 22:44   ` Michael Walle
2021-08-23 22:44     ` Michael Walle
2021-07-27  4:51 ` [PATCH v2 05/35] mtd: spi-nor: Introduce Manufacturer ID collisions driver Tudor Ambarus
2021-07-27  4:51   ` Tudor Ambarus
2021-08-16 18:28   ` Pratyush Yadav
2021-08-16 18:28     ` Pratyush Yadav
2021-08-23 22:47   ` Michael Walle
2021-08-23 22:47     ` Michael Walle
2021-10-01  9:16     ` Tudor.Ambarus
2021-10-01  9:16       ` Tudor.Ambarus
2021-10-24 17:44   ` Michael Walle
2021-10-24 17:44     ` Michael Walle
2021-11-06  9:58     ` Tudor.Ambarus
2021-11-06  9:58       ` Tudor.Ambarus
2021-07-27  4:51 ` [PATCH v2 06/35] mtd: spi-nor: manuf-id-collisions: Add support for xt25f128b Tudor Ambarus
2021-07-27  4:51   ` Tudor Ambarus
2021-07-27 15:52   ` Chris Morgan
2021-07-27 15:52     ` Chris Morgan
2021-07-28  4:10     ` Tudor.Ambarus
2021-07-28  4:10       ` Tudor.Ambarus
2021-08-16 18:43   ` Pratyush Yadav
2021-08-16 18:43     ` Pratyush Yadav
2021-10-01  9:26     ` Tudor.Ambarus
2021-10-01  9:26       ` Tudor.Ambarus
2021-07-27  4:51 ` [PATCH v2 07/35] mtd: spi-nor: manuf-id-collisions: Add support for xm25qh64c Tudor Ambarus
2021-07-27  4:51   ` Tudor Ambarus
2021-08-16 18:45   ` Pratyush Yadav
2021-08-16 18:45     ` Pratyush Yadav
2021-07-27  4:51 ` [PATCH v2 08/35] mtd: spi-nor: core: Introduce the ate_init() hook Tudor Ambarus
2021-07-27  4:51   ` Tudor Ambarus
2021-08-16 18:54   ` Pratyush Yadav
2021-08-16 18:54     ` Pratyush Yadav
2021-09-09 21:40     ` Michael Walle
2021-09-09 21:40       ` Michael Walle
2021-10-01  9:44       ` Tudor.Ambarus
2021-10-01  9:44         ` Tudor.Ambarus
2021-10-01  9:38     ` Tudor.Ambarus
2021-10-01  9:38       ` Tudor.Ambarus
2021-07-27  4:51 ` [PATCH v2 09/35] mtd: spi-nor: atmel: Use flash late_init() for locking Tudor Ambarus
2021-07-27  4:51   ` Tudor Ambarus
2021-08-16 19:06   ` Pratyush Yadav
2021-08-16 19:06     ` Pratyush Yadav
2021-09-09 21:44     ` Michael Walle
2021-09-09 21:44       ` Michael Walle
2021-10-01 11:40       ` Tudor.Ambarus
2021-10-01 11:40         ` Tudor.Ambarus
2021-10-02 12:58         ` Michael Walle
2021-10-02 12:58           ` Michael Walle
2021-10-11  6:27         ` Pratyush Yadav
2021-10-11  6:27           ` Pratyush Yadav
2021-07-27  4:51 ` [PATCH v2 10/35] mtd: spi-nor: sst: " Tudor Ambarus
2021-07-27  4:51   ` Tudor Ambarus
2021-08-16 19:09   ` Pratyush Yadav
2021-08-16 19:09     ` Pratyush Yadav
2021-10-01 11:43     ` Tudor.Ambarus
2021-10-01 11:43       ` Tudor.Ambarus
2021-10-01 12:19       ` Pratyush Yadav
2021-10-01 12:19         ` Pratyush Yadav
2021-09-09 21:52   ` Michael Walle
2021-09-09 21:52     ` Michael Walle
2021-07-27  4:51 ` [PATCH v2 11/35] mtd: spi-nor: winbond: Use manufacturer late_init() for OTP ops Tudor Ambarus
2021-07-27  4:51   ` Tudor Ambarus
2021-08-16 19:17   ` Pratyush Yadav
2021-08-16 19:17     ` Pratyush Yadav
2021-09-09 21:50     ` Michael Walle
2021-09-09 21:50       ` Michael Walle
2021-10-01 11:58       ` Tudor.Ambarus
2021-10-01 11:58         ` Tudor.Ambarus
2021-10-01 11:54     ` Tudor.Ambarus
2021-10-01 11:54       ` Tudor.Ambarus
2021-10-11  6:54       ` Pratyush Yadav
2021-10-11  6:54         ` Pratyush Yadav
2021-07-27  4:51 ` [PATCH v2 12/35] mtd: spi-nor: xilinx: Use manufacturer late_init() to set setup method Tudor Ambarus
2021-07-27  4:51   ` Tudor Ambarus
2021-08-16 19:19   ` Pratyush Yadav
2021-08-16 19:19     ` Pratyush Yadav
2021-09-09 21:53   ` Michael Walle
2021-09-09 21:53     ` Michael Walle
2021-07-27  4:52 ` [PATCH v2 13/35] mtd: spi-nor: sst: Use manufacturer late_init() to set _write() Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-08-16 19:20   ` Pratyush Yadav
2021-08-16 19:20     ` Pratyush Yadav
2021-09-09 21:54   ` Michael Walle
2021-09-09 21:54     ` Michael Walle
2021-07-27  4:52 ` [PATCH v2 14/35] mtd: spi-nor: spansion: Use manufacturer late_init() Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-08-16 19:22   ` Pratyush Yadav
2021-08-16 19:22     ` Pratyush Yadav
2021-09-09 22:02   ` Michael Walle
2021-09-09 22:02     ` Michael Walle
2021-10-01 12:14     ` Tudor.Ambarus
2021-10-01 12:14       ` Tudor.Ambarus
2021-10-02 13:14       ` Michael Walle
2021-10-02 13:14         ` Michael Walle
2021-07-27  4:52 ` [PATCH v2 15/35] mtd: spi-nor: core: Call spi_nor_post_sfdp_fixups() only when SFDP is defined Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-08-16 19:31   ` Pratyush Yadav
2021-08-16 19:31     ` Pratyush Yadav
2021-10-01 12:31     ` Tudor.Ambarus
2021-10-01 12:31       ` Tudor.Ambarus
2021-07-27  4:52 ` [PATCH v2 16/35] mtd: spi-nor: core: Mark default_init() as deprecated Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-08-16 19:36   ` Pratyush Yadav
2021-08-16 19:36     ` Pratyush Yadav
2021-10-01 14:18     ` Tudor.Ambarus
2021-10-01 14:18       ` Tudor.Ambarus
2021-10-01 17:06       ` Pratyush Yadav
2021-10-01 17:06         ` Pratyush Yadav
2021-07-27  4:52 ` [PATCH v2 17/35] mtd: spi-nor: Introduce spi_nor_nonsfdp_flags_init() Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-08-17 10:24   ` Pratyush Yadav
2021-08-17 10:24     ` Pratyush Yadav
2021-08-17 12:15     ` Tudor.Ambarus
2021-08-17 12:15       ` Tudor.Ambarus
2021-10-22 11:21     ` Michael Walle
2021-10-22 11:21       ` Michael Walle
2021-10-22 12:10       ` Pratyush Yadav
2021-10-22 12:10         ` Pratyush Yadav
2021-10-22 12:42         ` Tudor.Ambarus
2021-10-22 12:42           ` Tudor.Ambarus
2021-10-22 12:59           ` Michael Walle
2021-10-22 12:59             ` Michael Walle
2021-10-22 13:25             ` Tudor.Ambarus
2021-10-22 13:25               ` Tudor.Ambarus
2021-10-24 17:05               ` Michael Walle
2021-10-24 17:05                 ` Michael Walle
2021-10-25 12:18                 ` Tudor.Ambarus
2021-10-25 12:18                   ` Tudor.Ambarus
2021-07-27  4:52 ` [PATCH v2 18/35] mtd: spi-nor: Get rid of SPI_NOR_4B_OPCODES flag Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-08-17 12:16   ` Pratyush Yadav
2021-08-17 12:16     ` Pratyush Yadav
2021-10-04  3:18     ` Tudor.Ambarus
2021-10-04  3:18       ` Tudor.Ambarus
2021-10-19 17:26       ` Pratyush Yadav
2021-10-19 17:26         ` Pratyush Yadav
2021-10-20  9:55         ` Tudor.Ambarus
2021-10-20  9:55           ` Tudor.Ambarus
2021-10-21  8:44           ` Tudor.Ambarus
2021-10-21  8:44             ` Tudor.Ambarus
2021-10-21  9:30             ` Pratyush Yadav
2021-10-21  9:30               ` Pratyush Yadav
2021-10-22 11:37               ` Michael Walle
2021-10-22 11:37                 ` Michael Walle
2021-10-22 12:43                 ` Tudor.Ambarus
2021-10-22 12:43                   ` Tudor.Ambarus
2021-07-27  4:52 ` [PATCH v2 19/35] mtd: spi-nor: Get rid of SPI_NOR_IO_MODE_EN_VOLATILE flag Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-08-17 12:21   ` Pratyush Yadav
2021-08-17 12:21     ` Pratyush Yadav
2021-10-04  3:52     ` Tudor.Ambarus
2021-10-04  3:52       ` Tudor.Ambarus
2021-10-11  6:15       ` Pratyush Yadav
2021-10-11  6:15         ` Pratyush Yadav
2021-07-27  4:52 ` [PATCH v2 20/35] mtd: spi-nor: core: Use container_of to get the pointer to struct spi_nor Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-07-27  7:08   ` Rasmus Villemoes
2021-07-27  7:08     ` Rasmus Villemoes
2021-10-22  8:00     ` Tudor.Ambarus
2021-10-22  8:00       ` Tudor.Ambarus
2021-08-17 12:23   ` Pratyush Yadav
2021-08-17 12:23     ` Pratyush Yadav
2021-07-27  4:52 ` [PATCH v2 21/35] mtd: spi-nor: Introduce spi_nor_set_mtd_info() Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-08-16  7:25   ` Tudor.Ambarus
2021-08-16  7:25     ` Tudor.Ambarus
2021-08-17 16:23   ` Pratyush Yadav
2021-08-17 16:23     ` Pratyush Yadav
2021-10-22 11:53   ` Michael Walle
2021-10-22 11:53     ` Michael Walle
2021-07-27  4:52 ` [PATCH v2 22/35] mtd: spi-nor: core: Use common naming scheme for setting mtd_info fields Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-08-17 16:26   ` Pratyush Yadav
2021-08-17 16:26     ` Pratyush Yadav
2021-10-22 11:57   ` Michael Walle
2021-10-22 11:57     ` Michael Walle
2021-10-22 12:51     ` Tudor.Ambarus
2021-10-22 12:51       ` Tudor.Ambarus
2021-10-22 13:08       ` Michael Walle
2021-10-22 13:08         ` Michael Walle
2021-10-22 13:34         ` Tudor.Ambarus
2021-10-22 13:34           ` Tudor.Ambarus
2021-07-27  4:52 ` [PATCH v2 23/35] mtd: spi-nor: Get rid of nor->page_size Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-08-17 16:33   ` Pratyush Yadav
2021-08-17 16:33     ` Pratyush Yadav
2021-10-22 12:01   ` Michael Walle
2021-10-22 12:01     ` Michael Walle
2021-07-27  4:52 ` [PATCH v2 24/35] mtd: spi-nor: core: Fix spi_nor_flash_parameter otp description Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-08-17 16:47   ` Pratyush Yadav
2021-08-17 16:47     ` Pratyush Yadav
2021-10-22 12:07   ` Michael Walle
2021-10-22 12:07     ` Michael Walle
2021-07-27  4:52 ` [PATCH v2 25/35] mtd: spi-nor: core: Move spi_nor_set_addr_width() in spi_nor_setup() Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-08-17 16:52   ` Pratyush Yadav
2021-08-17 16:52     ` Pratyush Yadav
2021-10-22 12:12   ` Michael Walle
2021-10-22 12:12     ` Michael Walle
2021-10-22 12:36     ` Tudor.Ambarus
2021-10-22 12:36       ` Tudor.Ambarus
2021-07-27  4:52 ` [PATCH v2 26/35] mtd: spi-nor: core: Introduce spi_nor_init_default_params() Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-08-24 17:30   ` Pratyush Yadav
2021-08-24 17:30     ` Pratyush Yadav
2021-10-04  4:17     ` Tudor.Ambarus
2021-10-04  4:17       ` Tudor.Ambarus
2021-10-22 12:41       ` Michael Walle
2021-10-22 12:41         ` Michael Walle
2021-10-22 12:55         ` Tudor.Ambarus
2021-10-22 12:55           ` Tudor.Ambarus
2021-07-27  4:52 ` [PATCH v2 27/35] mtd: spi-nor: core: Init flash params based on SFDP first for new flash additions Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-08-24 17:51   ` Pratyush Yadav
2021-08-24 17:51     ` Pratyush Yadav
2021-10-04  5:01     ` Tudor.Ambarus
2021-10-04  5:01       ` Tudor.Ambarus
2021-10-04 11:36       ` Tudor.Ambarus
2021-10-04 11:36         ` Tudor.Ambarus
2021-07-27  4:52 ` [PATCH v2 28/35] mtd: spi-nor: sst: sst26vf064b: Use SPI_NOR_PARSE_SFDP Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-07-27  4:52 ` [PATCH v2 29/35] mtd: spi-nor: winbond: w25q256jvm: " Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-07-27  4:52 ` [PATCH v2 30/35] mtd: spi-nor: issi: is25lp256: " Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-07-27  4:52 ` [PATCH v2 31/35] mtd: spi-nor: spansion: s25fl256s0: Skip SFDP parsing Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-07-27  4:52 ` [PATCH v2 32/35] mtd: spi-nor: gigadevice: gd25q256: Use SPI_NOR_PARSE_SFDP Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-07-27  4:52 ` [PATCH v2 33/35] mtd: spi-nor: micron-st: n25q256a: " Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-07-27  4:52 ` [PATCH v2 34/35] mtd: spi-nor: macronix: mx25l25635e: " Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-07-27  4:52 ` [PATCH v2 35/35] docs: mtd: spi-nor: Add details about how to propose a new flash addition Tudor Ambarus
2021-07-27  4:52   ` Tudor Ambarus
2021-07-27  7:22   ` Michael Walle
2021-07-27  7:22     ` Michael Walle
2021-07-27  8:09     ` Tudor.Ambarus
2021-07-27  8:09       ` Tudor.Ambarus
2021-07-27  8:49       ` Michael Walle
2021-07-27  8:49         ` Michael Walle
2021-08-24 17:58     ` Pratyush Yadav
2021-08-24 17:58       ` Pratyush Yadav

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.