On Wed, Sep 01, 2010 at 02:24:49PM +0800, Feng Tang wrote: > Currently a spi device's bits_per_word can only be inited > inside protocol driver's probe func, this patch will enable > platform code to specify this info when registering the > spi_board_info
What is the use case that you would want to do this. Knowing what the bits_per_word should be is the responsibility of the spi device driver. What is the use-case where the driver wouldn't know what bits_per_word should be? g. > > Signed-off-by: Feng Tang <[email protected]> > Cc: David Brownell <[email protected]> > Cc: Grant Likely <[email protected]> > --- > drivers/spi/spi.c | 1 + > include/linux/spi/spi.h | 3 +++ > 2 files changed, 4 insertions(+), 0 deletions(-) > > diff --git a/drivers/spi/spi.c b/drivers/spi/spi.c > index a9e5c79..a8690e7 100644 > --- a/drivers/spi/spi.c > +++ b/drivers/spi/spi.c > @@ -350,6 +350,7 @@ struct spi_device *spi_new_device(struct spi_master > *master, > proxy->chip_select = chip->chip_select; > proxy->max_speed_hz = chip->max_speed_hz; > proxy->mode = chip->mode; > + proxy->bits_per_word = chip->bits_per_word; > proxy->irq = chip->irq; > strlcpy(proxy->modalias, chip->modalias, sizeof(proxy->modalias)); > proxy->dev.platform_data = (void *) chip->platform_data; > diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h > index 92e52a1..f36d0d5 100644 > --- a/include/linux/spi/spi.h > +++ b/include/linux/spi/spi.h > @@ -698,6 +698,8 @@ static inline ssize_t spi_w8r16(struct spi_device *spi, > u8 cmd) > * @mode: Initializes spi_device.mode; based on the chip datasheet, board > * wiring (some devices support both 3WIRE and standard modes), and > * possibly presence of an inverter in the chipselect path. > + * @bits_per_word: Initializes spi_device.bits_per_word, usually it will > + * be from 8 to 32 bits > * > * When adding new SPI devices to the device tree, these structures serve > * as a partial device template. They hold information which can't always > @@ -742,6 +744,7 @@ struct spi_board_info { > * where the default of SPI_CS_HIGH = 0 is wrong. > */ > u8 mode; > + u8 bits_per_word; > > /* ... may need additional spi_device chip config data here. > * avoid stuff protocol drivers can set; but include stuff > -- > 1.7.0.4 > ------------------------------------------------------------------------------ This SF.net Dev2Dev email is sponsored by: Show off your parallel programming skills. Enter the Intel(R) Threading Challenge 2010. http://p.sf.net/sfu/intel-thread-sfd _______________________________________________ spi-devel-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/spi-devel-general
