Commit 56cc7b8a authored by Arnd Bergmann's avatar Arnd Bergmann

timekeeping: remove xtime_update

There are no more users of xtime_update aside from legacy_timer_tick(),
so fold it into that function and remove the declaration.

update_process_times() is now only called inside of the kernel/time/
code, so the declaration can be moved there.
Reviewed-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Tested-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
parent f9a01539
...@@ -10,8 +10,6 @@ void timekeeping_init(void); ...@@ -10,8 +10,6 @@ void timekeeping_init(void);
extern int timekeeping_suspended; extern int timekeeping_suspended;
/* Architecture timer tick functions: */ /* Architecture timer tick functions: */
extern void update_process_times(int user);
extern void xtime_update(unsigned long ticks);
extern void legacy_timer_tick(unsigned long ticks); extern void legacy_timer_tick(unsigned long ticks);
/* /*
......
...@@ -10,10 +10,28 @@ ...@@ -10,10 +10,28 @@
#include "tick-internal.h" #include "tick-internal.h"
/**
* legacy_timer_tick() - advances the timekeeping infrastructure
* @ticks: number of ticks, that have elapsed since the last call.
*
* This is used by platforms that have not been converted to
* generic clockevents.
*
* If 'ticks' is zero, the CPU is not handling timekeeping, so
* only perform process accounting and profiling.
*
* Must be called with interrupts disabled.
*/
void legacy_timer_tick(unsigned long ticks) void legacy_timer_tick(unsigned long ticks)
{ {
if (ticks) if (ticks) {
xtime_update(ticks); raw_spin_lock(&jiffies_lock);
write_seqcount_begin(&jiffies_seq);
do_timer(ticks);
write_seqcount_end(&jiffies_seq);
raw_spin_unlock(&jiffies_lock);
update_wall_time();
}
update_process_times(user_mode(get_irq_regs())); update_process_times(user_mode(get_irq_regs()));
profile_tick(CPU_PROFILING); profile_tick(CPU_PROFILING);
} }
...@@ -2438,19 +2438,3 @@ void hardpps(const struct timespec64 *phase_ts, const struct timespec64 *raw_ts) ...@@ -2438,19 +2438,3 @@ void hardpps(const struct timespec64 *phase_ts, const struct timespec64 *raw_ts)
} }
EXPORT_SYMBOL(hardpps); EXPORT_SYMBOL(hardpps);
#endif /* CONFIG_NTP_PPS */ #endif /* CONFIG_NTP_PPS */
/**
* xtime_update() - advances the timekeeping infrastructure
* @ticks: number of ticks, that have elapsed since the last call.
*
* Must be called with interrupts disabled.
*/
void xtime_update(unsigned long ticks)
{
raw_spin_lock(&jiffies_lock);
write_seqcount_begin(&jiffies_seq);
do_timer(ticks);
write_seqcount_end(&jiffies_seq);
raw_spin_unlock(&jiffies_lock);
update_wall_time();
}
...@@ -22,6 +22,7 @@ static inline int sched_clock_suspend(void) { return 0; } ...@@ -22,6 +22,7 @@ static inline int sched_clock_suspend(void) { return 0; }
static inline void sched_clock_resume(void) { } static inline void sched_clock_resume(void) { }
#endif #endif
extern void update_process_times(int user);
extern void do_timer(unsigned long ticks); extern void do_timer(unsigned long ticks);
extern void update_wall_time(void); extern void update_wall_time(void);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment