diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-11-11 10:58:50 -0500 |
---|---|---|
committer | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-11-19 15:53:37 -0500 |
commit | 00871505dcf15418aebc402db9f124dd2738fa2d (patch) | |
tree | 31e49a84f3a38525417a5a73f426fced987324f3 /arch/arm/plat-mxc | |
parent | 194ee8e89cc02d8bea8a0b837271f79ca0c72873 (diff) |
ARM: mx25: dynamically allocate imx2-wdt 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-imx2-wdt.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-imx2-wdt.c b/arch/arm/plat-mxc/devices/platform-imx2-wdt.c index 86eb7f128168..8446e2505d8b 100644 --- a/arch/arm/plat-mxc/devices/platform-imx2-wdt.c +++ b/arch/arm/plat-mxc/devices/platform-imx2-wdt.c | |||
@@ -10,19 +10,25 @@ | |||
10 | #include <mach/hardware.h> | 10 | #include <mach/hardware.h> |
11 | #include <mach/devices-common.h> | 11 | #include <mach/devices-common.h> |
12 | 12 | ||
13 | #define imx_imx2_wdt_data_entry_single(soc) \ | 13 | #define imx_imx2_wdt_data_entry_single(soc, _size) \ |
14 | { \ | 14 | { \ |
15 | .iobase = soc ## _WDOG_BASE_ADDR, \ | 15 | .iobase = soc ## _WDOG_BASE_ADDR, \ |
16 | .iosize = _size, \ | ||
16 | } | 17 | } |
17 | 18 | ||
18 | #ifdef CONFIG_SOC_IMX21 | 19 | #ifdef CONFIG_SOC_IMX21 |
19 | const struct imx_imx2_wdt_data imx21_imx2_wdt_data __initconst = | 20 | const struct imx_imx2_wdt_data imx21_imx2_wdt_data __initconst = |
20 | imx_imx2_wdt_data_entry_single(MX21); | 21 | imx_imx2_wdt_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_imx2_wdt_data imx25_imx2_wdt_data __initconst = | ||
26 | imx_imx2_wdt_data_entry_single(MX25, SZ_16K); | ||
27 | #endif /* ifdef CONFIG_ARCH_MX25 */ | ||
28 | |||
23 | #ifdef CONFIG_SOC_IMX27 | 29 | #ifdef CONFIG_SOC_IMX27 |
24 | const struct imx_imx2_wdt_data imx27_imx2_wdt_data __initconst = | 30 | const struct imx_imx2_wdt_data imx27_imx2_wdt_data __initconst = |
25 | imx_imx2_wdt_data_entry_single(MX27); | 31 | imx_imx2_wdt_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_imx2_wdt( | 34 | struct platform_device *__init imx_add_imx2_wdt( |
@@ -31,7 +37,7 @@ struct platform_device *__init imx_add_imx2_wdt( | |||
31 | struct resource res[] = { | 37 | struct resource res[] = { |
32 | { | 38 | { |
33 | .start = data->iobase, | 39 | .start = data->iobase, |
34 | .end = data->iobase + SZ_4K - 1, | 40 | .end = data->iobase + data->iosize - 1, |
35 | .flags = IORESOURCE_MEM, | 41 | .flags = IORESOURCE_MEM, |
36 | }, | 42 | }, |
37 | }; | 43 | }; |
diff --git a/arch/arm/plat-mxc/include/mach/devices-common.h b/arch/arm/plat-mxc/include/mach/devices-common.h index e28453e18756..95331aeb854e 100644 --- a/arch/arm/plat-mxc/include/mach/devices-common.h +++ b/arch/arm/plat-mxc/include/mach/devices-common.h | |||
@@ -68,6 +68,7 @@ struct platform_device *__init imx_add_imx21_hcd( | |||
68 | 68 | ||
69 | struct imx_imx2_wdt_data { | 69 | struct imx_imx2_wdt_data { |
70 | resource_size_t iobase; | 70 | resource_size_t iobase; |
71 | resource_size_t iosize; | ||
71 | }; | 72 | }; |
72 | struct platform_device *__init imx_add_imx2_wdt( | 73 | struct platform_device *__init imx_add_imx2_wdt( |
73 | const struct imx_imx2_wdt_data *data); | 74 | const struct imx_imx2_wdt_data *data); |