platform/chrome: cros_ec_spi: Don't overwrite spi::mode
authorStephen Boyd <swboyd@chromium.org>
Fri, 4 Dec 2020 19:35:38 +0000 (11:35 -0800)
committerMark Brown <broonie@kernel.org>
Wed, 9 Dec 2020 16:52:08 +0000 (16:52 +0000)
There isn't any need to overwrite the mode here in the driver with what
has been detected by the firmware, such as DT or ACPI. In fact, if we
use the SPI CS gpio descriptor feature we will overwrite the mode with
SPI_MODE_0 where it already contains SPI_MODE_0 and more importantly
SPI_CS_HIGH. Clearing the SPI_CS_HIGH bit causes the CS line to toggle
when the device is probed when it shouldn't change, confusing the driver
and making it fail to probe. Drop the assignment and let the spi core
take care of it.

Fixes: a17d94f0b6e1 ("mfd: Add ChromeOS EC SPI driver")
Cc: Simon Glass <sjg@chromium.org>
Cc: Gwendal Grignou <gwendal@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Tested-by: Douglas Anderson <dianders@chromium.org>
Acked-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Cc: Alexandru M Stan <amstan@chromium.org>
Signed-off-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
Link: https://lore.kernel.org/r/20201204193540.3047030-2-swboyd@chromium.org
Signed-off-by: Mark Brown <broonie@kernel.org>
drivers/platform/chrome/cros_ec_spi.c

index dfa1f81..f9df218 100644 (file)
@@ -742,7 +742,6 @@ static int cros_ec_spi_probe(struct spi_device *spi)
        int err;
 
        spi->bits_per_word = 8;
-       spi->mode = SPI_MODE_0;
        spi->rt = true;
        err = spi_setup(spi);
        if (err < 0)