Thread (4 messages) 4 messages, 2 authors, 2012-12-22

[PATCH V2] spi: remove check for bits_per_word on transfer from low level driver

From: Grant Likely <hidden>
Date: 2012-12-22 09:54:15
Also in: linux-samsung-soc, linux-spi, linux-tegra, lkml

On Thu, 20 Dec 2012 11:33:47 +0530, Laxman Dewangan [off-list ref] wrote:
On Wednesday 19 December 2012 09:54 PM, Grant Likely wrote:
quoted
On Tue, 18 Dec 2012 14:25:43 +0530, Laxman Dewangan[off-list ref]  wrote:
quoted
The spi core make sure that each transfer structure have the proper
setting for bits_per_word before calling low level transfer APIs.

Hence it is no more require to check again in low level driver for
this field whether this is set correct or not. Removing such code
from low level driver.

Signed-off-by: Laxman Dewangan<ldewangan@nvidia.com>
[...]
quoted
*/

  		if (prev_speed_hz != speed_hz
@@ -316,9 +315,8 @@ static int txx9spi_transfer(struct spi_device *spi, struct spi_message *m)
  	/* check each transfer's parameters */
  	list_for_each_entry (t,&m->transfers, transfer_list) {
  		u32 speed_hz = t->speed_hz ? : spi->max_speed_hz;
-		u8 bits_per_word = t->bits_per_word ? : spi->bits_per_word;
+		u8 bits_per_word = t->bits_per_word;

-		bits_per_word = bits_per_word ? : 8;
Have you verified here that bits_per_word can never be '0' here? What is
the path that ensures spi->bits_per_word (and hence t->bits_per_word) is
set to 8 here?

Otherwise the patch looks good. Thanks for doing this work.

When we do the spi_add_device(), the spi_setup() get called.
In spi_setup, it make  sure that spi->bits_per_word is not zero.

in spi_setup(spi.c)

if (!spi->bits_per_word)
                 spi->bits_per_word = 8;
Applied, thanks.

g.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help