linux-spi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] spi: bitbang: initialize bits_per_word as specified by spi message
@ 2011-06-01 16:36 Anatolij Gustschin
       [not found] ` <1306946209-28553-1-git-send-email-agust-ynQEQJNshbs@public.gmane.org>
  0 siblings, 1 reply; 2+ messages in thread
From: Anatolij Gustschin @ 2011-06-01 16:36 UTC (permalink / raw)
  To: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f, Grant Likely
  Cc: Anatolij Gustschin

SPI protocol drivers can submit messages specifying needed bits_per_word
parameter for a message transfer. The bitbang driver currently ignores
bits_per_word given by a singe message and always uses master's
bits_per_word parameter. Only use master's bits_per_word when a
message didn't specify needed bits_per_word for ongoing transfer.

Signed-off-by: Anatolij Gustschin <agust-ynQEQJNshbs@public.gmane.org>
---
 drivers/spi/spi_bitbang.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/spi/spi_bitbang.c b/drivers/spi/spi_bitbang.c
index 14a63f6..bb38c83 100644
--- a/drivers/spi/spi_bitbang.c
+++ b/drivers/spi/spi_bitbang.c
@@ -68,7 +68,7 @@ static unsigned bitbang_txrx_8(
 	unsigned		ns,
 	struct spi_transfer	*t
 ) {
-	unsigned		bits = spi->bits_per_word;
+	unsigned		bits = t->bits_per_word ? : spi->bits_per_word;
 	unsigned		count = t->len;
 	const u8		*tx = t->tx_buf;
 	u8			*rx = t->rx_buf;
@@ -94,7 +94,7 @@ static unsigned bitbang_txrx_16(
 	unsigned		ns,
 	struct spi_transfer	*t
 ) {
-	unsigned		bits = spi->bits_per_word;
+	unsigned		bits = t->bits_per_word ? : spi->bits_per_word;
 	unsigned		count = t->len;
 	const u16		*tx = t->tx_buf;
 	u16			*rx = t->rx_buf;
@@ -120,7 +120,7 @@ static unsigned bitbang_txrx_32(
 	unsigned		ns,
 	struct spi_transfer	*t
 ) {
-	unsigned		bits = spi->bits_per_word;
+	unsigned		bits = t->bits_per_word ? : spi->bits_per_word;
 	unsigned		count = t->len;
 	const u32		*tx = t->tx_buf;
 	u32			*rx = t->rx_buf;
-- 
1.7.1


------------------------------------------------------------------------------
Simplify data backup and recovery for your virtual environment with vRanger. 
Installation's a snap, and flexible recovery options mean your data is safe,
secure and there when you need it. Data protection magic?
Nope - It's vRanger. Get your free trial download today. 
http://p.sf.net/sfu/quest-sfdev2dev

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] spi: bitbang: initialize bits_per_word as specified by spi message
       [not found] ` <1306946209-28553-1-git-send-email-agust-ynQEQJNshbs@public.gmane.org>
@ 2011-06-03 21:01   ` Grant Likely
  0 siblings, 0 replies; 2+ messages in thread
From: Grant Likely @ 2011-06-03 21:01 UTC (permalink / raw)
  To: Anatolij Gustschin; +Cc: spi-devel-general-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

On Wed, Jun 01, 2011 at 06:36:49PM +0200, Anatolij Gustschin wrote:
> SPI protocol drivers can submit messages specifying needed bits_per_word
> parameter for a message transfer. The bitbang driver currently ignores
> bits_per_word given by a singe message and always uses master's
> bits_per_word parameter. Only use master's bits_per_word when a
> message didn't specify needed bits_per_word for ongoing transfer.
> 
> Signed-off-by: Anatolij Gustschin <agust-ynQEQJNshbs@public.gmane.org>

Looks right to me.  Merged.

g.

> ---
>  drivers/spi/spi_bitbang.c |    6 +++---
>  1 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/spi/spi_bitbang.c b/drivers/spi/spi_bitbang.c
> index 14a63f6..bb38c83 100644
> --- a/drivers/spi/spi_bitbang.c
> +++ b/drivers/spi/spi_bitbang.c
> @@ -68,7 +68,7 @@ static unsigned bitbang_txrx_8(
>  	unsigned		ns,
>  	struct spi_transfer	*t
>  ) {
> -	unsigned		bits = spi->bits_per_word;
> +	unsigned		bits = t->bits_per_word ? : spi->bits_per_word;
>  	unsigned		count = t->len;
>  	const u8		*tx = t->tx_buf;
>  	u8			*rx = t->rx_buf;
> @@ -94,7 +94,7 @@ static unsigned bitbang_txrx_16(
>  	unsigned		ns,
>  	struct spi_transfer	*t
>  ) {
> -	unsigned		bits = spi->bits_per_word;
> +	unsigned		bits = t->bits_per_word ? : spi->bits_per_word;
>  	unsigned		count = t->len;
>  	const u16		*tx = t->tx_buf;
>  	u16			*rx = t->rx_buf;
> @@ -120,7 +120,7 @@ static unsigned bitbang_txrx_32(
>  	unsigned		ns,
>  	struct spi_transfer	*t
>  ) {
> -	unsigned		bits = spi->bits_per_word;
> +	unsigned		bits = t->bits_per_word ? : spi->bits_per_word;
>  	unsigned		count = t->len;
>  	const u32		*tx = t->tx_buf;
>  	u32			*rx = t->rx_buf;
> -- 
> 1.7.1
> 

------------------------------------------------------------------------------
Simplify data backup and recovery for your virtual environment with vRanger.
Installation's a snap, and flexible recovery options mean your data is safe,
secure and there when you need it. Discover what all the cheering's about.
Get your free trial download today. 
http://p.sf.net/sfu/quest-dev2dev2 

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-06-03 21:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-06-01 16:36 [PATCH] spi: bitbang: initialize bits_per_word as specified by spi message Anatolij Gustschin
     [not found] ` <1306946209-28553-1-git-send-email-agust-ynQEQJNshbs@public.gmane.org>
2011-06-03 21:01   ` Grant Likely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).