diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2011-03-03 15:32:02 -0500 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2011-05-19 07:11:20 -0400 |
commit | afa77ef30ead4865ce2c0c1c55054d45521ce1c7 (patch) | |
tree | 87a455605b7d0ae9685e71ae7fd48a1a0d87d379 /arch/arm/mach-mx3/eukrea_mbimxsd-baseboard.c | |
parent | 031e912741746e4350204bb0436590ca0e993a7d (diff) |
ARM: mx3: dynamically allocate "ipu-core" devices
... together with the related devices "mx3_camera" and "mx3_sdc_fb".
"mx3_camera" doesn't fit the scheme of the other devices that just are
allocated and registered in a single function because it needs additional
care to get some dmaable memory. So currently imx31_alloc_mx3_camera
duplicates most of imx_add_platform_device_dmamask, but I'm not sure it's
worth to split the latter to be able to reuse more code.
This gets rid of mach-mx3/devices.[ch] and so several files need to be
adapted not to #include devices.h anymore.
LAKML-Reference: 1299271882-2130-5-git-send-email-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-mx3/eukrea_mbimxsd-baseboard.c')
-rw-r--r-- | arch/arm/mach-mx3/eukrea_mbimxsd-baseboard.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/arch/arm/mach-mx3/eukrea_mbimxsd-baseboard.c b/arch/arm/mach-mx3/eukrea_mbimxsd-baseboard.c index f61b2a923826..4909ea05855a 100644 --- a/arch/arm/mach-mx3/eukrea_mbimxsd-baseboard.c +++ b/arch/arm/mach-mx3/eukrea_mbimxsd-baseboard.c | |||
@@ -38,12 +38,9 @@ | |||
38 | #include <mach/hardware.h> | 38 | #include <mach/hardware.h> |
39 | #include <mach/common.h> | 39 | #include <mach/common.h> |
40 | #include <mach/iomux-mx35.h> | 40 | #include <mach/iomux-mx35.h> |
41 | #include <mach/ipu.h> | ||
42 | #include <mach/mx3fb.h> | ||
43 | #include <mach/audmux.h> | 41 | #include <mach/audmux.h> |
44 | 42 | ||
45 | #include "devices-imx35.h" | 43 | #include "devices-imx35.h" |
46 | #include "devices.h" | ||
47 | 44 | ||
48 | static const struct fb_videomode fb_modedb[] = { | 45 | static const struct fb_videomode fb_modedb[] = { |
49 | { | 46 | { |
@@ -98,12 +95,11 @@ static const struct fb_videomode fb_modedb[] = { | |||
98 | }, | 95 | }, |
99 | }; | 96 | }; |
100 | 97 | ||
101 | static struct ipu_platform_data mx3_ipu_data = { | 98 | static const struct ipu_platform_data mx3_ipu_data __initconst = { |
102 | .irq_base = MXC_IPU_IRQ_START, | 99 | .irq_base = MXC_IPU_IRQ_START, |
103 | }; | 100 | }; |
104 | 101 | ||
105 | static struct mx3fb_platform_data mx3fb_pdata = { | 102 | static struct mx3fb_platform_data mx3fb_pdata __initdata = { |
106 | .dma_dev = &mx3_ipu.dev, | ||
107 | .name = "CMO-QVGA", | 103 | .name = "CMO-QVGA", |
108 | .mode = fb_modedb, | 104 | .mode = fb_modedb, |
109 | .num_modes = ARRAY_SIZE(fb_modedb), | 105 | .num_modes = ARRAY_SIZE(fb_modedb), |
@@ -280,8 +276,8 @@ void __init eukrea_mbimxsd35_baseboard_init(void) | |||
280 | #endif | 276 | #endif |
281 | 277 | ||
282 | imx35_add_imx_uart1(&uart_pdata); | 278 | imx35_add_imx_uart1(&uart_pdata); |
283 | mxc_register_device(&mx3_ipu, &mx3_ipu_data); | 279 | imx35_add_ipu_core(&mx3_ipu_data); |
284 | mxc_register_device(&mx3_fb, &mx3fb_pdata); | 280 | imx35_add_mx3_sdc_fb(&mx3fb_pdata); |
285 | 281 | ||
286 | imx35_add_imx_ssi(0, &eukrea_mbimxsd_ssi_pdata); | 282 | imx35_add_imx_ssi(0, &eukrea_mbimxsd_ssi_pdata); |
287 | 283 | ||