All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gregory CLEMENT <gregory.clement@free-electrons.com>
To: Maxime Chevallier <maxime.chevallier@smile.fr>
Cc: broonie@kernel.org, linux-spi@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 2/2] spi: a3700: Remove endianness swapping for full-duplex transfers
Date: Wed, 24 Jan 2018 15:23:54 +0100	[thread overview]
Message-ID: <87fu6v49ol.fsf@free-electrons.com> (raw)
In-Reply-To: <1516803048-26942-3-git-send-email-maxime.chevallier@smile.fr> (Maxime Chevallier's message of "Wed, 24 Jan 2018 15:10:48 +0100")

Hi Maxime,
 
 On mer., janv. 24 2018, Maxime Chevallier <maxime.chevallier@smile.fr> wrote:

> Fixes the following sparse warnings :
> line 767: warning: incorrect type in assignment (different base types)
> line 767:    expected unsigned int [unsigned] [assigned] [usertype] val_out
> line 767:    got restricted __le32 [usertype] <noident>
> line 776: warning: cast to restricted __le32
>
> This takes advantage of readl/writel to do the endianness reordering,
> and removes an extra variable in the function.
>
> Fixes: f68a7dcb91b7 ("spi: a3700: Add full-duplex support")
> Signed-off-by: Maxime Chevallier <maxime.chevallier@smile.fr>

As for the previous patch:

Reviewed-by: Gregory CLEMENT <gregory.clement@free-electrons.com>

Thanks,

Gregory> ---
>  drivers/spi/spi-armada-3700.c | 13 ++++++-------
>  1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/spi/spi-armada-3700.c b/drivers/spi/spi-armada-3700.c
> index 43ee0b56fe1c..7dcb14d303eb 100644
> --- a/drivers/spi/spi-armada-3700.c
> +++ b/drivers/spi/spi-armada-3700.c
> @@ -747,7 +747,7 @@ static int a3700_spi_transfer_one_full_duplex(struct spi_master *master,
>  				  struct spi_transfer *xfer)
>  {
>  	struct a3700_spi *a3700_spi = spi_master_get_devdata(master);
> -	u32 val_in, val_out;
> +	u32 val;
>  
>  	/* Disable FIFO mode */
>  	a3700_spi_fifo_mode_set(a3700_spi, false);
> @@ -761,21 +761,20 @@ static int a3700_spi_transfer_one_full_duplex(struct spi_master *master,
>  			a3700_spi_bytelen_set(a3700_spi, 1);
>  
>  		if (a3700_spi->byte_len == 1)
> -			val_out = *a3700_spi->tx_buf;
> +			val = *a3700_spi->tx_buf;
>  		else
> -			val_out = cpu_to_le32(*(u32 *)a3700_spi->tx_buf);
> +			val = *(u32 *)a3700_spi->tx_buf;
>  
> -		spireg_write(a3700_spi, A3700_SPI_DATA_OUT_REG, val_out);
> +		spireg_write(a3700_spi, A3700_SPI_DATA_OUT_REG, val);
>  
>  		/* Wait for all the data to be shifted in / out */
>  		while (!(spireg_read(a3700_spi, A3700_SPI_IF_CTRL_REG) &
>  				A3700_SPI_XFER_DONE))
>  			cpu_relax();
>  
> -		val_in = le32_to_cpu(spireg_read(a3700_spi,
> -						 A3700_SPI_DATA_IN_REG));
> +		val = spireg_read(a3700_spi, A3700_SPI_DATA_IN_REG);
>  
> -		memcpy(a3700_spi->rx_buf, &val_in, a3700_spi->byte_len);
> +		memcpy(a3700_spi->rx_buf, &val, a3700_spi->byte_len);
>  
>  		a3700_spi->buf_len -= a3700_spi->byte_len;
>  		a3700_spi->tx_buf += a3700_spi->byte_len;
> -- 
> 2.1.4
>

-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

WARNING: multiple messages have this Message-ID (diff)
From: gregory.clement@free-electrons.com (Gregory CLEMENT)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/2] spi: a3700: Remove endianness swapping for full-duplex transfers
Date: Wed, 24 Jan 2018 15:23:54 +0100	[thread overview]
Message-ID: <87fu6v49ol.fsf@free-electrons.com> (raw)
In-Reply-To: <1516803048-26942-3-git-send-email-maxime.chevallier@smile.fr> (Maxime Chevallier's message of "Wed, 24 Jan 2018 15:10:48 +0100")

Hi Maxime,
 
 On mer., janv. 24 2018, Maxime Chevallier <maxime.chevallier@smile.fr> wrote:

> Fixes the following sparse warnings :
> line 767: warning: incorrect type in assignment (different base types)
> line 767:    expected unsigned int [unsigned] [assigned] [usertype] val_out
> line 767:    got restricted __le32 [usertype] <noident>
> line 776: warning: cast to restricted __le32
>
> This takes advantage of readl/writel to do the endianness reordering,
> and removes an extra variable in the function.
>
> Fixes: f68a7dcb91b7 ("spi: a3700: Add full-duplex support")
> Signed-off-by: Maxime Chevallier <maxime.chevallier@smile.fr>

As for the previous patch:

Reviewed-by: Gregory CLEMENT <gregory.clement@free-electrons.com>

Thanks,

Gregory> ---
>  drivers/spi/spi-armada-3700.c | 13 ++++++-------
>  1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/spi/spi-armada-3700.c b/drivers/spi/spi-armada-3700.c
> index 43ee0b56fe1c..7dcb14d303eb 100644
> --- a/drivers/spi/spi-armada-3700.c
> +++ b/drivers/spi/spi-armada-3700.c
> @@ -747,7 +747,7 @@ static int a3700_spi_transfer_one_full_duplex(struct spi_master *master,
>  				  struct spi_transfer *xfer)
>  {
>  	struct a3700_spi *a3700_spi = spi_master_get_devdata(master);
> -	u32 val_in, val_out;
> +	u32 val;
>  
>  	/* Disable FIFO mode */
>  	a3700_spi_fifo_mode_set(a3700_spi, false);
> @@ -761,21 +761,20 @@ static int a3700_spi_transfer_one_full_duplex(struct spi_master *master,
>  			a3700_spi_bytelen_set(a3700_spi, 1);
>  
>  		if (a3700_spi->byte_len == 1)
> -			val_out = *a3700_spi->tx_buf;
> +			val = *a3700_spi->tx_buf;
>  		else
> -			val_out = cpu_to_le32(*(u32 *)a3700_spi->tx_buf);
> +			val = *(u32 *)a3700_spi->tx_buf;
>  
> -		spireg_write(a3700_spi, A3700_SPI_DATA_OUT_REG, val_out);
> +		spireg_write(a3700_spi, A3700_SPI_DATA_OUT_REG, val);
>  
>  		/* Wait for all the data to be shifted in / out */
>  		while (!(spireg_read(a3700_spi, A3700_SPI_IF_CTRL_REG) &
>  				A3700_SPI_XFER_DONE))
>  			cpu_relax();
>  
> -		val_in = le32_to_cpu(spireg_read(a3700_spi,
> -						 A3700_SPI_DATA_IN_REG));
> +		val = spireg_read(a3700_spi, A3700_SPI_DATA_IN_REG);
>  
> -		memcpy(a3700_spi->rx_buf, &val_in, a3700_spi->byte_len);
> +		memcpy(a3700_spi->rx_buf, &val, a3700_spi->byte_len);
>  
>  		a3700_spi->buf_len -= a3700_spi->byte_len;
>  		a3700_spi->tx_buf += a3700_spi->byte_len;
> -- 
> 2.1.4
>

-- 
Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

  reply	other threads:[~2018-01-24 14:23 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-24 14:10 [PATCH 0/2] spi: a3700: Remove endianness correction functions Maxime Chevallier
2018-01-24 14:10 ` Maxime Chevallier
     [not found] ` <1516803048-26942-1-git-send-email-maxime.chevallier-fqqU8Ppg2Jk@public.gmane.org>
2018-01-24 14:10   ` [PATCH 1/2] spi: a3700: Remove endianness swapping functions when accessing FIFOs Maxime Chevallier
2018-01-24 14:10     ` Maxime Chevallier
2018-01-24 14:10     ` Maxime Chevallier
     [not found]     ` <1516803048-26942-2-git-send-email-maxime.chevallier-fqqU8Ppg2Jk@public.gmane.org>
2018-01-24 14:23       ` Gregory CLEMENT
2018-01-24 14:23         ` Gregory CLEMENT
2018-01-24 14:23         ` Gregory CLEMENT
2018-01-24 15:36     ` Applied "spi: a3700: Remove endianness swapping functions when accessing FIFOs" to the spi tree Mark Brown
2018-01-24 15:36       ` Mark Brown
2018-01-24 14:10 ` [PATCH 2/2] spi: a3700: Remove endianness swapping for full-duplex transfers Maxime Chevallier
2018-01-24 14:10   ` Maxime Chevallier
2018-01-24 14:10   ` Maxime Chevallier
2018-01-24 14:23   ` Gregory CLEMENT [this message]
2018-01-24 14:23     ` Gregory CLEMENT
2018-01-24 15:36   ` Applied "spi: a3700: Remove endianness swapping for full-duplex transfers" to the spi tree Mark Brown
2018-01-24 15:36     ` 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=87fu6v49ol.fsf@free-electrons.com \
    --to=gregory.clement@free-electrons.com \
    --cc=broonie@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=maxime.chevallier@smile.fr \
    /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.