mtd: spi-nor: core: Introduce the late_init() hook
authorTudor Ambarus <tudor.ambarus@microchip.com>
Fri, 29 Oct 2021 17:26:13 +0000 (20:26 +0300)
committerTudor Ambarus <tudor.ambarus@microchip.com>
Wed, 17 Nov 2021 12:41:28 +0000 (14:41 +0200)
commitdacc8cfee493891b130507a4646806b3d0597ee7
treed87838dcefa979ec69bf1acdf5eb8bb4037a5a96
parent5854d4a6cc356ba3e16d8593ac1c089a32d1759c
mtd: spi-nor: core: Introduce the late_init() hook

Flash parameters init is done in a spaghetti way right now.
There is the init based on the flash_info data, then there is the
default_init() hook, then SFDP init, an intermediary post_bft(),
then post_sfdp() and a spi_nor_late_init_params(). Each method can
overwrite previuosly initialized parameters.

We want to separate what is SFDP and non-SFDP specific. late_init()
will replace the default_init() hook and will be used only to initialize
flash parameters that are not declared in the JESD216 SFDP standard, or
where SFDP tables are not defined at all.
We cut a member in the chain of initializing parameters by getting rid
of the default_init() hook, and we make it clear that everything that is
in late_init() is not covered by the SFDP tables defined by the flash.

Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
Reviewed-by: Michael Walle <michael@walle.cc>
Reviewed-by: Pratyush Yadav <p.yadav@ti.com>
Link: https://lore.kernel.org/r/20211029172633.886453-6-tudor.ambarus@microchip.com
drivers/mtd/spi-nor/core.c
drivers/mtd/spi-nor/core.h