aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/devices.c
diff options
context:
space:
mode:
authorGuennadi Liakhovetski <lg@denx.de>2008-06-13 04:17:31 -0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2008-07-09 16:31:52 -0400
commite172274ccc55d20536fbdceb6131f38e288541e0 (patch)
treee3b0424d9c6d7e74608c29c91d94d94f6ab36706 /arch/arm/mach-pxa/devices.c
parentcabb352a6455c3550f157909196845f533b0f374 (diff)
[ARM] 5088/3: pxa2xx: add pxa2xx_set_spi_info to register pxa2xx-spi platform devices
Add a function to dynamically allocate and register pxa2xx-spi platform devices, to be used by PXA2xx and PXA3xx based systems. Switch pcm027 and lubbock to use it. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> Acked-by: Eric Miao <eric.miao@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mach-pxa/devices.c')
-rw-r--r--arch/arm/mach-pxa/devices.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/arch/arm/mach-pxa/devices.c b/arch/arm/mach-pxa/devices.c
index a6f2390ce662..abc161dd083a 100644
--- a/arch/arm/mach-pxa/devices.c
+++ b/arch/arm/mach-pxa/devices.c
@@ -13,6 +13,7 @@
13#include <asm/arch/mfp-pxa27x.h> 13#include <asm/arch/mfp-pxa27x.h>
14#include <asm/arch/ohci.h> 14#include <asm/arch/ohci.h>
15#include <asm/arch/pxa27x_keypad.h> 15#include <asm/arch/pxa27x_keypad.h>
16#include <asm/arch/pxa2xx_spi.h>
16#include <asm/arch/camera.h> 17#include <asm/arch/camera.h>
17#include <asm/arch/audio.h> 18#include <asm/arch/audio.h>
18 19
@@ -831,3 +832,20 @@ void __init pxa3xx_set_mci3_info(struct pxamci_platform_data *info)
831} 832}
832 833
833#endif /* CONFIG_PXA3xx */ 834#endif /* CONFIG_PXA3xx */
835
836/* pxa2xx-spi platform-device ID equals respective SSP platform-device ID + 1.
837 * See comment in arch/arm/mach-pxa/ssp.c::ssp_probe() */
838void __init pxa2xx_set_spi_info(unsigned id, struct pxa2xx_spi_master *info)
839{
840 struct platform_device *pd;
841
842 pd = platform_device_alloc("pxa2xx-spi", id);
843 if (pd == NULL) {
844 printk(KERN_ERR "pxa2xx-spi: failed to allocate device id %d\n",
845 id);
846 return;
847 }
848
849 pd->dev.platform_data = info;
850 platform_device_add(pd);
851}