Skip to content

Commit

Permalink
[AVR32] Split SM device into PM, RTC, WDT and EIC
Browse files Browse the repository at this point in the history
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 <hskinnemoen@atmel.com>
Acked-by: Hans-Christian Egtvedt <hcegtvedt@atmel.com>
  • Loading branch information
Haavard Skinnemoen committed Jul 18, 2007
1 parent c6083cd commit 7a5b805
Show file tree
Hide file tree
Showing 6 changed files with 372 additions and 453 deletions.
31 changes: 0 additions & 31 deletions arch/avr32/mach-at32ap/at32ap.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,41 +11,10 @@
#include <linux/init.h>
#include <linux/platform_device.h>

#include <asm/io.h>

#include <asm/arch/init.h>
#include <asm/arch/sm.h>

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();
}
Expand Down
Loading

0 comments on commit 7a5b805

Please sign in to comment.