All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alexandre Belloni <alexandre.belloni@bootlin.com>
To: Ian Abbott <abbotti@mev.co.uk>
Cc: linux-rtc@vger.kernel.org, linux-kernel@vger.kernel.org,
	stable@vger.kernel.org, Linus Walleij <linus.walleij@linaro.org>,
	Mark Brown <broonie@kernel.org>
Subject: Re: [RESEND PATCH] rtc: ds1343: Force SPI chip select to be active high
Date: Wed, 10 Jul 2024 20:40:53 +0200	[thread overview]
Message-ID: <20240710184053c34201f0@mail.local> (raw)
In-Reply-To: <20240710175246.3560207-1-abbotti@mev.co.uk>

Hello,

On 10/07/2024 18:52:07+0100, Ian Abbott wrote:
> Commit 3b52093dc917 ("rtc: ds1343: Do not hardcode SPI mode flags")
> bit-flips (^=) the existing SPI_CS_HIGH setting in the SPI mode during
> device probe.  This will set it to the wrong value if the spi-cs-high
> property has been set in the devicetree node.  Just force it to be set
> active high and get rid of some commentary that attempted to explain why
> flipping the bit was the correct choice.
> 
> Fixes: 3b52093dc917 ("rtc: ds1343: Do not hardcode SPI mode flags")
> Cc: <stable@vger.kernel.org> # 5.6+
> Cc: Linus Walleij <linus.walleij@linaro.org>
> Cc: Mark Brown <broonie@kernel.org>
> Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
> ---
>  drivers/rtc/rtc-ds1343.c | 9 +++------
>  1 file changed, 3 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/rtc/rtc-ds1343.c b/drivers/rtc/rtc-ds1343.c
> index ed5a6ba89a3e..484b5756b55c 100644
> --- a/drivers/rtc/rtc-ds1343.c
> +++ b/drivers/rtc/rtc-ds1343.c
> @@ -361,13 +361,10 @@ static int ds1343_probe(struct spi_device *spi)
>  	if (!priv)
>  		return -ENOMEM;
>  
> -	/* RTC DS1347 works in spi mode 3 and
> -	 * its chip select is active high. Active high should be defined as
> -	 * "inverse polarity" as GPIO-based chip selects can be logically
> -	 * active high but inverted by the GPIO library.
> +	/*
> +	 * RTC DS1347 works in spi mode 3 and its chip select is active high.
>  	 */
> -	spi->mode |= SPI_MODE_3;
> -	spi->mode ^= SPI_CS_HIGH;
> +	spi->mode |= SPI_MODE_3 | SPI_CS_HIGH;

Linus being the gpio maintainer and Mark being the SPI maintainer, I'm
pretty sure this was correct at the time.

Are you sure you are not missing an active high/low flag on a gpio
definition?

>  	spi->bits_per_word = 8;
>  	res = spi_setup(spi);
>  	if (res)
> -- 
> 2.43.0
> 

-- 
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

  reply	other threads:[~2024-07-10 18:42 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-10 17:52 [RESEND PATCH] rtc: ds1343: Force SPI chip select to be active high Ian Abbott
2024-07-10 18:40 ` Alexandre Belloni [this message]
2024-07-11 14:05   ` Ian Abbott
2024-07-11 14:21     ` Mark Brown
2024-07-11 15:29       ` Ian Abbott
2024-07-11 16:12         ` Mark Brown
2024-07-24 16:46   ` Ian Abbott

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20240710184053c34201f0@mail.local \
    --to=alexandre.belloni@bootlin.com \
    --cc=abbotti@mev.co.uk \
    --cc=broonie@kernel.org \
    --cc=linus.walleij@linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rtc@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.