diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/cpu.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/kernel/cpu.c b/kernel/cpu.c index f17e9854c246..dc45f2459efb 100644 --- a/kernel/cpu.c +++ b/kernel/cpu.c | |||
@@ -453,6 +453,25 @@ out: | |||
453 | } | 453 | } |
454 | #endif /* CONFIG_PM_SLEEP_SMP */ | 454 | #endif /* CONFIG_PM_SLEEP_SMP */ |
455 | 455 | ||
456 | /** | ||
457 | * notify_cpu_starting(cpu) - call the CPU_STARTING notifiers | ||
458 | * @cpu: cpu that just started | ||
459 | * | ||
460 | * This function calls the cpu_chain notifiers with CPU_STARTING. | ||
461 | * It must be called by the arch code on the new cpu, before the new cpu | ||
462 | * enables interrupts and before the "boot" cpu returns from __cpu_up(). | ||
463 | */ | ||
464 | void notify_cpu_starting(unsigned int cpu) | ||
465 | { | ||
466 | unsigned long val = CPU_STARTING; | ||
467 | |||
468 | #ifdef CONFIG_PM_SLEEP_SMP | ||
469 | if (cpu_isset(cpu, frozen_cpus)) | ||
470 | val = CPU_STARTING_FROZEN; | ||
471 | #endif /* CONFIG_PM_SLEEP_SMP */ | ||
472 | raw_notifier_call_chain(&cpu_chain, val, (void *)(long)cpu); | ||
473 | } | ||
474 | |||
456 | #endif /* CONFIG_SMP */ | 475 | #endif /* CONFIG_SMP */ |
457 | 476 | ||
458 | /* | 477 | /* |