Input: ad7879 - fix spi word size to 16 bit
authorMichael Hennerich <michael.hennerich@analog.com>
Wed, 30 Jun 2010 21:51:09 +0000 (14:51 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Sat, 3 Jul 2010 20:13:20 +0000 (13:13 -0700)
Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/touchscreen/ad7879-spi.c

index 9fa8e5d..59c6e68 100644 (file)
@@ -134,6 +134,7 @@ static const struct ad7879_bus_ops ad7879_spi_bus_ops = {
 static int __devinit ad7879_spi_probe(struct spi_device *spi)
 {
        struct ad7879 *ts;
+       int err;
 
        /* don't exceed max specified SPI CLK frequency */
        if (spi->max_speed_hz > MAX_SPI_FREQ_HZ) {
@@ -141,6 +142,13 @@ static int __devinit ad7879_spi_probe(struct spi_device *spi)
                return -EINVAL;
        }
 
+       spi->bits_per_word = 16;
+       err = spi_setup(spi);
+       if (err) {
+               dev_dbg(&spi->dev, "spi master doesn't support 16 bits/word\n");
+               return err;
+       }
+
        ts = ad7879_probe(&spi->dev, AD7879_DEVID, spi->irq, &ad7879_spi_bus_ops);
        if (IS_ERR(ts))
                return PTR_ERR(ts);