On 04/25/2017 10:08 PM, Cyrille Pitchen wrote: > From: Cyrille Pitchen <cyrille.pitc...@atmel.com> > > This patch changes the prototype of spi_nor_scan(): its 3rd parameter > is replaced by a 'struct spi_nor_hwcaps' pointer, which tells the spi-nor > framework about the actual hardware capabilities supported by the SPI > controller and its driver. > > Besides, this patch also introduces a new 'struct spi_nor_flash_parameter' > telling the spi-nor framework about the hardware capabilities supported by > the SPI flash memory and the associated settings required to use those > hardware caps. > > Then, to improve the readability of spi_nor_scan(), the discovery of the > memory settings and the memory initialization are now split into two > dedicated functions. > > 1 - spi_nor_init_params() > > The spi_nor_init_params() function is responsible for initializing the > 'struct spi_nor_flash_parameter'. Currently this structure is filled with > legacy values but further patches will allow to override some parameter > values dynamically, for instance by reading the JESD216 Serial Flash > Discoverable Parameter (SFDP) tables from the SPI memory. > The spi_nor_init_params() function only deals with the hardware > capabilities of the SPI flash memory: especially it doesn't care about > the hardware capabilities supported by the SPI controller. > > 2 - spi_nor_setup() > > The second function is called once the 'struct spi_nor_flash_parameter' > has been initialized by spi_nor_init_params(). > With both 'struct spi_nor_flash_parameter' and 'struct spi_nor_hwcaps', > the new argument of spi_nor_scan(), spi_nor_setup() computes the best > match between hardware caps supported by both the (Q)SPI memory and > controller hence selecting the relevant settings for (Fast) Read and Page > Program operations. > > Signed-off-by: Cyrille Pitchen <cyrille.pitc...@atmel.com>
Reviewed-by: Marek Vasut <marek.va...@gmail.com> [...] -- Best regards, Marek Vasut