Merge tag 'swarren-for-3.9-arm-timer-rework' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra into next/cleanup
From Stephen Warren: ARM/...: timer and clock events cleanup, and remove struct sys_timer This branch contains a number of cleanups and unifications to various timer- clock-events- and ARM timer code. The main points are: 1) Convert arch_gettimeoffset to a pointer, so that architectures with multiple timer implementations can simply set this standard pointer rather than maintaining their own arch-specific pointers for the same purpose. Various architectures are converted to using this new feature. 2) Conversion of ARM timer implementations to use clock_event_devices's suspend/resume operations, rather than the ARM-specific sys_timer versions. Thus, the ARM code begins to use more common infra-structure rather than arch-specific code. 3) Removal of ARM's struct sys_timer completely, now that everything uses common code. 4) Introduction of drivers/clocksource/clksrc-of.c, which allows ARM clock source implementations to be moved into drivers/clocksource, with the need to add SoC-specific header files for each timer initialization function; instead, all enabled implementations are registered into a table which a single core function iterates over, and calls the relevant initialization functions based on device tree. At least the Tegra and BCM2835 clocksource implementations will use this feature in the 3.9 kernel cycle. * tag 'swarren-for-3.9-arm-timer-rework' of git://git.kernel.org/pub/scm/linux/kernel/git/swarren/linux-tegra: clocksource: add common of_clksrc_init() function ARM: delete struct sys_timer ARM: remove struct sys_timer suspend and resume fields ARM: samsung: register syscore_ops for timer resume directly ARM: ux500: convert timer suspend/resume to clock_event_device ARM: sa1100: convert timer suspend/resume to clock_event_device ARM: pxa: convert timer suspend/resume to clock_event_device ARM: at91: convert timer suspend/resume to clock_event_device ARM: set arch_gettimeoffset directly m68k: set arch_gettimeoffset directly time: convert arch_gettimeoffset to a pointer cris: move usec/nsec conversion to do_slow_gettimeoffset Signed-off-by: Olof Johansson <olof@lixom.net>
This commit is contained in:
@@ -628,6 +628,6 @@ MACHINE_START(AMS_DELTA, "Amstrad E3 (Delta)")
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = ams_delta_init,
|
||||
.init_late = ams_delta_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.init_time = omap1_timer_init,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@@ -364,6 +364,6 @@ MACHINE_START(OMAP_FSAMPLE, "OMAP730 F-Sample")
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_fsample_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.init_time = omap1_timer_init,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@@ -84,6 +84,6 @@ MACHINE_START(OMAP_GENERIC, "Generic OMAP1510/1610/1710")
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_generic_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.init_time = omap1_timer_init,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@@ -461,6 +461,6 @@ MACHINE_START(OMAP_H2, "TI-H2")
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = h2_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.init_time = omap1_timer_init,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@@ -454,6 +454,6 @@ MACHINE_START(OMAP_H3, "TI OMAP1710 H3 board")
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = h3_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.init_time = omap1_timer_init,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@@ -603,6 +603,6 @@ MACHINE_START(HERALD, "HTC Herald")
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = htcherald_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.init_time = omap1_timer_init,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@@ -458,6 +458,6 @@ MACHINE_START(OMAP_INNOVATOR, "TI-Innovator")
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = innovator_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.init_time = omap1_timer_init,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@@ -242,6 +242,6 @@ MACHINE_START(NOKIA770, "Nokia 770")
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_nokia770_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.init_time = omap1_timer_init,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@@ -609,6 +609,6 @@ MACHINE_START(OMAP_OSK, "TI-OSK")
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = osk_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.init_time = omap1_timer_init,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@@ -268,6 +268,6 @@ MACHINE_START(OMAP_PALMTE, "OMAP310 based Palm Tungsten E")
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_palmte_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.init_time = omap1_timer_init,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@@ -314,6 +314,6 @@ MACHINE_START(OMAP_PALMTT, "OMAP1510 based Palm Tungsten|T")
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_palmtt_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.init_time = omap1_timer_init,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@@ -330,6 +330,6 @@ MACHINE_START(OMAP_PALMZ71, "OMAP310 based Palm Zire71")
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_palmz71_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.init_time = omap1_timer_init,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@@ -326,6 +326,6 @@ MACHINE_START(OMAP_PERSEUS2, "OMAP730 Perseus2")
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_perseus2_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.init_time = omap1_timer_init,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@@ -407,6 +407,6 @@ MACHINE_START(SX1, "OMAP310 based Siemens SX1")
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = omap_sx1_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.init_time = omap1_timer_init,
|
||||
.restart = omap1_restart,
|
||||
MACHINE_END
|
||||
|
@@ -289,6 +289,6 @@ MACHINE_START(VOICEBLUE, "VoiceBlue OMAP5910")
|
||||
.init_irq = omap1_init_irq,
|
||||
.init_machine = voiceblue_init,
|
||||
.init_late = omap1_init_late,
|
||||
.timer = &omap1_timer,
|
||||
.init_time = omap1_timer_init,
|
||||
.restart = voiceblue_restart,
|
||||
MACHINE_END
|
||||
|
@@ -75,7 +75,7 @@ extern void __init omap_check_revision(void);
|
||||
extern void omap1_nand_cmd_ctl(struct mtd_info *mtd, int cmd,
|
||||
unsigned int ctrl);
|
||||
|
||||
extern struct sys_timer omap1_timer;
|
||||
extern void omap1_timer_init(void);
|
||||
#ifdef CONFIG_OMAP_32K_TIMER
|
||||
extern int omap_32k_timer_init(void);
|
||||
#else
|
||||
|
@@ -236,12 +236,8 @@ static inline void omap_mpu_timer_init(void)
|
||||
* Timer initialization
|
||||
* ---------------------------------------------------------------------------
|
||||
*/
|
||||
static void __init omap1_timer_init(void)
|
||||
void __init omap1_timer_init(void)
|
||||
{
|
||||
if (omap_32k_timer_init() != 0)
|
||||
omap_mpu_timer_init();
|
||||
}
|
||||
|
||||
struct sys_timer omap1_timer = {
|
||||
.init = omap1_timer_init,
|
||||
};
|
||||
|
Reference in New Issue
Block a user