diff options
author | Mika Westerberg <mika.westerberg@linux.intel.com> | 2013-01-07 05:44:33 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2013-01-08 06:00:32 -0500 |
commit | 851bacf5902cad15f9bb789d278a1ee9608c8f25 (patch) | |
tree | 521b8652658684d9a6ff1ad5a7263d361c77114a /include/linux/pxa2xx_ssp.h | |
parent | 0202775bc3a28f2436ea6ee13ef3eb0e8f237857 (diff) |
spi/pxa2xx: embed the ssp_device to platform data
The spi-pxa2xx-pci glue driver had to implement pxa_ssp_request()/free() in
order to support the spi-pxa2xx platform driver. Since the ACPI enabled
platforms can use the same platform driver we would need to implement
pxa_ssp_request()/free() in some central place that can be shared by the
ACPI and PCI glue code.
Instead of doing that we can make pxa_ssp_request()/free() to be available
only when CONFIG_ARCH_PXA is set. On other arches these are being stubbed
out in preference to passing the ssp_device from the platform data
directly.
We also change the SPI bus number to be taken from ssp->port_id instead of
platform device id. This way the supporting code that passes the ssp can
decide the number (or it can set it to the same as pdev->id).
Signed-off-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'include/linux/pxa2xx_ssp.h')
-rw-r--r-- | include/linux/pxa2xx_ssp.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/pxa2xx_ssp.h b/include/linux/pxa2xx_ssp.h index f36632061c66..065e7f6c3ad7 100644 --- a/include/linux/pxa2xx_ssp.h +++ b/include/linux/pxa2xx_ssp.h | |||
@@ -206,6 +206,15 @@ static inline u32 pxa_ssp_read_reg(struct ssp_device *dev, u32 reg) | |||
206 | return __raw_readl(dev->mmio_base + reg); | 206 | return __raw_readl(dev->mmio_base + reg); |
207 | } | 207 | } |
208 | 208 | ||
209 | #ifdef CONFIG_ARCH_PXA | ||
209 | struct ssp_device *pxa_ssp_request(int port, const char *label); | 210 | struct ssp_device *pxa_ssp_request(int port, const char *label); |
210 | void pxa_ssp_free(struct ssp_device *); | 211 | void pxa_ssp_free(struct ssp_device *); |
212 | #else | ||
213 | static inline struct ssp_device *pxa_ssp_request(int port, const char *label) | ||
214 | { | ||
215 | return NULL; | ||
216 | } | ||
217 | static inline void pxa_ssp_free(struct ssp_device *ssp) {} | ||
218 | #endif | ||
219 | |||
211 | #endif | 220 | #endif |