Re: [PATCH v2 1/3] powerpc: Factor out common code in setup-common.c
On Tue, 9 Aug 2016 09:30:54 -0700 Andrey Smirnov wrote: > On Sun, Jul 31, 2016 at 8:40 PM, Nicholas Piggin wrote: > > On Thu, 28 Jul 2016 16:07:16 -0700 > > Andrey Smirnov wrote: > > > >> Factor out a small bit of common code in machine_restart(), > >> machine_power_off() and machine_halt(). > >> > >> Signed-off-by: Andrey Smirnov > >> --- > >> > >> No changes compared to v1. > >> > >> arch/powerpc/kernel/setup-common.c | 23 ++- > >> 1 file changed, 14 insertions(+), 9 deletions(-) > >> > >> diff --git a/arch/powerpc/kernel/setup-common.c > >> b/arch/powerpc/kernel/setup-common.c index 714b4ba..5cd3283 100644 > >> --- a/arch/powerpc/kernel/setup-common.c > >> +++ b/arch/powerpc/kernel/setup-common.c > >> @@ -130,15 +130,22 @@ void machine_shutdown(void) > >> ppc_md.machine_shutdown(); > >> } > >> > >> +static void machine_hang(void) > >> +{ > >> + pr_emerg("System Halted, OK to turn off power\n"); > >> + local_irq_disable(); > >> + while (1) > >> + ; > >> +} > > > > What's the intended semantics of this function? A default power > > off handler when the platform supplies none? > > I was mostly trying to avoid code duplication in > machine_halt/machine_restart/machine_power_off and didn't intend that > function to be used outside. The semantics is just - to hang the CPU > when things didn't go as expected and code that was supposed to > restart/halt/power off the machine failed. > > > Would ppc_power_off() > > be a good name? > > Calling it "power_off" seems a bit misleading, the function doesn't > really try to do anything related to powering off, really. Okay I don't feel too strongly against it. Thanks, Nick
Re: [PATCH v2 1/3] powerpc: Factor out common code in setup-common.c
On Sun, Jul 31, 2016 at 8:40 PM, Nicholas Piggin wrote: > On Thu, 28 Jul 2016 16:07:16 -0700 > Andrey Smirnov wrote: > >> Factor out a small bit of common code in machine_restart(), >> machine_power_off() and machine_halt(). >> >> Signed-off-by: Andrey Smirnov >> --- >> >> No changes compared to v1. >> >> arch/powerpc/kernel/setup-common.c | 23 ++- >> 1 file changed, 14 insertions(+), 9 deletions(-) >> >> diff --git a/arch/powerpc/kernel/setup-common.c >> b/arch/powerpc/kernel/setup-common.c index 714b4ba..5cd3283 100644 >> --- a/arch/powerpc/kernel/setup-common.c >> +++ b/arch/powerpc/kernel/setup-common.c >> @@ -130,15 +130,22 @@ void machine_shutdown(void) >> ppc_md.machine_shutdown(); >> } >> >> +static void machine_hang(void) >> +{ >> + pr_emerg("System Halted, OK to turn off power\n"); >> + local_irq_disable(); >> + while (1) >> + ; >> +} > > What's the intended semantics of this function? A default power > off handler when the platform supplies none? I was mostly trying to avoid code duplication in machine_halt/machine_restart/machine_power_off and didn't intend that function to be used outside. The semantics is just - to hang the CPU when things didn't go as expected and code that was supposed to restart/halt/power off the machine failed. > Would ppc_power_off() > be a good name? Calling it "power_off" seems a bit misleading, the function doesn't really try to do anything related to powering off, really. Thanks, Andrey
Re: [PATCH v2 1/3] powerpc: Factor out common code in setup-common.c
On Thu, 28 Jul 2016 16:07:16 -0700 Andrey Smirnov wrote: > Factor out a small bit of common code in machine_restart(), > machine_power_off() and machine_halt(). > > Signed-off-by: Andrey Smirnov > --- > > No changes compared to v1. > > arch/powerpc/kernel/setup-common.c | 23 ++- > 1 file changed, 14 insertions(+), 9 deletions(-) > > diff --git a/arch/powerpc/kernel/setup-common.c > b/arch/powerpc/kernel/setup-common.c index 714b4ba..5cd3283 100644 > --- a/arch/powerpc/kernel/setup-common.c > +++ b/arch/powerpc/kernel/setup-common.c > @@ -130,15 +130,22 @@ void machine_shutdown(void) > ppc_md.machine_shutdown(); > } > > +static void machine_hang(void) > +{ > + pr_emerg("System Halted, OK to turn off power\n"); > + local_irq_disable(); > + while (1) > + ; > +} What's the intended semantics of this function? A default power off handler when the platform supplies none? Would ppc_power_off() be a good name? Should the smp_send_stop() call be moved here? It seems like a reasonable cleanup though. Thanks, Nick ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH v2 1/3] powerpc: Factor out common code in setup-common.c
Factor out a small bit of common code in machine_restart(), machine_power_off() and machine_halt(). Signed-off-by: Andrey Smirnov --- No changes compared to v1. arch/powerpc/kernel/setup-common.c | 23 ++- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c index 714b4ba..5cd3283 100644 --- a/arch/powerpc/kernel/setup-common.c +++ b/arch/powerpc/kernel/setup-common.c @@ -130,15 +130,22 @@ void machine_shutdown(void) ppc_md.machine_shutdown(); } +static void machine_hang(void) +{ + pr_emerg("System Halted, OK to turn off power\n"); + local_irq_disable(); + while (1) + ; +} + void machine_restart(char *cmd) { machine_shutdown(); if (ppc_md.restart) ppc_md.restart(cmd); + smp_send_stop(); - printk(KERN_EMERG "System Halted, OK to turn off power\n"); - local_irq_disable(); - while (1) ; + machine_hang(); } void machine_power_off(void) @@ -146,10 +153,9 @@ void machine_power_off(void) machine_shutdown(); if (pm_power_off) pm_power_off(); + smp_send_stop(); - printk(KERN_EMERG "System Halted, OK to turn off power\n"); - local_irq_disable(); - while (1) ; + machine_hang(); } /* Used by the G5 thermal driver */ EXPORT_SYMBOL_GPL(machine_power_off); @@ -162,10 +168,9 @@ void machine_halt(void) machine_shutdown(); if (ppc_md.halt) ppc_md.halt(); + smp_send_stop(); - printk(KERN_EMERG "System Halted, OK to turn off power\n"); - local_irq_disable(); - while (1) ; + machine_hang(); } -- 2.5.5 ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev