OSDN Git Service

rtc: ds1343: Do not hardcode SPI mode flags
authorLinus Walleij <linus.walleij@linaro.org>
Wed, 4 Dec 2019 22:57:31 +0000 (23:57 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Tue, 10 Dec 2019 16:47:16 +0000 (17:47 +0100)
commit3b52093dc9175f48b275a02919149a2dff3a386d
tree395697973e4585e59e7ce5a665f09f6d6effcab8
parent519d63702d0e710fd02dabce1370eaa24dfb5fc8
rtc: ds1343: Do not hardcode SPI mode flags

The current use of mode flags to us SPI_MODE_3 and
SPI_CS_HIGH is fragile: it overwrites anything already
assigned by the SPI core. Change it thusly:

- Just |= the SPI_MODE_3 so we keep other flags
- Assign ^= SPI_CS_HIGH since we might be active high
  already, and that is usually the case with GPIOs used
  for chip select, even if they are in practice active low.

Add a comment clarifying why ^= SPI_CS_HIGH is the right
choice here.

Reported-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20191204225731.20306-1-linus.walleij@linaro.org
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-ds1343.c