clockevents: Move the tick_notify() switch case to clockevents_notify()
No need to call another function and have duplicated cases. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: John Stultz <john.stultz@linaro.org> Cc: Magnus Damm <magnus.damm@gmail.com> Link: http://lkml.kernel.org/r/20130425143436.235746557@linutronix.de Signed-off-by: Thomas Gleixner <tglx@linutronix.de>wifi-calibration
parent
7126cac426
commit
8c53daf63f
|
@ -404,10 +404,36 @@ void clockevents_notify(unsigned long reason, void *arg)
|
||||||
int cpu;
|
int cpu;
|
||||||
|
|
||||||
raw_spin_lock_irqsave(&clockevents_lock, flags);
|
raw_spin_lock_irqsave(&clockevents_lock, flags);
|
||||||
tick_notify(reason, arg);
|
|
||||||
|
|
||||||
switch (reason) {
|
switch (reason) {
|
||||||
|
case CLOCK_EVT_NOTIFY_BROADCAST_ON:
|
||||||
|
case CLOCK_EVT_NOTIFY_BROADCAST_OFF:
|
||||||
|
case CLOCK_EVT_NOTIFY_BROADCAST_FORCE:
|
||||||
|
tick_broadcast_on_off(reason, arg);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CLOCK_EVT_NOTIFY_BROADCAST_ENTER:
|
||||||
|
case CLOCK_EVT_NOTIFY_BROADCAST_EXIT:
|
||||||
|
tick_broadcast_oneshot_control(reason);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CLOCK_EVT_NOTIFY_CPU_DYING:
|
||||||
|
tick_handover_do_timer(arg);
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CLOCK_EVT_NOTIFY_SUSPEND:
|
||||||
|
tick_suspend();
|
||||||
|
tick_suspend_broadcast();
|
||||||
|
break;
|
||||||
|
|
||||||
|
case CLOCK_EVT_NOTIFY_RESUME:
|
||||||
|
tick_resume();
|
||||||
|
break;
|
||||||
|
|
||||||
case CLOCK_EVT_NOTIFY_CPU_DEAD:
|
case CLOCK_EVT_NOTIFY_CPU_DEAD:
|
||||||
|
tick_shutdown_broadcast_oneshot(arg);
|
||||||
|
tick_shutdown_broadcast(arg);
|
||||||
|
tick_shutdown(arg);
|
||||||
/*
|
/*
|
||||||
* Unregister the clock event devices which were
|
* Unregister the clock event devices which were
|
||||||
* released from the users in the notify chain.
|
* released from the users in the notify chain.
|
||||||
|
|
|
@ -284,7 +284,7 @@ out_bc:
|
||||||
*
|
*
|
||||||
* Called with interrupts disabled.
|
* Called with interrupts disabled.
|
||||||
*/
|
*/
|
||||||
static void tick_handover_do_timer(int *cpup)
|
void tick_handover_do_timer(int *cpup)
|
||||||
{
|
{
|
||||||
if (*cpup == tick_do_timer_cpu) {
|
if (*cpup == tick_do_timer_cpu) {
|
||||||
int cpu = cpumask_first(cpu_online_mask);
|
int cpu = cpumask_first(cpu_online_mask);
|
||||||
|
@ -301,7 +301,7 @@ static void tick_handover_do_timer(int *cpup)
|
||||||
* access the hardware device itself.
|
* access the hardware device itself.
|
||||||
* We just set the mode and remove it from the lists.
|
* We just set the mode and remove it from the lists.
|
||||||
*/
|
*/
|
||||||
static void tick_shutdown(unsigned int *cpup)
|
void tick_shutdown(unsigned int *cpup)
|
||||||
{
|
{
|
||||||
struct tick_device *td = &per_cpu(tick_cpu_device, *cpup);
|
struct tick_device *td = &per_cpu(tick_cpu_device, *cpup);
|
||||||
struct clock_event_device *dev = td->evtdev;
|
struct clock_event_device *dev = td->evtdev;
|
||||||
|
@ -319,14 +319,14 @@ static void tick_shutdown(unsigned int *cpup)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static void tick_suspend(void)
|
void tick_suspend(void)
|
||||||
{
|
{
|
||||||
struct tick_device *td = &__get_cpu_var(tick_cpu_device);
|
struct tick_device *td = &__get_cpu_var(tick_cpu_device);
|
||||||
|
|
||||||
clockevents_shutdown(td->evtdev);
|
clockevents_shutdown(td->evtdev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void tick_resume(void)
|
void tick_resume(void)
|
||||||
{
|
{
|
||||||
struct tick_device *td = &__get_cpu_var(tick_cpu_device);
|
struct tick_device *td = &__get_cpu_var(tick_cpu_device);
|
||||||
int broadcast = tick_resume_broadcast();
|
int broadcast = tick_resume_broadcast();
|
||||||
|
@ -341,48 +341,6 @@ static void tick_resume(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* Called with clockevents_lock held and interrupts disabled
|
|
||||||
*/
|
|
||||||
void tick_notify(unsigned long reason, void *dev)
|
|
||||||
{
|
|
||||||
switch (reason) {
|
|
||||||
|
|
||||||
case CLOCK_EVT_NOTIFY_BROADCAST_ON:
|
|
||||||
case CLOCK_EVT_NOTIFY_BROADCAST_OFF:
|
|
||||||
case CLOCK_EVT_NOTIFY_BROADCAST_FORCE:
|
|
||||||
tick_broadcast_on_off(reason, dev);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CLOCK_EVT_NOTIFY_BROADCAST_ENTER:
|
|
||||||
case CLOCK_EVT_NOTIFY_BROADCAST_EXIT:
|
|
||||||
tick_broadcast_oneshot_control(reason);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CLOCK_EVT_NOTIFY_CPU_DYING:
|
|
||||||
tick_handover_do_timer(dev);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CLOCK_EVT_NOTIFY_CPU_DEAD:
|
|
||||||
tick_shutdown_broadcast_oneshot(dev);
|
|
||||||
tick_shutdown_broadcast(dev);
|
|
||||||
tick_shutdown(dev);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CLOCK_EVT_NOTIFY_SUSPEND:
|
|
||||||
tick_suspend();
|
|
||||||
tick_suspend_broadcast();
|
|
||||||
break;
|
|
||||||
|
|
||||||
case CLOCK_EVT_NOTIFY_RESUME:
|
|
||||||
tick_resume();
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* tick_init - initialize the tick control
|
* tick_init - initialize the tick control
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -18,8 +18,11 @@ extern int tick_do_timer_cpu __read_mostly;
|
||||||
|
|
||||||
extern void tick_setup_periodic(struct clock_event_device *dev, int broadcast);
|
extern void tick_setup_periodic(struct clock_event_device *dev, int broadcast);
|
||||||
extern void tick_handle_periodic(struct clock_event_device *dev);
|
extern void tick_handle_periodic(struct clock_event_device *dev);
|
||||||
extern void tick_notify(unsigned long reason, void *dev);
|
|
||||||
extern void tick_check_new_device(struct clock_event_device *dev);
|
extern void tick_check_new_device(struct clock_event_device *dev);
|
||||||
|
extern void tick_handover_do_timer(int *cpup);
|
||||||
|
extern void tick_shutdown(unsigned int *cpup);
|
||||||
|
extern void tick_suspend(void);
|
||||||
|
extern void tick_resume(void);
|
||||||
|
|
||||||
extern void clockevents_shutdown(struct clock_event_device *dev);
|
extern void clockevents_shutdown(struct clock_event_device *dev);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue