Re: [PATCH] Configure FSL eSPI CSBEF, CSAFT, and whether to send all received data to user

From: Mark Brown
Date: Wed Apr 16 2014 - 13:29:19 EST


On Wed, Apr 16, 2014 at 04:39:47PM +0000, Jane Wan wrote:
> On Mon, Apr 14, 2014 at 09:51:56PM +0100, Mark Brown wrote:

> > > + if (spi_raw_rxdata_to_user[m->spi->chip_select])
> > > + espi_trans->len = n_tx;
> > > + else
> > > + espi_trans->len = trans_len + n_tx;

> > Why is there even an option for the buggy behaviour?

> We have three devices attached to the FSL eSPI interface, with chip select (CS)
> 0-2. The device driver for the device at CS #2 requires to know all the data that
> the slave device put on MISO. But the device drivers for the other two devices
> (at CS #0 and #1) work with the existing FSL eSPI driver. The device at CS #0 is
> Micron n25q512a compatible.

> We make the FSL eSPI driver configurable through device tree. If we make a fix
> without the DT option, the fix will break other device drivers working with the
> existing FSL eSPI driver.

> Could this still be considered as a solution? If this is ok, I can send it as a separate
> patch. Otherwise, we will look if this driver can be modified without DT option.

No, this is completely unaceptable. The drivers relying on the buggy
behaviour are broken and must be fixed. The whole point of DT is to
describe the hardware, not to allow the OS to implement workarounds for
itself.

Attachment: signature.asc
Description: Digital signature