mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 03:27:44 -04:00
leds/trigger/cpu: Convert to hotplug state machine
This is a straightforward conversion. We place this callback last
in the list so that the LED illuminates only after a successful
bring up sequence.
( NOTE: The patch adds a FIXME question about the callback used,
this question should probably be revisited later on.)
Signed-off-by: Richard Cochran <[email protected]>
Signed-off-by: Anna-Maria Gleixner <[email protected]>
Reviewed-by: Sebastian Andrzej Siewior <[email protected]>
Acked-by: Jacek Anaszewski <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Linus Walleij <[email protected]>
Cc: Paul Gortmaker <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Richard Purdie <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Cc: [email protected]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
This commit is contained in:
parent
2dab90932f
commit
911a359de9
2 changed files with 16 additions and 17 deletions
|
|
@ -92,25 +92,17 @@ static struct syscore_ops ledtrig_cpu_syscore_ops = {
|
|||
.resume = ledtrig_cpu_syscore_resume,
|
||||
};
|
||||
|
||||
static int ledtrig_cpu_notify(struct notifier_block *self,
|
||||
unsigned long action, void *hcpu)
|
||||
static int ledtrig_starting_cpu(unsigned int cpu)
|
||||
{
|
||||
switch (action & ~CPU_TASKS_FROZEN) {
|
||||
case CPU_STARTING:
|
||||
ledtrig_cpu(CPU_LED_START);
|
||||
break;
|
||||
case CPU_DYING:
|
||||
ledtrig_cpu(CPU_LED_STOP);
|
||||
break;
|
||||
}
|
||||
|
||||
return NOTIFY_OK;
|
||||
ledtrig_cpu(CPU_LED_START);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static struct notifier_block ledtrig_cpu_nb = {
|
||||
.notifier_call = ledtrig_cpu_notify,
|
||||
};
|
||||
static int ledtrig_dying_cpu(unsigned int cpu)
|
||||
{
|
||||
ledtrig_cpu(CPU_LED_STOP);
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int __init ledtrig_cpu_init(void)
|
||||
{
|
||||
|
|
@ -133,7 +125,13 @@ static int __init ledtrig_cpu_init(void)
|
|||
}
|
||||
|
||||
register_syscore_ops(&ledtrig_cpu_syscore_ops);
|
||||
register_cpu_notifier(&ledtrig_cpu_nb);
|
||||
|
||||
/*
|
||||
* FIXME: Why needs this to happen in the interrupt disabled
|
||||
* low level bringup phase of a cpu?
|
||||
*/
|
||||
cpuhp_setup_state(CPUHP_AP_LEDTRIG_STARTING, "AP_LEDTRIG_STARTING",
|
||||
ledtrig_starting_cpu, ledtrig_dying_cpu);
|
||||
|
||||
pr_info("ledtrig-cpu: registered to indicate activity on CPUs\n");
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue