diff options
Diffstat (limited to 'drivers/acpi/processor_idle.c')
-rw-r--r-- | drivers/acpi/processor_idle.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/acpi/processor_idle.c b/drivers/acpi/processor_idle.c index bbd066e7f854..d1676b1754d9 100644 --- a/drivers/acpi/processor_idle.c +++ b/drivers/acpi/processor_idle.c | |||
@@ -164,7 +164,7 @@ static void lapic_timer_check_state(int state, struct acpi_processor *pr, | |||
164 | pr->power.timer_broadcast_on_state = state; | 164 | pr->power.timer_broadcast_on_state = state; |
165 | } | 165 | } |
166 | 166 | ||
167 | static void lapic_timer_propagate_broadcast(void *arg) | 167 | static void __lapic_timer_propagate_broadcast(void *arg) |
168 | { | 168 | { |
169 | struct acpi_processor *pr = (struct acpi_processor *) arg; | 169 | struct acpi_processor *pr = (struct acpi_processor *) arg; |
170 | unsigned long reason; | 170 | unsigned long reason; |
@@ -175,6 +175,12 @@ static void lapic_timer_propagate_broadcast(void *arg) | |||
175 | clockevents_notify(reason, &pr->id); | 175 | clockevents_notify(reason, &pr->id); |
176 | } | 176 | } |
177 | 177 | ||
178 | static void lapic_timer_propagate_broadcast(struct acpi_processor *pr) | ||
179 | { | ||
180 | smp_call_function_single(pr->id, __lapic_timer_propagate_broadcast, | ||
181 | (void *)pr, 1); | ||
182 | } | ||
183 | |||
178 | /* Power(C) State timer broadcast control */ | 184 | /* Power(C) State timer broadcast control */ |
179 | static void lapic_timer_state_broadcast(struct acpi_processor *pr, | 185 | static void lapic_timer_state_broadcast(struct acpi_processor *pr, |
180 | struct acpi_processor_cx *cx, | 186 | struct acpi_processor_cx *cx, |
@@ -638,8 +644,7 @@ static int acpi_processor_power_verify(struct acpi_processor *pr) | |||
638 | working++; | 644 | working++; |
639 | } | 645 | } |
640 | 646 | ||
641 | smp_call_function_single(pr->id, lapic_timer_propagate_broadcast, | 647 | lapic_timer_propagate_broadcast(pr); |
642 | pr, 1); | ||
643 | 648 | ||
644 | return (working); | 649 | return (working); |
645 | } | 650 | } |