From: Linus Walleij <linus.walleij@linaro.org>
Date: Tue, 10 Nov 2020 23:46:52 +0000 (+0100)
Subject: drm/panel: s6e63m0: Support 3WIRE protocol
X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=4680e9cc9d8bc9db8a7489cb77a8d19962bd580e;p=linux.git

drm/panel: s6e63m0: Support 3WIRE protocol

The panel can be connected using 3WIRE, then it is
however necessary that the flag SPI_3WIRE is preserved
on the device, as we set this from generic device tree
parsing code (or similar). Just |= the SPI mode.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Stephan Gerhold <stephan@gerhold.net>
Cc: Paweł Chmiel <pawel.mikolaj.chmiel@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201110234653.2248594-5-linus.walleij@linaro.org
---

diff --git a/drivers/gpu/drm/panel/panel-samsung-s6e63m0-spi.c b/drivers/gpu/drm/panel/panel-samsung-s6e63m0-spi.c
index fa24e6889ec18..326deb3177b6c 100644
--- a/drivers/gpu/drm/panel/panel-samsung-s6e63m0-spi.c
+++ b/drivers/gpu/drm/panel/panel-samsung-s6e63m0-spi.c
@@ -72,7 +72,8 @@ static int s6e63m0_spi_probe(struct spi_device *spi)
 	int ret;
 
 	spi->bits_per_word = 9;
-	spi->mode = SPI_MODE_3;
+	/* Preserve e.g. SPI_3WIRE setting */
+	spi->mode |= SPI_MODE_3;
 	ret = spi_setup(spi);
 	if (ret < 0) {
 		dev_err(dev, "spi setup failed.\n");