diff options
author | Mika Westerberg <mika.westerberg@linux.intel.com> | 2014-08-19 20:29:19 +0300 |
---|---|---|
committer | Vinod Koul <vinod.koul@intel.com> | 2014-09-18 11:54:07 +0530 |
commit | b729bf34535ed413667b397a2f59cfa81266facf (patch) | |
tree | 9e8020289c02e2894afabb6ef57fabaf20d77d56 /include/linux/spi | |
parent | a0a53a43ef51374c144a5f19f3f90c43aed76857 (diff) | |
download | linux-b729bf34535ed413667b397a2f59cfa81266facf.tar.gz linux-b729bf34535ed413667b397a2f59cfa81266facf.tar.bz2 linux-b729bf34535ed413667b397a2f59cfa81266facf.zip |
spi/pxa2xx: Don't use slave_id of dma_slave_config
That field has been deprecated in favour of getting the necessary
information from ACPI/DT.
However, we still need to deal systems that are PCI only (no ACPI to back
up). In order to support such systems, we allow the DMA filter function and
its corresponding parameter via pxa2xx_spi_master platform data. Then when
the pxa2xx_spi_dma_setup() doesn't find the channel via ACPI, it falls back
to use the given filter function.
Suggested-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Mark Brown <broonie@linaro.org>
Signed-off-by: Vinod Koul <vinod.koul@intel.com>
Diffstat (limited to 'include/linux/spi')
-rw-r--r-- | include/linux/spi/pxa2xx_spi.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/include/linux/spi/pxa2xx_spi.h b/include/linux/spi/pxa2xx_spi.h index 82d5111cd0c2..d5a316550177 100644 --- a/include/linux/spi/pxa2xx_spi.h +++ b/include/linux/spi/pxa2xx_spi.h @@ -23,6 +23,8 @@ #define PXA2XX_CS_ASSERT (0x01) #define PXA2XX_CS_DEASSERT (0x02) +struct dma_chan; + /* device.platform_data for SSP controller devices */ struct pxa2xx_spi_master { u32 clock_enable; @@ -30,10 +32,9 @@ struct pxa2xx_spi_master { u8 enable_dma; /* DMA engine specific config */ - int rx_chan_id; - int tx_chan_id; - int rx_slave_id; - int tx_slave_id; + bool (*dma_filter)(struct dma_chan *chan, void *param); + void *tx_param; + void *rx_param; /* For non-PXA arches */ struct ssp_device ssp; |