diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-11-11 09:32:21 -0500 |
---|---|---|
committer | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-11-17 04:01:41 -0500 |
commit | 194ee8e89cc02d8bea8a0b837271f79ca0c72873 (patch) | |
tree | 212f66a12c7afbf931cab5c52f713306b76d980f /arch/arm/plat-mxc | |
parent | e7c74b343091e0c6b7bb67c12f9f7fb345aa6a50 (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.c | 14 | ||||
-rw-r--r-- | arch/arm/plat-mxc/include/mach/devices-common.h | 1 |
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 |
19 | const struct imx_imx_fb_data imx21_imx_fb_data __initconst = | 20 | const 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 | ||
25 | const 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 |
24 | const struct imx_imx_fb_data imx27_imx_fb_data __initconst = | 30 | const 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 | ||
28 | struct platform_device *__init imx_add_imx_fb( | 34 | struct 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> |
83 | struct imx_imx_fb_data { | 83 | struct 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 | }; |
87 | struct platform_device *__init imx_add_imx_fb( | 88 | struct platform_device *__init imx_add_imx_fb( |