From: Sebastian Andrzej Siewior <bigeasy@linutronix.de> To: linux-kernel@vger.kernel.org Cc: Peter Zijlstra <peterz@infradead.org>, Ingo Molnar <mingo@redhat.com>, rt@linutronix.de, tglx@linutronix.de, Sebastian Andrzej Siewior <bigeasy@linutronix.de>, Tony Lindgren <tony@atomide.com>, linux-omap@vger.kernel.org, linux-arm-kernel@lists.infradead.org Subject: [PATCH 03/21] ARM: OMAP: wakeupgen: Convert to hotplug state machine Date: Tue, 6 Sep 2016 19:04:39 +0200 [thread overview] Message-ID: <20160906170457.32393-4-bigeasy@linutronix.de> (raw) In-Reply-To: <20160906170457.32393-1-bigeasy@linutronix.de> Install the callbacks via the state machine. Cc: Tony Lindgren <tony@atomide.com> Cc: linux-omap@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- arch/arm/mach-omap2/omap-wakeupgen.c | 35 +++++++++++++---------------------- include/linux/cpuhotplug.h | 1 + 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/arch/arm/mach-omap2/omap-wakeupgen.c b/arch/arm/mach-omap2/omap-wakeupgen.c index 0c4754386532..369f95a703ac 100644 --- a/arch/arm/mach-omap2/omap-wakeupgen.c +++ b/arch/arm/mach-omap2/omap-wakeupgen.c @@ -322,34 +322,25 @@ static void irq_save_secure_context(void) #endif #ifdef CONFIG_HOTPLUG_CPU -static int irq_cpu_hotplug_notify(struct notifier_block *self, - unsigned long action, void *hcpu) +static int omap_wakeupgen_cpu_online(unsigned int cpu) { - unsigned int cpu = (unsigned int)hcpu; - - /* - * Corresponding FROZEN transitions do not have to be handled, - * they are handled by at a higher level - * (drivers/cpuidle/coupled.c). - */ - switch (action) { - case CPU_ONLINE: - wakeupgen_irqmask_all(cpu, 0); - break; - case CPU_DEAD: - wakeupgen_irqmask_all(cpu, 1); - break; - } - return NOTIFY_OK; + wakeupgen_irqmask_all(cpu, 0); + return 0; } -static struct notifier_block irq_hotplug_notifier = { - .notifier_call = irq_cpu_hotplug_notify, -}; +static int omap_wakeupgen_cpu_dead(unsigned int cpu) +{ + wakeupgen_irqmask_all(cpu, 1); + return 0; +} static void __init irq_hotplug_init(void) { - register_hotcpu_notifier(&irq_hotplug_notifier); + cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, "arm/omap-wake:online", + omap_wakeupgen_cpu_online, NULL); + cpuhp_setup_state_nocalls(CPUHP_ARM_OMAP_WAKE_DEAD, + "arm/omap-wake:dead", NULL, + omap_wakeupgen_cpu_dead); } #else static void __init irq_hotplug_init(void) diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h index 008eed0c0787..35859aafbbfc 100644 --- a/include/linux/cpuhotplug.h +++ b/include/linux/cpuhotplug.h @@ -21,6 +21,7 @@ enum cpuhp_state { CPUHP_NET_MVNETA_DEAD, CPUHP_CPUIDLE_DEAD, CPUHP_ARM64_FPSIMD_DEAD, + CPUHP_ARM_OMAP_WAKE_DEAD, CPUHP_WORKQUEUE_PREP, CPUHP_POWER_NUMA_PREPARE, CPUHP_HRTIMERS_PREPARE, -- 2.9.3
WARNING: multiple messages have this Message-ID (diff)
From: bigeasy@linutronix.de (Sebastian Andrzej Siewior) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH 03/21] ARM: OMAP: wakeupgen: Convert to hotplug state machine Date: Tue, 6 Sep 2016 19:04:39 +0200 [thread overview] Message-ID: <20160906170457.32393-4-bigeasy@linutronix.de> (raw) In-Reply-To: <20160906170457.32393-1-bigeasy@linutronix.de> Install the callbacks via the state machine. Cc: Tony Lindgren <tony@atomide.com> Cc: linux-omap at vger.kernel.org Cc: linux-arm-kernel at lists.infradead.org Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> --- arch/arm/mach-omap2/omap-wakeupgen.c | 35 +++++++++++++---------------------- include/linux/cpuhotplug.h | 1 + 2 files changed, 14 insertions(+), 22 deletions(-) diff --git a/arch/arm/mach-omap2/omap-wakeupgen.c b/arch/arm/mach-omap2/omap-wakeupgen.c index 0c4754386532..369f95a703ac 100644 --- a/arch/arm/mach-omap2/omap-wakeupgen.c +++ b/arch/arm/mach-omap2/omap-wakeupgen.c @@ -322,34 +322,25 @@ static void irq_save_secure_context(void) #endif #ifdef CONFIG_HOTPLUG_CPU -static int irq_cpu_hotplug_notify(struct notifier_block *self, - unsigned long action, void *hcpu) +static int omap_wakeupgen_cpu_online(unsigned int cpu) { - unsigned int cpu = (unsigned int)hcpu; - - /* - * Corresponding FROZEN transitions do not have to be handled, - * they are handled by at a higher level - * (drivers/cpuidle/coupled.c). - */ - switch (action) { - case CPU_ONLINE: - wakeupgen_irqmask_all(cpu, 0); - break; - case CPU_DEAD: - wakeupgen_irqmask_all(cpu, 1); - break; - } - return NOTIFY_OK; + wakeupgen_irqmask_all(cpu, 0); + return 0; } -static struct notifier_block irq_hotplug_notifier = { - .notifier_call = irq_cpu_hotplug_notify, -}; +static int omap_wakeupgen_cpu_dead(unsigned int cpu) +{ + wakeupgen_irqmask_all(cpu, 1); + return 0; +} static void __init irq_hotplug_init(void) { - register_hotcpu_notifier(&irq_hotplug_notifier); + cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, "arm/omap-wake:online", + omap_wakeupgen_cpu_online, NULL); + cpuhp_setup_state_nocalls(CPUHP_ARM_OMAP_WAKE_DEAD, + "arm/omap-wake:dead", NULL, + omap_wakeupgen_cpu_dead); } #else static void __init irq_hotplug_init(void) diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h index 008eed0c0787..35859aafbbfc 100644 --- a/include/linux/cpuhotplug.h +++ b/include/linux/cpuhotplug.h @@ -21,6 +21,7 @@ enum cpuhp_state { CPUHP_NET_MVNETA_DEAD, CPUHP_CPUIDLE_DEAD, CPUHP_ARM64_FPSIMD_DEAD, + CPUHP_ARM_OMAP_WAKE_DEAD, CPUHP_WORKQUEUE_PREP, CPUHP_POWER_NUMA_PREPARE, CPUHP_HRTIMERS_PREPARE, -- 2.9.3
next prev parent reply other threads:[~2016-09-06 17:06 UTC|newest] Thread overview: 83+ messages / expand[flat|nested] mbox.gz Atom feed top 2016-09-06 17:04 cpu hotplug: convert more drivers (batch #3) Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 01/21] arm64: FP/SIMD: Convert to hotplug state machine Sebastian Andrzej Siewior 2016-09-06 17:04 ` Sebastian Andrzej Siewior 2016-09-06 18:14 ` Will Deacon 2016-09-06 18:14 ` Will Deacon 2016-09-19 19:51 ` [tip:smp/hotplug] arm64/FP/SIMD: " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 02/21] ARM: shmobile: " Sebastian Andrzej Siewior 2016-09-06 17:04 ` Sebastian Andrzej Siewior 2016-09-06 17:04 ` Sebastian Andrzej Siewior 2016-09-06 18:05 ` Geert Uytterhoeven 2016-09-06 18:05 ` Geert Uytterhoeven 2016-09-06 18:05 ` Geert Uytterhoeven 2016-09-06 18:05 ` Geert Uytterhoeven 2016-09-07 13:58 ` Sebastian Andrzej Siewior 2016-09-07 13:58 ` Sebastian Andrzej Siewior 2016-09-07 13:58 ` Sebastian Andrzej Siewior 2016-09-07 13:58 ` Sebastian Andrzej Siewior 2016-09-19 19:52 ` [tip:smp/hotplug] ARM/shmobile: " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` Sebastian Andrzej Siewior [this message] 2016-09-06 17:04 ` [PATCH 03/21] ARM: OMAP: wakeupgen: " Sebastian Andrzej Siewior 2016-09-13 22:24 ` Tony Lindgren 2016-09-13 22:24 ` Tony Lindgren 2016-09-19 19:52 ` [tip:smp/hotplug] ARM/OMAP/wakeupgen: " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 04/21] ia64: mca: " Sebastian Andrzej Siewior 2016-09-06 17:04 ` Sebastian Andrzej Siewior 2016-09-19 19:53 ` [tip:smp/hotplug] ia64/mca: " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 05/21] sh: SH-X3 SMP: " Sebastian Andrzej Siewior 2016-09-06 17:04 ` Sebastian Andrzej Siewior 2016-09-19 19:53 ` [tip:smp/hotplug] sh/SH-X3 " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 06/21] x86: microcode: " Sebastian Andrzej Siewior 2016-09-07 11:36 ` Borislav Petkov 2016-09-07 14:51 ` Sebastian Andrzej Siewior 2016-09-07 16:02 ` Borislav Petkov 2016-09-07 16:45 ` [PATCH 06/21 v2] " Sebastian Andrzej Siewior 2016-09-19 19:54 ` [tip:smp/hotplug] x86/microcode: " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 07/21] lib: irq_poll: " Sebastian Andrzej Siewior 2016-09-19 19:54 ` [tip:smp/hotplug] lib/irq_poll: " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 08/21] block: softirq: " Sebastian Andrzej Siewior 2016-09-19 19:55 ` [tip:smp/hotplug] block/softirq: " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 09/21] oprofile: timer: " Sebastian Andrzej Siewior 2016-09-19 19:55 ` [tip:smp/hotplug] oprofile/timer: " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 10/21] virtio scsi: " Sebastian Andrzej Siewior 2016-09-06 17:04 ` Sebastian Andrzej Siewior 2016-09-19 19:56 ` [tip:smp/hotplug] " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 11/21] ACPI: processor: " Sebastian Andrzej Siewior 2016-09-06 21:08 ` Rafael J. Wysocki 2016-09-07 14:01 ` Sebastian Andrzej Siewior 2016-09-07 15:59 ` Rafael J. Wysocki 2016-09-19 19:56 ` [tip:smp/hotplug] ACPI/processor: " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 12/21] cpufreq: " Sebastian Andrzej Siewior 2016-09-06 21:27 ` Rafael J. Wysocki 2016-09-07 14:18 ` Sebastian Andrzej Siewior 2016-09-07 15:58 ` Rafael J. Wysocki 2016-09-19 19:56 ` [tip:smp/hotplug] " tip-bot for Sebastian Andrzej Siewior 2016-09-20 14:56 ` [PATCH] cpufreq: fix up conversion " Sebastian Andrzej Siewior 2016-09-20 15:07 ` [tip:smp/hotplug] cpufreq: Fix " tip-bot for Sebastian Andrzej Siewior 2016-09-20 16:08 ` Borislav Petkov 2016-09-20 16:17 ` [PATCH] cpufreq: fix " Rafael J. Wysocki 2016-09-06 17:04 ` [PATCH 13/21] padata: Convert " Sebastian Andrzej Siewior 2016-09-19 19:57 ` [tip:smp/hotplug] " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 14/21] fault-injection: cpu: " Sebastian Andrzej Siewior 2016-09-19 19:57 ` [tip:smp/hotplug] fault-injection/cpu: " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 15/21] mips: octeon: smp: " Sebastian Andrzej Siewior 2016-09-07 8:24 ` Matt Redfearn 2016-09-07 8:24 ` Matt Redfearn 2016-09-07 14:27 ` Sebastian Andrzej Siewior 2016-09-08 8:34 ` Matt Redfearn 2016-09-08 8:34 ` Matt Redfearn 2016-09-19 15:10 ` Ralf Baechle 2016-09-19 19:58 ` [tip:smp/hotplug] mips/octeon/smp: " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 16/21] mips: loongson: smp: " Sebastian Andrzej Siewior 2016-09-19 15:10 ` Ralf Baechle 2016-09-19 19:58 ` [tip:smp/hotplug] mips/loongson/smp: " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 17/21] s390: mm: pfault: " Sebastian Andrzej Siewior 2016-09-19 19:59 ` [tip:smp/hotplug] s390/mm/pfault: " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 18/21] x86: apic: uv: " Sebastian Andrzej Siewior 2016-09-19 19:59 ` [tip:smp/hotplug] x86/apic/uv: " tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 19/21] blk: mq: reserve hotplug ID states for block Sebastian Andrzej Siewior 2016-09-19 20:03 ` [tip:smp/hotplug] blk/mq: Reserve hotplug ID states for block multiqueue tip-bot for Sebastian Andrzej Siewior 2016-09-19 21:24 ` [tip:smp/hotplug] blk/mq: Reserve hotplug " tip-bot for Sebastian Andrzej Siewior 2016-09-21 7:45 ` tip-bot for Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 20/21] blk: mq: cpu-notif: Convert to hotplug state machine Sebastian Andrzej Siewior 2016-09-06 17:04 ` [PATCH 21/21] blk: mq: " Sebastian Andrzej Siewior
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20160906170457.32393-4-bigeasy@linutronix.de \ --to=bigeasy@linutronix.de \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-omap@vger.kernel.org \ --cc=mingo@redhat.com \ --cc=peterz@infradead.org \ --cc=rt@linutronix.de \ --cc=tglx@linutronix.de \ --cc=tony@atomide.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.