summaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-mxc
diff options
context:
space:
mode:
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-11-11 16:58:50 +0100
committerUwe Kleine-König <u.kleine-koenig@pengutronix.de>2010-11-19 21:53:37 +0100
commit00871505dcf15418aebc402db9f124dd2738fa2d (patch)
tree31e49a84f3a38525417a5a73f426fced987324f3 /arch/arm/plat-mxc
parentARM: mx25: dynamically allocatate imx-fb devices (diff)
downloadlinux-00871505dcf15418aebc402db9f124dd2738fa2d.tar.xz
linux-00871505dcf15418aebc402db9f124dd2738fa2d.zip
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.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-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 @@
#include <mach/hardware.h>
#include <mach/devices-common.h>
-#define imx_imx2_wdt_data_entry_single(soc) \
+#define imx_imx2_wdt_data_entry_single(soc, _size) \
{ \
.iobase = soc ## _WDOG_BASE_ADDR, \
+ .iosize = _size, \
}
#ifdef CONFIG_SOC_IMX21
const struct imx_imx2_wdt_data imx21_imx2_wdt_data __initconst =
- imx_imx2_wdt_data_entry_single(MX21);
+ imx_imx2_wdt_data_entry_single(MX21, SZ_4K);
#endif /* ifdef CONFIG_SOC_IMX21 */
+#ifdef CONFIG_ARCH_MX25
+const struct imx_imx2_wdt_data imx25_imx2_wdt_data __initconst =
+ imx_imx2_wdt_data_entry_single(MX25, SZ_16K);
+#endif /* ifdef CONFIG_ARCH_MX25 */
+
#ifdef CONFIG_SOC_IMX27
const struct imx_imx2_wdt_data imx27_imx2_wdt_data __initconst =
- imx_imx2_wdt_data_entry_single(MX27);
+ imx_imx2_wdt_data_entry_single(MX27, SZ_4K);
#endif /* ifdef CONFIG_SOC_IMX27 */
struct platform_device *__init imx_add_imx2_wdt(
@@ -31,7 +37,7 @@ struct platform_device *__init imx_add_imx2_wdt(
struct resource res[] = {
{
.start = data->iobase,
- .end = data->iobase + SZ_4K - 1,
+ .end = data->iobase + data->iosize - 1,
.flags = IORESOURCE_MEM,
},
};
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(
struct imx_imx2_wdt_data {
resource_size_t iobase;
+ resource_size_t iosize;
};
struct platform_device *__init imx_add_imx2_wdt(
const struct imx_imx2_wdt_data *data);