clocksource: sh_tmu: compute mult and shift before registration
authorAurelien Jarno <aurelien@aurel32.net>
Mon, 31 May 2010 21:45:48 +0000 (21:45 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 5 Jul 2010 18:15:59 +0000 (11:15 -0700)
commit9fd38047c3d6da1fa9c22281dde730f8d124036d
treedaea99d672b84becf4d4804a38969e52d31dadd7
parentabbce17d4ad49244b027158d6b46fffa5c8b6c82
clocksource: sh_tmu: compute mult and shift before registration

commit 66f49121ffa41a19c59965b31b046d8368fec3c7 upstream.

Since commit 98962465ed9e6ea99c38e0af63fe1dcb5a79dc25 ("nohz: Prevent
clocksource wrapping during idle"), the CPU of an R2D board never goes
to idle. This commit assumes that mult and shift are assigned before
the clocksource is registered. As a consequence the safe maximum sleep
time is negative and the CPU never goes into idle.

This patch fixes the problem by moving mult and shift initialization
from sh_tmu_clocksource_enable() to sh_tmu_register_clocksource().

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/clocksource/sh_tmu.c