2021-03-03 03:47:31

by Guo Ren

[permalink] [raw]
Subject: [PATCH 1/4] irqchip: riscv: Using CPUHP_AP_ONLINE_DYN

From: Guo Ren <[email protected]>

Remove RISC-V irqchip custom definitions in hotplug.h:
- CPUHP_AP_IRQ_RISCV_STARTING
- CPUHP_AP_IRQ_SIFIVE_PLIC_STARTING

For coding convention.

Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Palmer Dabbelt <[email protected]>
Cc: Anup Patel <[email protected]>
Cc: Atish Patra <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Tested-by: Guo Ren <[email protected]>
Signed-off-by: Guo Ren <[email protected]>
Link: https://lore.kernel.org/lkml/CAHk-=wjM+kCsKqNdb=c0hKsv=J7-3Q1zmM15vp6_=8S5XfGMtA@mail.gmail.com/
---
drivers/irqchip/irq-riscv-intc.c | 2 +-
drivers/irqchip/irq-sifive-plic.c | 2 +-
include/linux/cpuhotplug.h | 2 --
3 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/irqchip/irq-riscv-intc.c b/drivers/irqchip/irq-riscv-intc.c
index 8017f6d..2c37f3a 100644
--- a/drivers/irqchip/irq-riscv-intc.c
+++ b/drivers/irqchip/irq-riscv-intc.c
@@ -125,7 +125,7 @@ static int __init riscv_intc_init(struct device_node *node,
return rc;
}

- cpuhp_setup_state(CPUHP_AP_IRQ_RISCV_STARTING,
+ cpuhp_setup_state(CPUHP_AP_ONLINE_DYN,
"irqchip/riscv/intc:starting",
riscv_intc_cpu_starting,
riscv_intc_cpu_dying);
diff --git a/drivers/irqchip/irq-sifive-plic.c b/drivers/irqchip/irq-sifive-plic.c
index 6f432d2..f499f1b 100644
--- a/drivers/irqchip/irq-sifive-plic.c
+++ b/drivers/irqchip/irq-sifive-plic.c
@@ -375,7 +375,7 @@ static int __init plic_init(struct device_node *node,
*/
handler = this_cpu_ptr(&plic_handlers);
if (handler->present && !plic_cpuhp_setup_done) {
- cpuhp_setup_state(CPUHP_AP_IRQ_SIFIVE_PLIC_STARTING,
+ cpuhp_setup_state(CPUHP_AP_ONLINE_DYN,
"irqchip/sifive/plic:starting",
plic_starting_cpu, plic_dying_cpu);
plic_cpuhp_setup_done = true;
diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h
index f14adb8..14f49fd 100644
--- a/include/linux/cpuhotplug.h
+++ b/include/linux/cpuhotplug.h
@@ -103,8 +103,6 @@ enum cpuhp_state {
CPUHP_AP_IRQ_ARMADA_XP_STARTING,
CPUHP_AP_IRQ_BCM2836_STARTING,
CPUHP_AP_IRQ_MIPS_GIC_STARTING,
- CPUHP_AP_IRQ_RISCV_STARTING,
- CPUHP_AP_IRQ_SIFIVE_PLIC_STARTING,
CPUHP_AP_ARM_MVEBU_COHERENCY,
CPUHP_AP_MICROCODE_LOADER,
CPUHP_AP_PERF_X86_AMD_UNCORE_STARTING,
--
2.7.4


2021-03-03 03:47:45

by Guo Ren

[permalink] [raw]
Subject: [PATCH 2/4] clocksource: riscv: Using CPUHP_AP_ONLINE_DYN

From: Guo Ren <[email protected]>

Remove RISC-V clocksource custom definitions in hotplug.h:
- CPUHP_AP_RISCV_TIMER_STARTING

For coding convention.

Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Linus Torvalds <[email protected]>
Cc: Anup Patel <[email protected]>
Cc: Christoph Hellwig <[email protected]>
Cc: Palmer Dabbelt <[email protected]>
Tested-by: Guo Ren <[email protected]>
Signed-off-by: Guo Ren <[email protected]>
Link: https://lore.kernel.org/lkml/CAHk-=wjM+kCsKqNdb=c0hKsv=J7-3Q1zmM15vp6_=8S5XfGMtA@mail.gmail.com/
---
drivers/clocksource/timer-riscv.c | 4 ++--
include/linux/cpuhotplug.h | 1 -
2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/clocksource/timer-riscv.c b/drivers/clocksource/timer-riscv.c
index c51c5ed..43aee27 100644
--- a/drivers/clocksource/timer-riscv.c
+++ b/drivers/clocksource/timer-riscv.c
@@ -150,10 +150,10 @@ static int __init riscv_timer_init_dt(struct device_node *n)
return error;
}

- error = cpuhp_setup_state(CPUHP_AP_RISCV_TIMER_STARTING,
+ error = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN,
"clockevents/riscv/timer:starting",
riscv_timer_starting_cpu, riscv_timer_dying_cpu);
- if (error)
+ if (error < 0)
pr_err("cpu hp setup state failed for RISCV timer [%d]\n",
error);
return error;
diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h
index 14f49fd..f60538b 100644
--- a/include/linux/cpuhotplug.h
+++ b/include/linux/cpuhotplug.h
@@ -130,7 +130,6 @@ enum cpuhp_state {
CPUHP_AP_MARCO_TIMER_STARTING,
CPUHP_AP_MIPS_GIC_TIMER_STARTING,
CPUHP_AP_ARC_TIMER_STARTING,
- CPUHP_AP_RISCV_TIMER_STARTING,
CPUHP_AP_CLINT_TIMER_STARTING,
CPUHP_AP_CSKY_TIMER_STARTING,
CPUHP_AP_HYPERV_TIMER_STARTING,
--
2.7.4

2021-03-03 03:47:46

by Guo Ren

[permalink] [raw]
Subject: [PATCH 3/4] clocksource: csky: Using CPUHP_AP_ONLINE_DYN

From: Guo Ren <[email protected]>

Remove C-SKY clocksource custom definitions in hotplug.h:
- CPUHP_AP_CSKY_TIMER_STARTING

For coding convention.

Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Linus Torvalds <[email protected]>
Tested-by: Guo Ren <[email protected]>
Signed-off-by: Guo Ren <[email protected]>
Link: https://lore.kernel.org/lkml/CAHk-=wjM+kCsKqNdb=c0hKsv=J7-3Q1zmM15vp6_=8S5XfGMtA@mail.gmail.com/
---
drivers/clocksource/timer-mp-csky.c | 4 ++--
include/linux/cpuhotplug.h | 1 -
2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/clocksource/timer-mp-csky.c b/drivers/clocksource/timer-mp-csky.c
index 183a995..fc17d77 100644
--- a/drivers/clocksource/timer-mp-csky.c
+++ b/drivers/clocksource/timer-mp-csky.c
@@ -151,11 +151,11 @@ static int __init csky_mptimer_init(struct device_node *np)
clocksource_register_hz(&csky_clocksource, timer_of_rate(to));
sched_clock_register(sched_clock_read, 32, timer_of_rate(to));

- ret = cpuhp_setup_state(CPUHP_AP_CSKY_TIMER_STARTING,
+ ret = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN,
"clockevents/csky/timer:starting",
csky_mptimer_starting_cpu,
csky_mptimer_dying_cpu);
- if (ret)
+ if (ret < 0)
return -EINVAL;

return 0;
diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h
index f60538b..7f25b44 100644
--- a/include/linux/cpuhotplug.h
+++ b/include/linux/cpuhotplug.h
@@ -131,7 +131,6 @@ enum cpuhp_state {
CPUHP_AP_MIPS_GIC_TIMER_STARTING,
CPUHP_AP_ARC_TIMER_STARTING,
CPUHP_AP_CLINT_TIMER_STARTING,
- CPUHP_AP_CSKY_TIMER_STARTING,
CPUHP_AP_HYPERV_TIMER_STARTING,
CPUHP_AP_KVM_STARTING,
CPUHP_AP_KVM_ARM_VGIC_INIT_STARTING,
--
2.7.4

2021-03-03 03:48:23

by Guo Ren

[permalink] [raw]
Subject: [PATCH 4/4] perf: csky: Using CPUHP_AP_ONLINE_DYN

From: Guo Ren <[email protected]>

Remove C-SKY perf custom definitions in hotplug.h:
- CPUHP_AP_PERF_CSKY_ONLINE

For coding convention.

Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: Arnd Bergmann <[email protected]>
Cc: Linus Torvalds <[email protected]>
Tested-by: Guo Ren <[email protected]>
Signed-off-by: Guo Ren <[email protected]>
Link: https://lore.kernel.org/lkml/CAHk-=wjM+kCsKqNdb=c0hKsv=J7-3Q1zmM15vp6_=8S5XfGMtA@mail.gmail.com/
---
arch/csky/kernel/perf_event.c | 4 ++--
include/linux/cpuhotplug.h | 1 -
2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/arch/csky/kernel/perf_event.c b/arch/csky/kernel/perf_event.c
index e5f1842..ccc27c3 100644
--- a/arch/csky/kernel/perf_event.c
+++ b/arch/csky/kernel/perf_event.c
@@ -1319,10 +1319,10 @@ int csky_pmu_device_probe(struct platform_device *pdev,
pr_notice("[perf] PMU request irq fail!\n");
}

- ret = cpuhp_setup_state(CPUHP_AP_PERF_CSKY_ONLINE, "AP_PERF_ONLINE",
+ ret = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, "arch/csky/perf_event:starting",
csky_pmu_starting_cpu,
csky_pmu_dying_cpu);
- if (ret) {
+ if (ret < 0) {
csky_pmu_free_irq();
free_percpu(csky_pmu.hw_events);
return ret;
diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h
index 7f25b44..3a76019 100644
--- a/include/linux/cpuhotplug.h
+++ b/include/linux/cpuhotplug.h
@@ -182,7 +182,6 @@ enum cpuhp_state {
CPUHP_AP_PERF_POWERPC_TRACE_IMC_ONLINE,
CPUHP_AP_PERF_POWERPC_HV_24x7_ONLINE,
CPUHP_AP_PERF_POWERPC_HV_GPCI_ONLINE,
- CPUHP_AP_PERF_CSKY_ONLINE,
CPUHP_AP_WATCHDOG_ONLINE,
CPUHP_AP_WORKQUEUE_ONLINE,
CPUHP_AP_RCUTREE_ONLINE,
--
2.7.4

2021-03-17 03:39:55

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH 2/4] clocksource: riscv: Using CPUHP_AP_ONLINE_DYN

On Mon, 01 Mar 2021 06:28:20 PST (-0800), [email protected] wrote:
> From: Guo Ren <[email protected]>
>
> Remove RISC-V clocksource custom definitions in hotplug.h:
> - CPUHP_AP_RISCV_TIMER_STARTING
>
> For coding convention.
>
> Cc: Peter Zijlstra <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Arnd Bergmann <[email protected]>
> Cc: Linus Torvalds <[email protected]>
> Cc: Anup Patel <[email protected]>
> Cc: Christoph Hellwig <[email protected]>
> Cc: Palmer Dabbelt <[email protected]>
> Tested-by: Guo Ren <[email protected]>
> Signed-off-by: Guo Ren <[email protected]>
> Link: https://lore.kernel.org/lkml/CAHk-=wjM+kCsKqNdb=c0hKsv=J7-3Q1zmM15vp6_=8S5XfGMtA@mail.gmail.com/
> ---
> drivers/clocksource/timer-riscv.c | 4 ++--
> include/linux/cpuhotplug.h | 1 -
> 2 files changed, 2 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/clocksource/timer-riscv.c b/drivers/clocksource/timer-riscv.c
> index c51c5ed..43aee27 100644
> --- a/drivers/clocksource/timer-riscv.c
> +++ b/drivers/clocksource/timer-riscv.c
> @@ -150,10 +150,10 @@ static int __init riscv_timer_init_dt(struct device_node *n)
> return error;
> }
>
> - error = cpuhp_setup_state(CPUHP_AP_RISCV_TIMER_STARTING,
> + error = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN,
> "clockevents/riscv/timer:starting",
> riscv_timer_starting_cpu, riscv_timer_dying_cpu);
> - if (error)
> + if (error < 0)
> pr_err("cpu hp setup state failed for RISCV timer [%d]\n",
> error);
> return error;
> diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h
> index 14f49fd..f60538b 100644
> --- a/include/linux/cpuhotplug.h
> +++ b/include/linux/cpuhotplug.h
> @@ -130,7 +130,6 @@ enum cpuhp_state {
> CPUHP_AP_MARCO_TIMER_STARTING,
> CPUHP_AP_MIPS_GIC_TIMER_STARTING,
> CPUHP_AP_ARC_TIMER_STARTING,
> - CPUHP_AP_RISCV_TIMER_STARTING,
> CPUHP_AP_CLINT_TIMER_STARTING,
> CPUHP_AP_CSKY_TIMER_STARTING,
> CPUHP_AP_HYPERV_TIMER_STARTING,

Acked-by: Palmer Dabbelt <[email protected]>

Just like the previous one. Presumably CLINT is ours as well?

Thanks!

2021-03-17 03:41:28

by Palmer Dabbelt

[permalink] [raw]
Subject: Re: [PATCH 1/4] irqchip: riscv: Using CPUHP_AP_ONLINE_DYN

On Mon, 01 Mar 2021 06:28:19 PST (-0800), [email protected] wrote:
> From: Guo Ren <[email protected]>
>
> Remove RISC-V irqchip custom definitions in hotplug.h:
> - CPUHP_AP_IRQ_RISCV_STARTING
> - CPUHP_AP_IRQ_SIFIVE_PLIC_STARTING
>
> For coding convention.
>
> Cc: Peter Zijlstra <[email protected]>
> Cc: Thomas Gleixner <[email protected]>
> Cc: Arnd Bergmann <[email protected]>
> Cc: Linus Torvalds <[email protected]>
> Cc: Palmer Dabbelt <[email protected]>
> Cc: Anup Patel <[email protected]>
> Cc: Atish Patra <[email protected]>
> Cc: Christoph Hellwig <[email protected]>
> Tested-by: Guo Ren <[email protected]>
> Signed-off-by: Guo Ren <[email protected]>
> Link: https://lore.kernel.org/lkml/CAHk-=wjM+kCsKqNdb=c0hKsv=J7-3Q1zmM15vp6_=8S5XfGMtA@mail.gmail.com/
> ---
> drivers/irqchip/irq-riscv-intc.c | 2 +-
> drivers/irqchip/irq-sifive-plic.c | 2 +-
> include/linux/cpuhotplug.h | 2 --
> 3 files changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/irqchip/irq-riscv-intc.c b/drivers/irqchip/irq-riscv-intc.c
> index 8017f6d..2c37f3a 100644
> --- a/drivers/irqchip/irq-riscv-intc.c
> +++ b/drivers/irqchip/irq-riscv-intc.c
> @@ -125,7 +125,7 @@ static int __init riscv_intc_init(struct device_node *node,
> return rc;
> }
>
> - cpuhp_setup_state(CPUHP_AP_IRQ_RISCV_STARTING,
> + cpuhp_setup_state(CPUHP_AP_ONLINE_DYN,
> "irqchip/riscv/intc:starting",
> riscv_intc_cpu_starting,
> riscv_intc_cpu_dying);
> diff --git a/drivers/irqchip/irq-sifive-plic.c b/drivers/irqchip/irq-sifive-plic.c
> index 6f432d2..f499f1b 100644
> --- a/drivers/irqchip/irq-sifive-plic.c
> +++ b/drivers/irqchip/irq-sifive-plic.c
> @@ -375,7 +375,7 @@ static int __init plic_init(struct device_node *node,
> */
> handler = this_cpu_ptr(&plic_handlers);
> if (handler->present && !plic_cpuhp_setup_done) {
> - cpuhp_setup_state(CPUHP_AP_IRQ_SIFIVE_PLIC_STARTING,
> + cpuhp_setup_state(CPUHP_AP_ONLINE_DYN,
> "irqchip/sifive/plic:starting",
> plic_starting_cpu, plic_dying_cpu);
> plic_cpuhp_setup_done = true;
> diff --git a/include/linux/cpuhotplug.h b/include/linux/cpuhotplug.h
> index f14adb8..14f49fd 100644
> --- a/include/linux/cpuhotplug.h
> +++ b/include/linux/cpuhotplug.h
> @@ -103,8 +103,6 @@ enum cpuhp_state {
> CPUHP_AP_IRQ_ARMADA_XP_STARTING,
> CPUHP_AP_IRQ_BCM2836_STARTING,
> CPUHP_AP_IRQ_MIPS_GIC_STARTING,
> - CPUHP_AP_IRQ_RISCV_STARTING,
> - CPUHP_AP_IRQ_SIFIVE_PLIC_STARTING,
> CPUHP_AP_ARM_MVEBU_COHERENCY,
> CPUHP_AP_MICROCODE_LOADER,
> CPUHP_AP_PERF_X86_AMD_UNCORE_STARTING,

Acked-by: Palmer Dabbelt <[email protected]>

I'm going to assume this is going in through an irqchip tree, but LMK if you
want me to take it via mine. This isn't really my sort of thing, so I'd prefer
at least an Ack.

Thanks!