Messages in this thread | | | Date | Thu, 20 Dec 2012 11:33:47 +0530 | From | Laxman Dewangan <> | Subject | Re: [PATCH V2] spi: remove check for bits_per_word on transfer from low level driver |
| |
On Wednesday 19 December 2012 09:54 PM, Grant Likely wrote: > On Tue, 18 Dec 2012 14:25:43 +0530, Laxman Dewangan<ldewangan@nvidia.com> wrote: >> 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> > [...] >> */ >> >> 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;
| |