aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-mxc
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-11-11 09:32:21 -0500
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-11-17 04:01:41 -0500
commit194ee8e89cc02d8bea8a0b837271f79ca0c72873 (patch)
tree212f66a12c7afbf931cab5c52f713306b76d980f /arch/arm/plat-mxc
parente7c74b343091e0c6b7bb67c12f9f7fb345aa6a50 (diff)
ARM: mx25: dynamically allocatate imx-fb devices
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Diffstat (limited to 'arch/arm/plat-mxc')
-rw-r--r--arch/arm/plat-mxc/devices/platform-imx-fb.c14
-rw-r--r--arch/arm/plat-mxc/include/mach/devices-common.h1
2 files changed, 11 insertions, 4 deletions
diff --git a/arch/arm/plat-mxc/devices/platform-imx-fb.c b/arch/arm/plat-mxc/devices/platform-imx-fb.c
index 42ed3bea0fd1..f228ba6573e1 100644
--- a/arch/arm/plat-mxc/devices/platform-imx-fb.c
+++ b/arch/arm/plat-mxc/devices/platform-imx-fb.c
@@ -9,20 +9,26 @@
9#include <mach/hardware.h> 9#include <mach/hardware.h>
10#include <mach/devices-common.h> 10#include <mach/devices-common.h>
11 11
12#define imx_imx_fb_data_entry_single(soc) \ 12#define imx_imx_fb_data_entry_single(soc, _size) \
13 { \ 13 { \
14 .iobase = soc ## _LCDC_BASE_ADDR, \ 14 .iobase = soc ## _LCDC_BASE_ADDR, \
15 .iosize = _size, \
15 .irq = soc ## _INT_LCDC, \ 16 .irq = soc ## _INT_LCDC, \
16 } 17 }
17 18
18#ifdef CONFIG_SOC_IMX21 19#ifdef CONFIG_SOC_IMX21
19const struct imx_imx_fb_data imx21_imx_fb_data __initconst = 20const struct imx_imx_fb_data imx21_imx_fb_data __initconst =
20 imx_imx_fb_data_entry_single(MX21); 21 imx_imx_fb_data_entry_single(MX21, SZ_4K);
21#endif /* ifdef CONFIG_SOC_IMX21 */ 22#endif /* ifdef CONFIG_SOC_IMX21 */
22 23
24#ifdef CONFIG_ARCH_MX25
25const struct imx_imx_fb_data imx25_imx_fb_data __initconst =
26 imx_imx_fb_data_entry_single(MX25, SZ_16K);
27#endif
28
23#ifdef CONFIG_SOC_IMX27 29#ifdef CONFIG_SOC_IMX27
24const struct imx_imx_fb_data imx27_imx_fb_data __initconst = 30const struct imx_imx_fb_data imx27_imx_fb_data __initconst =
25 imx_imx_fb_data_entry_single(MX27); 31 imx_imx_fb_data_entry_single(MX27, SZ_4K);
26#endif /* ifdef CONFIG_SOC_IMX27 */ 32#endif /* ifdef CONFIG_SOC_IMX27 */
27 33
28struct platform_device *__init imx_add_imx_fb( 34struct platform_device *__init imx_add_imx_fb(
@@ -32,7 +38,7 @@ struct platform_device *__init imx_add_imx_fb(
32 struct resource res[] = { 38 struct resource res[] = {
33 { 39 {
34 .start = data->iobase, 40 .start = data->iobase,
35 .end = data->iobase + SZ_4K - 1, 41 .end = data->iobase + data->iosize - 1,
36 .flags = IORESOURCE_MEM, 42 .flags = IORESOURCE_MEM,
37 }, { 43 }, {
38 .start = data->irq, 44 .start = data->irq,
diff --git a/arch/arm/plat-mxc/include/mach/devices-common.h b/arch/arm/plat-mxc/include/mach/devices-common.h
index 4d4b28b54955..e28453e18756 100644
--- a/arch/arm/plat-mxc/include/mach/devices-common.h
+++ b/arch/arm/plat-mxc/include/mach/devices-common.h
@@ -82,6 +82,7 @@ struct platform_device *__init imx_add_imxdi_rtc(
82#include <mach/imxfb.h> 82#include <mach/imxfb.h>
83struct imx_imx_fb_data { 83struct imx_imx_fb_data {
84 resource_size_t iobase; 84 resource_size_t iobase;
85 resource_size_t iosize;
85 resource_size_t irq; 86 resource_size_t irq;
86}; 87};
87struct platform_device *__init imx_add_imx_fb( 88struct platform_device *__init imx_add_imx_fb(