mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-27 09:02:06 +00:00
clocksource: Cleanup clocksource selection
If a non high-resolution clocksource is first set as override clock and then registered it becomes active even if the system is in one-shot mode. Move the override check from sysfs_override_clocksource to the clocksource selection. That fixes the bug and simplifies the code. The check in clocksource_register for double registration of the same clocksource is removed without replacement. To find the initial clocksource a new weak function in jiffies.c is defined that returns the jiffies clocksource. The architecture code can then override the weak function with a more suitable clocksource, e.g. the TOD clock on s390. [ tglx: Folded in a fix from John Stultz ] Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Acked-by: John Stultz <johnstul@us.ibm.com> Cc: Daniel Walker <dwalker@fifo99.com> LKML-Reference: <20090814134808.388024160@de.ibm.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
1be3967948
commit
f1b82746c1
5 changed files with 66 additions and 88 deletions
|
@ -61,7 +61,6 @@ struct clocksource clocksource_jiffies = {
|
|||
.read = jiffies_read,
|
||||
.mask = 0xffffffff, /*32bits*/
|
||||
.mult = NSEC_PER_JIFFY << JIFFIES_SHIFT, /* details above */
|
||||
.mult_orig = NSEC_PER_JIFFY << JIFFIES_SHIFT,
|
||||
.shift = JIFFIES_SHIFT,
|
||||
};
|
||||
|
||||
|
@ -71,3 +70,8 @@ static int __init init_jiffies_clocksource(void)
|
|||
}
|
||||
|
||||
core_initcall(init_jiffies_clocksource);
|
||||
|
||||
struct clocksource * __init __weak clocksource_default_clock(void)
|
||||
{
|
||||
return &clocksource_jiffies;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue