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?

> +     /*
> +      * 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.

-- 
With Best Regards,
Andy Shevchenko


Reply via email to