All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nathan Chancellor <natechancellor@gmail.com>
To: "Martin Hundebøll" <martin@geanix.com>
Cc: Mark Brown <broonie@kernel.org>,
	linux-spi@vger.kernel.org,
	Florian Fainelli <f.fainelli@gmail.com>,
	Scott Branden <sbranden@broadcom.com>,
	Gregory CLEMENT <gregory.clement@bootlin.com>,
	stable@vger.kernel.org,
	Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
	bcm-kernel-feedback-list@broadcom.com,
	linux-rpi-kernel@lists.infradead.org, Ray Jui <rjui@broadcom.com>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH] spi: bcm2835: fix gpio cs level inversion
Date: Fri, 30 Oct 2020 02:06:21 -0700	[thread overview]
Message-ID: <20201030090621.GA3594676@ubuntu-m3-large-x86> (raw)
In-Reply-To: <20201014090230.2706810-1-martin@geanix.com>

On Wed, Oct 14, 2020 at 11:02:30AM +0200, Martin Hundebøll wrote:
> The work on improving gpio chip-select in spi core, and the following
> fixes, has caused the bcm2835 spi driver to use wrong levels. Fix this
> by simply removing level handling in the bcm2835 driver, and let the
> core do its work.
> 
> Fixes: 3e5ec1db8bfe ("spi: Fix SPI_CS_HIGH setting when using native and GPIO CS")
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Martin Hundebøll <martin@geanix.com>
> ---
>  drivers/spi/spi-bcm2835.c | 12 ------------
>  1 file changed, 12 deletions(-)
> 
> diff --git a/drivers/spi/spi-bcm2835.c b/drivers/spi/spi-bcm2835.c
> index b87116e9b413..9b6ba94fe878 100644
> --- a/drivers/spi/spi-bcm2835.c
> +++ b/drivers/spi/spi-bcm2835.c
> @@ -1259,18 +1259,6 @@ static int bcm2835_spi_setup(struct spi_device *spi)
>  	if (!chip)
>  		return 0;
>  
> -	/*
> -	 * Retrieve the corresponding GPIO line used for CS.
> -	 * The inversion semantics will be handled by the GPIO core
> -	 * code, so we pass GPIOD_OUT_LOW for "unasserted" and
> -	 * the correct flag for inversion semantics. The SPI_CS_HIGH
> -	 * on spi->mode cannot be checked for polarity in this case
> -	 * as the flag use_gpio_descriptors enforces SPI_CS_HIGH.
> -	 */
> -	if (of_property_read_bool(spi->dev.of_node, "spi-cs-high"))
> -		lflags = GPIO_ACTIVE_HIGH;
> -	else
> -		lflags = GPIO_ACTIVE_LOW;
>  	spi->cs_gpiod = gpiochip_request_own_desc(chip, 8 - spi->chip_select,
>  						  DRV_NAME,
>  						  lflags,
> -- 
> 2.28.0
> 
> 

Clang now warns:

drivers/spi/spi-bcm2835.c:1264:9: warning: variable 'lflags' is uninitialized when used here [-Wuninitialized]
                                                  lflags,
                                                  ^~~~~~
drivers/spi/spi-bcm2835.c:1196:2: note: variable 'lflags' is declared here
        enum gpio_lookup_flags lflags;
        ^
1 warning generated.

Cheers,
Nathan

WARNING: multiple messages have this Message-ID (diff)
From: Nathan Chancellor <natechancellor@gmail.com>
To: "Martin Hundebøll" <martin@geanix.com>
Cc: linux-arm-kernel@lists.infradead.org,
	Florian Fainelli <f.fainelli@gmail.com>,
	Scott Branden <sbranden@broadcom.com>,
	Ray Jui <rjui@broadcom.com>,
	Gregory CLEMENT <gregory.clement@bootlin.com>,
	stable@vger.kernel.org, linux-spi@vger.kernel.org,
	Mark Brown <broonie@kernel.org>,
	bcm-kernel-feedback-list@broadcom.com,
	linux-rpi-kernel@lists.infradead.org,
	Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Subject: Re: [PATCH] spi: bcm2835: fix gpio cs level inversion
Date: Fri, 30 Oct 2020 02:06:21 -0700	[thread overview]
Message-ID: <20201030090621.GA3594676@ubuntu-m3-large-x86> (raw)
In-Reply-To: <20201014090230.2706810-1-martin@geanix.com>

On Wed, Oct 14, 2020 at 11:02:30AM +0200, Martin Hundebøll wrote:
> The work on improving gpio chip-select in spi core, and the following
> fixes, has caused the bcm2835 spi driver to use wrong levels. Fix this
> by simply removing level handling in the bcm2835 driver, and let the
> core do its work.
> 
> Fixes: 3e5ec1db8bfe ("spi: Fix SPI_CS_HIGH setting when using native and GPIO CS")
> Cc: <stable@vger.kernel.org>
> Signed-off-by: Martin Hundebøll <martin@geanix.com>
> ---
>  drivers/spi/spi-bcm2835.c | 12 ------------
>  1 file changed, 12 deletions(-)
> 
> diff --git a/drivers/spi/spi-bcm2835.c b/drivers/spi/spi-bcm2835.c
> index b87116e9b413..9b6ba94fe878 100644
> --- a/drivers/spi/spi-bcm2835.c
> +++ b/drivers/spi/spi-bcm2835.c
> @@ -1259,18 +1259,6 @@ static int bcm2835_spi_setup(struct spi_device *spi)
>  	if (!chip)
>  		return 0;
>  
> -	/*
> -	 * Retrieve the corresponding GPIO line used for CS.
> -	 * The inversion semantics will be handled by the GPIO core
> -	 * code, so we pass GPIOD_OUT_LOW for "unasserted" and
> -	 * the correct flag for inversion semantics. The SPI_CS_HIGH
> -	 * on spi->mode cannot be checked for polarity in this case
> -	 * as the flag use_gpio_descriptors enforces SPI_CS_HIGH.
> -	 */
> -	if (of_property_read_bool(spi->dev.of_node, "spi-cs-high"))
> -		lflags = GPIO_ACTIVE_HIGH;
> -	else
> -		lflags = GPIO_ACTIVE_LOW;
>  	spi->cs_gpiod = gpiochip_request_own_desc(chip, 8 - spi->chip_select,
>  						  DRV_NAME,
>  						  lflags,
> -- 
> 2.28.0
> 
> 

Clang now warns:

drivers/spi/spi-bcm2835.c:1264:9: warning: variable 'lflags' is uninitialized when used here [-Wuninitialized]
                                                  lflags,
                                                  ^~~~~~
drivers/spi/spi-bcm2835.c:1196:2: note: variable 'lflags' is declared here
        enum gpio_lookup_flags lflags;
        ^
1 warning generated.

Cheers,
Nathan

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2020-10-30  9:06 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-10-14  9:02 [PATCH] spi: bcm2835: fix gpio cs level inversion Martin Hundebøll
2020-10-14  9:02 ` Martin Hundebøll
2020-10-29 13:07 ` Mark Brown
2020-10-30  9:06 ` Nathan Chancellor [this message]
2020-10-30  9:06   ` Nathan Chancellor
2020-11-05  9:06 ` [PATCH] spi: bcm2835: remove use of uninitialized gpio flags variable Martin Hundebøll
2020-11-05  9:06   ` Martin Hundebøll
2020-11-05 15:08   ` Mark Brown
2020-11-05 15:08     ` Mark Brown
2020-11-06 11:54   ` Mark Brown

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=20201030090621.GA3594676@ubuntu-m3-large-x86 \
    --to=natechancellor@gmail.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=broonie@kernel.org \
    --cc=f.fainelli@gmail.com \
    --cc=gregory.clement@bootlin.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-rpi-kernel@lists.infradead.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=martin@geanix.com \
    --cc=nsaenzjulienne@suse.de \
    --cc=rjui@broadcom.com \
    --cc=sbranden@broadcom.com \
    --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.