cns3xxx: fix build failure after r34168
[openwrt.git] / target / linux / cns3xxx / patches-3.3 / 075-spi_support.patch
1 --- a/drivers/spi/Kconfig
2 +++ b/drivers/spi/Kconfig
3 @@ -117,6 +117,13 @@ config SPI_BUTTERFLY
4           inexpensive battery powered microcontroller evaluation board.
5           This same cable can be used to flash new firmware.
6  
7 +config SPI_CNS3XXX
8 +       tristate "CNS3XXX SPI controller"
9 +       depends on ARCH_CNS3XXX && SPI_MASTER
10 +       select SPI_BITBANG
11 +       help
12 +         This enables using the CNS3XXX SPI controller in master mode.
13 +
14  config SPI_COLDFIRE_QSPI
15         tristate "Freescale Coldfire QSPI controller"
16         depends on (M520x || M523x || M5249 || M527x || M528x || M532x)
17 --- a/drivers/spi/Makefile
18 +++ b/drivers/spi/Makefile
19 @@ -18,6 +18,7 @@ obj-$(CONFIG_SPI_BFIN)                        += spi-bfin5xx.
20  obj-$(CONFIG_SPI_BFIN_SPORT)           += spi-bfin-sport.o
21  obj-$(CONFIG_SPI_BITBANG)              += spi-bitbang.o
22  obj-$(CONFIG_SPI_BUTTERFLY)            += spi-butterfly.o
23 +obj-$(CONFIG_SPI_CNS3XXX)              += spi-cns3xxx.o
24  obj-$(CONFIG_SPI_COLDFIRE_QSPI)                += spi-coldfire-qspi.o
25  obj-$(CONFIG_SPI_DAVINCI)              += spi-davinci.o
26  obj-$(CONFIG_SPI_DESIGNWARE)           += spi-dw.o
27 --- a/drivers/spi/spi-bitbang.c
28 +++ b/drivers/spi/spi-bitbang.c
29 @@ -330,6 +330,12 @@ static void bitbang_work(struct work_str
30                                  */
31                                 if (!m->is_dma_mapped)
32                                         t->rx_dma = t->tx_dma = 0;
33 +
34 +                               if (t->transfer_list.next == &m->transfers)
35 +                                       t->last_in_message_list = 1;
36 +                               else
37 +                                       t->last_in_message_list = 0;
38 +
39                                 status = bitbang->txrx_bufs(spi, t);
40                         }
41                         if (status > 0)
42 --- a/include/linux/spi/spi.h
43 +++ b/include/linux/spi/spi.h
44 @@ -508,6 +508,13 @@ struct spi_transfer {
45         u32             speed_hz;
46  
47         struct list_head transfer_list;
48 +
49 +#ifdef CONFIG_ARCH_CNS3XXX
50 +       unsigned        last_in_message_list;
51 +#ifdef CONFIG_SPI_CNS3XXX_2IOREAD
52 +       u8      dio_read;
53 +#endif
54 +#endif
55  };
56  
57  /**