From 0f2ad9ed7c6fecb008372e8a709595a2a21059aa Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Thu, 27 Dec 2012 15:38:25 +0100 Subject: MIPS: ath79: use dynamically allocated watchdog device Remove the static watchdog device variable and use the 'platform_device_register_simple' helper to allocate and register the device in one step. This allows us to save a few bytes in the kernel image. Signed-off-by: Gabor Juhos Signed-off-by: Wim Van Sebroeck --- arch/mips/ath79/dev-common.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) (limited to 'arch/mips/ath79/dev-common.c') diff --git a/arch/mips/ath79/dev-common.c b/arch/mips/ath79/dev-common.c index 45efc63..2093b1b 100644 --- a/arch/mips/ath79/dev-common.c +++ b/arch/mips/ath79/dev-common.c @@ -101,12 +101,7 @@ void __init ath79_register_uart(void) } } -static struct platform_device ath79_wdt_device = { - .name = "ath79-wdt", - .id = -1, -}; - void __init ath79_register_wdt(void) { - platform_device_register(&ath79_wdt_device); + platform_device_register_simple("ath79-wdt", -1, NULL, 0); } -- cgit v1.1 From 09f5100a592d11dad06b218f41d560ff1f87f666 Mon Sep 17 00:00:00 2001 From: Gabor Juhos Date: Thu, 27 Dec 2012 15:38:26 +0100 Subject: watchdog: ath79_wdt: get register base from platform device's resources The ath79_wdt driver uses a fixed memory address currently. Although this is working with each currently supported SoCs, but this may change in the future. Additionally, the driver includes platform specific header files in order to be able to get the memory base of the watchdog device. The patch adds a memory resource to the platform device, and converts the driver to get the base address of the watchdog device from that. Signed-off-by: Gabor Juhos Signed-off-by: Wim Van Sebroeck --- arch/mips/ath79/dev-common.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'arch/mips/ath79/dev-common.c') diff --git a/arch/mips/ath79/dev-common.c b/arch/mips/ath79/dev-common.c index 2093b1b..ea3a814 100644 --- a/arch/mips/ath79/dev-common.c +++ b/arch/mips/ath79/dev-common.c @@ -103,5 +103,13 @@ void __init ath79_register_uart(void) void __init ath79_register_wdt(void) { - platform_device_register_simple("ath79-wdt", -1, NULL, 0); + struct resource res; + + memset(&res, 0, sizeof(res)); + + res.flags = IORESOURCE_MEM; + res.start = AR71XX_RESET_BASE + AR71XX_RESET_REG_WDOG_CTRL; + res.end = res.start + 0x8 - 1; + + platform_device_register_simple("ath79-wdt", -1, &res, 1); } -- cgit v1.1