From 7a5b80590772c29bba1d54d3685622177d6fe39f Mon Sep 17 00:00:00 2001 From: Haavard Skinnemoen Date: Mon, 4 Jun 2007 12:58:30 +0200 Subject: [AVR32] Split SM device into PM, RTC, WDT and EIC Split the SM platform device into separate platform devices for PM, RTC, WDT and EIC. This is more correct according to the documentation and allows us to simplify the code a little. Also turn the EIC driver into a real platform driver. Signed-off-by: Haavard Skinnemoen Acked-by: Hans-Christian Egtvedt --- arch/avr32/mach-at32ap/at32ap.c | 31 ----- arch/avr32/mach-at32ap/at32ap7000.c | 213 ++++++++++++++++++------------- arch/avr32/mach-at32ap/extint.c | 200 +++++++++++++++++++---------- arch/avr32/mach-at32ap/pm.h | 112 +++++++++++++++++ arch/avr32/mach-at32ap/sm.h | 242 ------------------------------------ 5 files changed, 372 insertions(+), 426 deletions(-) create mode 100644 arch/avr32/mach-at32ap/pm.h delete mode 100644 arch/avr32/mach-at32ap/sm.h (limited to 'arch/avr32') diff --git a/arch/avr32/mach-at32ap/at32ap.c b/arch/avr32/mach-at32ap/at32ap.c index 90f207e8e96..7c4987f3287 100644 --- a/arch/avr32/mach-at32ap/at32ap.c +++ b/arch/avr32/mach-at32ap/at32ap.c @@ -11,41 +11,10 @@ #include #include -#include - #include -#include - -struct at32_sm system_manager; - -static int __init at32_sm_init(void) -{ - struct resource *regs; - struct at32_sm *sm = &system_manager; - int ret = -ENXIO; - - regs = platform_get_resource(&at32_sm_device, IORESOURCE_MEM, 0); - if (!regs) - goto fail; - - spin_lock_init(&sm->lock); - sm->pdev = &at32_sm_device; - - ret = -ENOMEM; - sm->regs = ioremap(regs->start, regs->end - regs->start + 1); - if (!sm->regs) - goto fail; - - return 0; - -fail: - printk(KERN_ERR "Failed to initialize System Manager: %d\n", ret); - return ret; -} void __init setup_platform(void) { - at32_sm_init(); at32_clock_init(); at32_portmux_init(); } diff --git a/arch/avr32/mach-at32ap/at32ap7000.c b/arch/avr32/mach-at32ap/at32ap7000.c index 4dda42d3f6d..5faa97e5ab1 100644 --- a/arch/avr32/mach-at32ap/at32ap7000.c +++ b/arch/avr32/mach-at32ap/at32ap7000.c @@ -17,14 +17,20 @@ #include #include #include -#include #include