On Fri, Oct 02, 2020 at 01:22:46PM +0300, Andy Shevchenko wrote: > On Fri, Oct 02, 2020 at 01:28:11AM +0300, Serge Semin wrote: > > Indeed there is no point in detecting the SPI peripheral device parameters > > and initializing the CR0 register fields each time an SPI transfer is > > executed. Instead let's define a dedicated CR0 chip-data member, which > > will be initialized in accordance with the SPI device settings at the > > moment of setting it up. > > > > By doing so we'll finally make the SPI device chip_data serving as it's > > supposed to - to preserve the SPI device specific DW SPI configuration. > > See spi-fsl-dspi.c, spi-pl022.c, spi-pxa2xx.c drivers for example of the > > way the chip data is utilized. > > > +static void dw_spi_update_cr0(struct dw_spi *dws, struct spi_device *spi, > > + struct spi_transfer *transfer) > > Yep, why not to place this in previous patch exactly here? The previous patch is about introducing the DWC SSI capability. This one is about splitting the functionality up. > > > + /* > > + * Update CR0 data each time the setup callback is invoked since > > + * the device parameters could have been changed, for instance, by > > + * the MMC SPI driver or something else. > > + */ > > + chip->cr0 = dw_spi_get_cr0(dws, spi); > > I would rather name it prepare or alike. 'get' assumes getting value or > something like that. This seems reasonable. What verb do you think would be better: prepare, calc, assemble, construct, make, compute, collect, compose, form, compile, etc ? Personally prepare or calc or assemble are the best candidates. What do you think? -Sergey > > -- > With Best Regards, > Andy Shevchenko > >