Skip to content

Commit

Permalink
ARM: mach-shmobile: sh73a0, AG5EVM and Kota2 timer rework
Browse files Browse the repository at this point in the history
Move the SoC specific timer code from AG5EVM and Kota2
to sh73a0 setup code. This makes is possible to share
the SoC specific timer code across boards and it also
removes the need for a board specific timer structure.

Signed-off-by: Magnus Damm <damm@opensource.se>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
  • Loading branch information
Magnus Damm authored and Rafael J. Wysocki committed Mar 12, 2012
1 parent 17254bf commit 3be26fd
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 25 deletions.
14 changes: 1 addition & 13 deletions arch/arm/mach-shmobile/board-ag5evm.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@
#include <mach/common.h>
#include <asm/mach-types.h>
#include <asm/mach/arch.h>
#include <asm/mach/time.h>
#include <asm/hardware/gic.h>
#include <asm/hardware/cache-l2x0.h>
#include <asm/traps.h>
Expand Down Expand Up @@ -600,23 +599,12 @@ static void __init ag5evm_init(void)
platform_add_devices(ag5evm_devices, ARRAY_SIZE(ag5evm_devices));
}

static void __init ag5evm_timer_init(void)
{
sh73a0_clock_init();
shmobile_timer.init();
return;
}

struct sys_timer ag5evm_timer = {
.init = ag5evm_timer_init,
};

MACHINE_START(AG5EVM, "ag5evm")
.map_io = sh73a0_map_io,
.init_early = sh73a0_add_early_devices,
.nr_irqs = NR_IRQS_LEGACY,
.init_irq = sh73a0_init_irq,
.handle_irq = gic_handle_irq,
.init_machine = ag5evm_init,
.timer = &ag5evm_timer,
.timer = &shmobile_timer,
MACHINE_END
13 changes: 1 addition & 12 deletions arch/arm/mach-shmobile/board-kota2.c
Original file line number Diff line number Diff line change
Expand Up @@ -513,23 +513,12 @@ static void __init kota2_init(void)
platform_add_devices(kota2_devices, ARRAY_SIZE(kota2_devices));
}

static void __init kota2_timer_init(void)
{
sh73a0_clock_init();
shmobile_timer.init();
return;
}

struct sys_timer kota2_timer = {
.init = kota2_timer_init,
};

MACHINE_START(KOTA2, "kota2")
.map_io = sh73a0_map_io,
.init_early = sh73a0_add_early_devices,
.nr_irqs = NR_IRQS_LEGACY,
.init_irq = sh73a0_init_irq,
.handle_irq = gic_handle_irq,
.init_machine = kota2_init,
.timer = &kota2_timer,
.timer = &shmobile_timer,
MACHINE_END
10 changes: 10 additions & 0 deletions arch/arm/mach-shmobile/setup-sh73a0.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@
#include <asm/mach-types.h>
#include <asm/mach/map.h>
#include <asm/mach/arch.h>
#include <asm/mach/time.h>

static struct map_desc sh73a0_io_desc[] __initdata = {
/* create a 1:1 entity map for 0xe6xxxxxx
Expand Down Expand Up @@ -686,11 +687,20 @@ void __init sh73a0_add_standard_devices(void)
ARRAY_SIZE(sh73a0_late_devices));
}

static void __init sh73a0_earlytimer_init(void)
{
sh73a0_clock_init();
shmobile_earlytimer_init();
}

void __init sh73a0_add_early_devices(void)
{
early_platform_add_devices(sh73a0_early_devices,
ARRAY_SIZE(sh73a0_early_devices));

/* setup early console here as well */
shmobile_setup_console();

/* override timer setup with soc-specific code */
shmobile_timer.init = sh73a0_earlytimer_init;
}

0 comments on commit 3be26fd

Please sign in to comment.