LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH 0/3] power: reset: Convert Power-Off driver to tristate
@ 2021-08-05 7:50 Lee Jones
2021-08-05 7:50 ` [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules Lee Jones
` (2 more replies)
0 siblings, 3 replies; 11+ messages in thread
From: Lee Jones @ 2021-08-05 7:50 UTC (permalink / raw)
To: lee.jones
Cc: linux-arm-kernel, linux-kernel, Albert Ou, Anton Ivanov,
Borislav Petkov, Brian Cain, Catalin Marinas,
Christian Borntraeger, Chris Zankel, David S . Miller,
Geert Uytterhoeven, Guo Ren, Heiko Carstens, Helge Deller,
Ingo Molnar, James E . J . Bottomley, Jeff Dike, John Crispin,
Jonas Bonn, Ley Foon Tan, linux-csky, linux-hexagon, linux-m68k,
linux-mips, linux-parisc, linuxppc-dev, linux-riscv, linux-s390,
linux-sh, linux-snps-arc, linux-um, linux-xtensa, Max Filippov,
Michael Ellerman, Michal Simek, openrisc, Palmer Dabbelt,
Paul Walmsley, Richard Weinberger, Rich Felker, sparclinux,
Stafford Horne, Stefan Kristiansson, Thomas Bogendoerfer,
Thomas Gleixner, uclinux-h8-devel, Vasily Gorbik, Vineet Gupta,
Will Deacon, Yoshinori Sato
Provide support to compile the Power-Off driver as a module.
Elliot Berman (2):
reboot: Export reboot_mode
power: reset: Enable tristate on restart power-off driver
Lee Jones (1):
arch: Export machine_restart() instances so they can be called from
modules
arch/arc/kernel/reset.c | 1 +
arch/arm/kernel/reboot.c | 1 +
arch/arm64/kernel/process.c | 1 +
arch/csky/kernel/power.c | 1 +
arch/h8300/kernel/process.c | 1 +
arch/hexagon/kernel/reset.c | 1 +
arch/m68k/kernel/process.c | 1 +
arch/microblaze/kernel/reset.c | 1 +
arch/mips/kernel/reset.c | 1 +
arch/mips/lantiq/falcon/reset.c | 1 +
arch/mips/sgi-ip27/ip27-reset.c | 1 +
arch/nios2/kernel/process.c | 1 +
arch/openrisc/kernel/process.c | 1 +
arch/parisc/kernel/process.c | 1 +
arch/powerpc/kernel/setup-common.c | 1 +
arch/riscv/kernel/reset.c | 1 +
arch/s390/kernel/setup.c | 1 +
arch/sh/kernel/reboot.c | 1 +
arch/sparc/kernel/process_32.c | 1 +
arch/sparc/kernel/reboot.c | 1 +
arch/um/kernel/reboot.c | 1 +
arch/x86/kernel/reboot.c | 1 +
arch/xtensa/kernel/setup.c | 1 +
drivers/power/reset/Kconfig | 2 +-
kernel/reboot.c | 2 ++
25 files changed, 26 insertions(+), 1 deletion(-)
Cc: Albert Ou <aou@eecs.berkeley.edu>
Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Brian Cain <bcain@codeaurora.org>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Chris Zankel <chris@zankel.net>
Cc: David S. Miller <davem@davemloft.net>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Guo Ren <guoren@kernel.org>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James E.J. Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: John Crispin <john@phrozen.org>
Cc: Jonas Bonn <jonas@southpole.se>
Cc: Ley Foon Tan <ley.foon.tan@intel.com>
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-csky@vger.kernel.org
Cc: linux-hexagon@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-m68k@lists.linux-m68k.org
Cc: linux-mips@vger.kernel.org
Cc: linux-parisc@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-riscv@lists.infradead.org
Cc: linux-s390@vger.kernel.org
Cc: linux-sh@vger.kernel.org
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-um@lists.infradead.org
Cc: linux-xtensa@linux-xtensa.org
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Michal Simek <monstr@monstr.eu>
Cc: openrisc@lists.librecores.org
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Rich Felker <dalias@libc.org>
Cc: sparclinux@vger.kernel.org
Cc: Stafford Horne <shorne@gmail.com>
Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: uclinux-h8-devel@lists.sourceforge.jp
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Will Deacon <will@kernel.org>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
--
2.32.0.605.g8dce9f2422-goog
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules
2021-08-05 7:50 [PATCH 0/3] power: reset: Convert Power-Off driver to tristate Lee Jones
@ 2021-08-05 7:50 ` Lee Jones
2021-08-05 9:16 ` Thomas Bogendoerfer
2021-08-05 17:36 ` Catalin Marinas
2021-08-05 7:50 ` [PATCH 2/3] reboot: Export reboot_mode Lee Jones
2021-08-05 7:50 ` [PATCH 3/3] power: reset: Enable tristate on restart power-off driver Lee Jones
2 siblings, 2 replies; 11+ messages in thread
From: Lee Jones @ 2021-08-05 7:50 UTC (permalink / raw)
To: lee.jones
Cc: linux-arm-kernel, linux-kernel, Vineet Gupta, Catalin Marinas,
Will Deacon, Guo Ren, Yoshinori Sato, Brian Cain,
Geert Uytterhoeven, Michal Simek, Thomas Bogendoerfer,
John Crispin, Ley Foon Tan, Jonas Bonn, Stefan Kristiansson,
Stafford Horne, James E . J . Bottomley, Helge Deller,
Michael Ellerman, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Heiko Carstens, Vasily Gorbik, Christian Borntraeger,
Rich Felker, David S . Miller, Jeff Dike, Richard Weinberger,
Anton Ivanov, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
Chris Zankel, Max Filippov, Greg Kroah-Hartman,
Sebastian Reichel, linux-snps-arc, linux-csky, uclinux-h8-devel,
linux-hexagon, linux-m68k, linux-mips, openrisc, linux-parisc,
linuxppc-dev, linux-riscv, linux-s390, linux-sh, sparclinux,
linux-um, linux-xtensa
A recent attempt to convert the Power Reset Restart driver to tristate
failed because of the following compile error (reported once merged by
Stephen Rothwell via Linux Next):
ERROR: "machine_restart" [drivers/power/reset/restart-poweroff.ko] undefined!
This error occurs since some of the machine_restart() instances are
not currently exported for use in modules. This patch aims to rectify
that.
Cc: Vineet Gupta <vgupta@synopsys.com>
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Will Deacon <will@kernel.org>
Cc: Guo Ren <guoren@kernel.org>
Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Brian Cain <bcain@codeaurora.org>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Michal Simek <monstr@monstr.eu>
Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: John Crispin <john@phrozen.org>
Cc: Ley Foon Tan <ley.foon.tan@intel.com>
Cc: Jonas Bonn <jonas@southpole.se>
Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
Cc: Stafford Horne <shorne@gmail.com>
Cc: James E.J. Bottomley <James.Bottomley@HansenPartnership.com>
Cc: Helge Deller <deller@gmx.de>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Paul Walmsley <paul.walmsley@sifive.com>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Albert Ou <aou@eecs.berkeley.edu>
Cc: Heiko Carstens <hca@linux.ibm.com>
Cc: Vasily Gorbik <gor@linux.ibm.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: Rich Felker <dalias@libc.org>
Cc: David S. Miller <davem@davemloft.net>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: Borislav Petkov <bp@alien8.de>
Cc: Chris Zankel <chris@zankel.net>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Sebastian Reichel <sre@kernel.org>
Cc: linux-snps-arc@lists.infradead.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Cc: linux-csky@vger.kernel.org
Cc: uclinux-h8-devel@lists.sourceforge.jp
Cc: linux-hexagon@vger.kernel.org
Cc: linux-m68k@lists.linux-m68k.org
Cc: linux-mips@vger.kernel.org
Cc: openrisc@lists.librecores.org
Cc: linux-parisc@vger.kernel.org
Cc: linuxppc-dev@lists.ozlabs.org
Cc: linux-riscv@lists.infradead.org
Cc: linux-s390@vger.kernel.org
Cc: linux-sh@vger.kernel.org
Cc: sparclinux@vger.kernel.org
Cc: linux-um@lists.infradead.org
Cc: linux-xtensa@linux-xtensa.org
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
The 2 patches this change supports have the required Acks already.
NB: If it's safe to omit some of these, let me know and I'll revise the patch.
arch/arc/kernel/reset.c | 1 +
arch/arm/kernel/reboot.c | 1 +
arch/arm64/kernel/process.c | 1 +
arch/csky/kernel/power.c | 1 +
arch/h8300/kernel/process.c | 1 +
arch/hexagon/kernel/reset.c | 1 +
arch/m68k/kernel/process.c | 1 +
arch/microblaze/kernel/reset.c | 1 +
arch/mips/kernel/reset.c | 1 +
arch/mips/lantiq/falcon/reset.c | 1 +
arch/mips/sgi-ip27/ip27-reset.c | 1 +
arch/nios2/kernel/process.c | 1 +
arch/openrisc/kernel/process.c | 1 +
arch/parisc/kernel/process.c | 1 +
arch/powerpc/kernel/setup-common.c | 1 +
arch/riscv/kernel/reset.c | 1 +
arch/s390/kernel/setup.c | 1 +
arch/sh/kernel/reboot.c | 1 +
arch/sparc/kernel/process_32.c | 1 +
arch/sparc/kernel/reboot.c | 1 +
arch/um/kernel/reboot.c | 1 +
arch/x86/kernel/reboot.c | 1 +
arch/xtensa/kernel/setup.c | 1 +
23 files changed, 23 insertions(+)
diff --git a/arch/arc/kernel/reset.c b/arch/arc/kernel/reset.c
index fd6c3eb930bad..ae4f8a43b0af4 100644
--- a/arch/arc/kernel/reset.c
+++ b/arch/arc/kernel/reset.c
@@ -20,6 +20,7 @@ void machine_restart(char *__unused)
pr_info("Put your restart handler here\n");
machine_halt();
}
+EXPORT_SYMBOL(machine_restart);
void machine_power_off(void)
{
diff --git a/arch/arm/kernel/reboot.c b/arch/arm/kernel/reboot.c
index 0ce388f154226..2878260efd130 100644
--- a/arch/arm/kernel/reboot.c
+++ b/arch/arm/kernel/reboot.c
@@ -150,3 +150,4 @@ void machine_restart(char *cmd)
printk("Reboot failed -- System halted\n");
while (1);
}
+EXPORT_SYMBOL(machine_restart);
diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
index b4bb67f17a2ca..cf89ce91d7145 100644
--- a/arch/arm64/kernel/process.c
+++ b/arch/arm64/kernel/process.c
@@ -212,6 +212,7 @@ void machine_restart(char *cmd)
printk("Reboot failed -- System halted\n");
while (1);
}
+EXPORT_SYMBOL(machine_restart);
#define bstr(suffix, str) [PSR_BTYPE_ ## suffix >> PSR_BTYPE_SHIFT] = str
static const char *const btypes[] = {
diff --git a/arch/csky/kernel/power.c b/arch/csky/kernel/power.c
index 923ee4e381b81..b466c825cbb3c 100644
--- a/arch/csky/kernel/power.c
+++ b/arch/csky/kernel/power.c
@@ -28,3 +28,4 @@ void machine_restart(char *cmd)
do_kernel_restart(cmd);
asm volatile ("bkpt");
}
+EXPORT_SYMBOL(machine_restart);
diff --git a/arch/h8300/kernel/process.c b/arch/h8300/kernel/process.c
index 46b1342ce515b..8203ac5cd33ec 100644
--- a/arch/h8300/kernel/process.c
+++ b/arch/h8300/kernel/process.c
@@ -66,6 +66,7 @@ void machine_restart(char *__unused)
local_irq_disable();
__asm__("jmp @@0");
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
diff --git a/arch/hexagon/kernel/reset.c b/arch/hexagon/kernel/reset.c
index da36114d928f0..433378d52063c 100644
--- a/arch/hexagon/kernel/reset.c
+++ b/arch/hexagon/kernel/reset.c
@@ -19,6 +19,7 @@ void machine_halt(void)
void machine_restart(char *cmd)
{
}
+EXPORT_SYMBOL(machine_restart);
void (*pm_power_off)(void) = NULL;
EXPORT_SYMBOL(pm_power_off);
diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c
index da83cc83e7912..e0264704686e9 100644
--- a/arch/m68k/kernel/process.c
+++ b/arch/m68k/kernel/process.c
@@ -57,6 +57,7 @@ void machine_restart(char * __unused)
mach_reset();
for (;;);
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
diff --git a/arch/microblaze/kernel/reset.c b/arch/microblaze/kernel/reset.c
index 5f4722908164d..902fbe3777846 100644
--- a/arch/microblaze/kernel/reset.c
+++ b/arch/microblaze/kernel/reset.c
@@ -41,3 +41,4 @@ void machine_restart(char *cmd)
pr_emerg("Reboot failed -- System halted\n");
while (1);
}
+EXPORT_SYMBOL(machine_restart);
diff --git a/arch/mips/kernel/reset.c b/arch/mips/kernel/reset.c
index 6288780b779e7..2d3193a3cf68b 100644
--- a/arch/mips/kernel/reset.c
+++ b/arch/mips/kernel/reset.c
@@ -99,6 +99,7 @@ void machine_restart(char *command)
pr_emerg("Reboot failed -- System halted\n");
machine_hang();
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
diff --git a/arch/mips/lantiq/falcon/reset.c b/arch/mips/lantiq/falcon/reset.c
index 261996c230cf6..80dd9759ffa55 100644
--- a/arch/mips/lantiq/falcon/reset.c
+++ b/arch/mips/lantiq/falcon/reset.c
@@ -51,6 +51,7 @@ static void machine_restart(char *command)
(void *)WDT_REG_BASE);
unreachable();
}
+EXPORT_SYMBOL(machine_restart);
static void machine_halt(void)
{
diff --git a/arch/mips/sgi-ip27/ip27-reset.c b/arch/mips/sgi-ip27/ip27-reset.c
index 5ac5ad6387343..a3f8f4498b7c5 100644
--- a/arch/mips/sgi-ip27/ip27-reset.c
+++ b/arch/mips/sgi-ip27/ip27-reset.c
@@ -29,6 +29,7 @@
#include "ip27-common.h"
void machine_restart(char *command) __noreturn;
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void) __noreturn;
void machine_power_off(void) __noreturn;
diff --git a/arch/nios2/kernel/process.c b/arch/nios2/kernel/process.c
index c5f916ca6845f..6f9459e8ae4ed 100644
--- a/arch/nios2/kernel/process.c
+++ b/arch/nios2/kernel/process.c
@@ -51,6 +51,7 @@ void machine_restart(char *__unused)
: "r" (cpuinfo.reset_addr)
: "r4");
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
diff --git a/arch/openrisc/kernel/process.c b/arch/openrisc/kernel/process.c
index eb62429681fc8..12c3022c46387 100644
--- a/arch/openrisc/kernel/process.c
+++ b/arch/openrisc/kernel/process.c
@@ -61,6 +61,7 @@ void machine_restart(char *cmd)
pr_emerg("Reboot failed -- System halted\n");
while (1);
}
+EXPORT_SYMBOL(machine_restart);
/*
* Similar to machine_power_off, but don't shut off power. Add code
diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c
index b144fbe29bc16..05e9f03124b64 100644
--- a/arch/parisc/kernel/process.c
+++ b/arch/parisc/kernel/process.c
@@ -96,6 +96,7 @@ void machine_restart(char *cmd)
while (1) ;
}
+EXPORT_SYMBOL(machine_restart);
void (*chassis_power_off)(void);
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index 74a98fff2c2f9..54ebae540dd7d 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -159,6 +159,7 @@ void machine_restart(char *cmd)
machine_hang();
}
+EXPORT_SYMBOL(machine_restart);
void machine_power_off(void)
{
diff --git a/arch/riscv/kernel/reset.c b/arch/riscv/kernel/reset.c
index ee5878d968cc1..596a36b91eaa2 100644
--- a/arch/riscv/kernel/reset.c
+++ b/arch/riscv/kernel/reset.c
@@ -20,6 +20,7 @@ void machine_restart(char *cmd)
do_kernel_restart(cmd);
while (1);
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index 5aab59ad56881..fd2394af0d43a 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -276,6 +276,7 @@ void machine_restart(char *command)
console_unblank();
_machine_restart(command);
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
diff --git a/arch/sh/kernel/reboot.c b/arch/sh/kernel/reboot.c
index 5c33f036418be..36b6c61f3b129 100644
--- a/arch/sh/kernel/reboot.c
+++ b/arch/sh/kernel/reboot.c
@@ -83,6 +83,7 @@ void machine_restart(char *cmd)
{
machine_ops.restart(cmd);
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
diff --git a/arch/sparc/kernel/process_32.c b/arch/sparc/kernel/process_32.c
index 3b9794978e5bc..30a1674683946 100644
--- a/arch/sparc/kernel/process_32.c
+++ b/arch/sparc/kernel/process_32.c
@@ -104,6 +104,7 @@ void machine_restart(char * cmd)
prom_feval ("reset");
panic("Reboot failed!");
}
+EXPORT_SYMBOL(machine_restart);
void machine_power_off(void)
{
diff --git a/arch/sparc/kernel/reboot.c b/arch/sparc/kernel/reboot.c
index 69c1b6c047d53..53adef425d7de 100644
--- a/arch/sparc/kernel/reboot.c
+++ b/arch/sparc/kernel/reboot.c
@@ -52,4 +52,5 @@ void machine_restart(char *cmd)
prom_reboot("");
panic("Reboot failed!");
}
+EXPORT_SYMBOL(machine_restart);
diff --git a/arch/um/kernel/reboot.c b/arch/um/kernel/reboot.c
index 48c0610d506e0..4b764311efb89 100644
--- a/arch/um/kernel/reboot.c
+++ b/arch/um/kernel/reboot.c
@@ -47,6 +47,7 @@ void machine_restart(char * __unused)
uml_cleanup();
reboot_skas();
}
+EXPORT_SYMBOL(machine_restart);
void machine_power_off(void)
{
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index b29657b76e3fa..b48c30ead7167 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -733,6 +733,7 @@ static void native_machine_restart(char *__unused)
machine_shutdown();
__machine_emergency_restart(0);
}
+EXPORT_SYMBOL(machine_restart);
static void native_machine_halt(void)
{
diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c
index ed184106e4cf9..a84cc934300d5 100644
--- a/arch/xtensa/kernel/setup.c
+++ b/arch/xtensa/kernel/setup.c
@@ -564,6 +564,7 @@ void machine_restart(char * cmd)
{
platform_restart();
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
--
2.32.0.605.g8dce9f2422-goog
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 2/3] reboot: Export reboot_mode
2021-08-05 7:50 [PATCH 0/3] power: reset: Convert Power-Off driver to tristate Lee Jones
2021-08-05 7:50 ` [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules Lee Jones
@ 2021-08-05 7:50 ` Lee Jones
2021-08-05 7:50 ` [PATCH 3/3] power: reset: Enable tristate on restart power-off driver Lee Jones
2 siblings, 0 replies; 11+ messages in thread
From: Lee Jones @ 2021-08-05 7:50 UTC (permalink / raw)
To: lee.jones
Cc: linux-arm-kernel, linux-kernel, Elliot Berman, Bjorn Andersson,
Greg Kroah-Hartman
From: Elliot Berman <eberman@codeaurora.org>
Export reboot_mode to support kernel modules wishing to modify reboot_mode.
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
kernel/reboot.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/reboot.c b/kernel/reboot.c
index a6ad5eb2fa733..7ca414aa070b6 100644
--- a/kernel/reboot.c
+++ b/kernel/reboot.c
@@ -32,7 +32,9 @@ EXPORT_SYMBOL(cad_pid);
#define DEFAULT_REBOOT_MODE
#endif
enum reboot_mode reboot_mode DEFAULT_REBOOT_MODE;
+EXPORT_SYMBOL_GPL(reboot_mode);
enum reboot_mode panic_reboot_mode = REBOOT_UNDEFINED;
+EXPORT_SYMBOL_GPL(panic_reboot_mode);
/*
* This variable is used privately to keep track of whether or not
--
2.32.0.605.g8dce9f2422-goog
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 3/3] power: reset: Enable tristate on restart power-off driver
2021-08-05 7:50 [PATCH 0/3] power: reset: Convert Power-Off driver to tristate Lee Jones
2021-08-05 7:50 ` [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules Lee Jones
2021-08-05 7:50 ` [PATCH 2/3] reboot: Export reboot_mode Lee Jones
@ 2021-08-05 7:50 ` Lee Jones
2 siblings, 0 replies; 11+ messages in thread
From: Lee Jones @ 2021-08-05 7:50 UTC (permalink / raw)
To: lee.jones
Cc: linux-arm-kernel, linux-kernel, Elliot Berman, Sebastian Reichel
From: Elliot Berman <eberman@codeaurora.org>
Since reboot_mode is an exported symbol, restart power-off driver can be
compiled as module.
Signed-off-by: Elliot Berman <eberman@codeaurora.org>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
Acked-by: Sebastian Reichel <sre@kernel.org>
---
drivers/power/reset/Kconfig | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig
index 4d1192062508d..e155b2e2a75c4 100644
--- a/drivers/power/reset/Kconfig
+++ b/drivers/power/reset/Kconfig
@@ -192,7 +192,7 @@ config POWER_RESET_REGULATOR
power regulator defined in the devicetree.
config POWER_RESET_RESTART
- bool "Restart power-off driver"
+ tristate "Restart power-off driver"
help
Some boards don't actually have the ability to power off.
Instead they restart, and u-boot holds the SoC until the
--
2.32.0.605.g8dce9f2422-goog
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules
2021-08-05 7:50 ` [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules Lee Jones
@ 2021-08-05 9:16 ` Thomas Bogendoerfer
2021-08-05 17:36 ` Catalin Marinas
1 sibling, 0 replies; 11+ messages in thread
From: Thomas Bogendoerfer @ 2021-08-05 9:16 UTC (permalink / raw)
To: Lee Jones
Cc: linux-arm-kernel, linux-kernel, Vineet Gupta, Catalin Marinas,
Will Deacon, Guo Ren, Yoshinori Sato, Brian Cain,
Geert Uytterhoeven, Michal Simek, John Crispin, Ley Foon Tan,
Jonas Bonn, Stefan Kristiansson, Stafford Horne,
James E . J . Bottomley, Helge Deller, Michael Ellerman,
Paul Walmsley, Palmer Dabbelt, Albert Ou, Heiko Carstens,
Vasily Gorbik, Christian Borntraeger, Rich Felker,
David S . Miller, Jeff Dike, Richard Weinberger, Anton Ivanov,
Thomas Gleixner, Ingo Molnar, Borislav Petkov, Chris Zankel,
Max Filippov, Greg Kroah-Hartman, Sebastian Reichel,
linux-snps-arc, linux-csky, uclinux-h8-devel, linux-hexagon,
linux-m68k, linux-mips, openrisc, linux-parisc, linuxppc-dev,
linux-riscv, linux-s390, linux-sh, sparclinux, linux-um,
linux-xtensa
On Thu, Aug 05, 2021 at 08:50:30AM +0100, Lee Jones wrote:
> A recent attempt to convert the Power Reset Restart driver to tristate
> failed because of the following compile error (reported once merged by
> Stephen Rothwell via Linux Next):
>
> ERROR: "machine_restart" [drivers/power/reset/restart-poweroff.ko] undefined!
>
> This error occurs since some of the machine_restart() instances are
> not currently exported for use in modules. This patch aims to rectify
> that.
>
> Cc: Vineet Gupta <vgupta@synopsys.com>
> Cc: Catalin Marinas <catalin.marinas@arm.com>
> Cc: Will Deacon <will@kernel.org>
> Cc: Guo Ren <guoren@kernel.org>
> Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
> Cc: Brian Cain <bcain@codeaurora.org>
> Cc: Geert Uytterhoeven <geert@linux-m68k.org>
> Cc: Michal Simek <monstr@monstr.eu>
> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
> Cc: John Crispin <john@phrozen.org>
> Cc: Ley Foon Tan <ley.foon.tan@intel.com>
> Cc: Jonas Bonn <jonas@southpole.se>
> Cc: Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
> Cc: Stafford Horne <shorne@gmail.com>
> Cc: James E.J. Bottomley <James.Bottomley@HansenPartnership.com>
> Cc: Helge Deller <deller@gmx.de>
> Cc: Michael Ellerman <mpe@ellerman.id.au>
> Cc: Paul Walmsley <paul.walmsley@sifive.com>
> Cc: Palmer Dabbelt <palmer@dabbelt.com>
> Cc: Albert Ou <aou@eecs.berkeley.edu>
> Cc: Heiko Carstens <hca@linux.ibm.com>
> Cc: Vasily Gorbik <gor@linux.ibm.com>
> Cc: Christian Borntraeger <borntraeger@de.ibm.com>
> Cc: Rich Felker <dalias@libc.org>
> Cc: David S. Miller <davem@davemloft.net>
> Cc: Jeff Dike <jdike@addtoit.com>
> Cc: Richard Weinberger <richard@nod.at>
> Cc: Anton Ivanov <anton.ivanov@cambridgegreys.com>
> Cc: Thomas Gleixner <tglx@linutronix.de>
> Cc: Ingo Molnar <mingo@redhat.com>
> Cc: Borislav Petkov <bp@alien8.de>
> Cc: Chris Zankel <chris@zankel.net>
> Cc: Max Filippov <jcmvbkbc@gmail.com>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Sebastian Reichel <sre@kernel.org>
> Cc: linux-snps-arc@lists.infradead.org
> Cc: linux-kernel@vger.kernel.org
> Cc: linux-arm-kernel@lists.infradead.org
> Cc: linux-csky@vger.kernel.org
> Cc: uclinux-h8-devel@lists.sourceforge.jp
> Cc: linux-hexagon@vger.kernel.org
> Cc: linux-m68k@lists.linux-m68k.org
> Cc: linux-mips@vger.kernel.org
> Cc: openrisc@lists.librecores.org
> Cc: linux-parisc@vger.kernel.org
> Cc: linuxppc-dev@lists.ozlabs.org
> Cc: linux-riscv@lists.infradead.org
> Cc: linux-s390@vger.kernel.org
> Cc: linux-sh@vger.kernel.org
> Cc: sparclinux@vger.kernel.org
> Cc: linux-um@lists.infradead.org
> Cc: linux-xtensa@linux-xtensa.org
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> ---
>
> The 2 patches this change supports have the required Acks already.
>
> NB: If it's safe to omit some of these, let me know and I'll revise the patch.
>
> [...]
> arch/mips/kernel/reset.c | 1 +
> arch/mips/lantiq/falcon/reset.c | 1 +
> arch/mips/sgi-ip27/ip27-reset.c | 1 +
Acked-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules
2021-08-05 7:50 ` [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules Lee Jones
2021-08-05 9:16 ` Thomas Bogendoerfer
@ 2021-08-05 17:36 ` Catalin Marinas
2021-08-05 18:41 ` Greg Kroah-Hartman
1 sibling, 1 reply; 11+ messages in thread
From: Catalin Marinas @ 2021-08-05 17:36 UTC (permalink / raw)
To: Lee Jones
Cc: linux-arm-kernel, linux-kernel, Vineet Gupta, Will Deacon,
Guo Ren, Yoshinori Sato, Brian Cain, Geert Uytterhoeven,
Michal Simek, Thomas Bogendoerfer, John Crispin, Ley Foon Tan,
Jonas Bonn, Stefan Kristiansson, Stafford Horne,
James E . J . Bottomley, Helge Deller, Michael Ellerman,
Paul Walmsley, Palmer Dabbelt, Albert Ou, Heiko Carstens,
Vasily Gorbik, Christian Borntraeger, Rich Felker,
David S . Miller, Jeff Dike, Richard Weinberger, Anton Ivanov,
Thomas Gleixner, Ingo Molnar, Borislav Petkov, Chris Zankel,
Max Filippov, Greg Kroah-Hartman, Sebastian Reichel,
linux-snps-arc, linux-csky, uclinux-h8-devel, linux-hexagon,
linux-m68k, linux-mips, openrisc, linux-parisc, linuxppc-dev,
linux-riscv, linux-s390, linux-sh, sparclinux, linux-um,
linux-xtensa
On Thu, Aug 05, 2021 at 08:50:30AM +0100, Lee Jones wrote:
> diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
> index b4bb67f17a2ca..cf89ce91d7145 100644
> --- a/arch/arm64/kernel/process.c
> +++ b/arch/arm64/kernel/process.c
> @@ -212,6 +212,7 @@ void machine_restart(char *cmd)
> printk("Reboot failed -- System halted\n");
> while (1);
> }
> +EXPORT_SYMBOL(machine_restart);
Should we make this EXPORT_SYMBOL_GPL? I suppose it's not for general
use by out of tree drivers and it matches the other pm_power_off symbol
we export in this file.
Either way:
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules
2021-08-05 17:36 ` Catalin Marinas
@ 2021-08-05 18:41 ` Greg Kroah-Hartman
2021-08-05 18:54 ` Lee Jones
0 siblings, 1 reply; 11+ messages in thread
From: Greg Kroah-Hartman @ 2021-08-05 18:41 UTC (permalink / raw)
To: Catalin Marinas
Cc: Lee Jones, linux-arm-kernel, linux-kernel, Vineet Gupta,
Will Deacon, Guo Ren, Yoshinori Sato, Brian Cain,
Geert Uytterhoeven, Michal Simek, Thomas Bogendoerfer,
John Crispin, Ley Foon Tan, Jonas Bonn, Stefan Kristiansson,
Stafford Horne, James E . J . Bottomley, Helge Deller,
Michael Ellerman, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Heiko Carstens, Vasily Gorbik, Christian Borntraeger,
Rich Felker, David S . Miller, Jeff Dike, Richard Weinberger,
Anton Ivanov, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
Chris Zankel, Max Filippov, Sebastian Reichel, linux-snps-arc,
linux-csky, uclinux-h8-devel, linux-hexagon, linux-m68k,
linux-mips, openrisc, linux-parisc, linuxppc-dev, linux-riscv,
linux-s390, linux-sh, sparclinux, linux-um, linux-xtensa
On Thu, Aug 05, 2021 at 06:36:25PM +0100, Catalin Marinas wrote:
> On Thu, Aug 05, 2021 at 08:50:30AM +0100, Lee Jones wrote:
> > diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
> > index b4bb67f17a2ca..cf89ce91d7145 100644
> > --- a/arch/arm64/kernel/process.c
> > +++ b/arch/arm64/kernel/process.c
> > @@ -212,6 +212,7 @@ void machine_restart(char *cmd)
> > printk("Reboot failed -- System halted\n");
> > while (1);
> > }
> > +EXPORT_SYMBOL(machine_restart);
>
> Should we make this EXPORT_SYMBOL_GPL? I suppose it's not for general
> use by out of tree drivers and it matches the other pm_power_off symbol
> we export in this file.
Yes please.
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules
2021-08-05 18:41 ` Greg Kroah-Hartman
@ 2021-08-05 18:54 ` Lee Jones
0 siblings, 0 replies; 11+ messages in thread
From: Lee Jones @ 2021-08-05 18:54 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Catalin Marinas, linux-arm-kernel, linux-kernel, Vineet Gupta,
Will Deacon, Guo Ren, Yoshinori Sato, Brian Cain,
Geert Uytterhoeven, Michal Simek, Thomas Bogendoerfer,
John Crispin, Ley Foon Tan, Jonas Bonn, Stefan Kristiansson,
Stafford Horne, James E . J . Bottomley, Helge Deller,
Michael Ellerman, Paul Walmsley, Palmer Dabbelt, Albert Ou,
Heiko Carstens, Vasily Gorbik, Christian Borntraeger,
Rich Felker, David S . Miller, Jeff Dike, Richard Weinberger,
Anton Ivanov, Thomas Gleixner, Ingo Molnar, Borislav Petkov,
Chris Zankel, Max Filippov, Sebastian Reichel, linux-snps-arc,
linux-csky, uclinux-h8-devel, linux-hexagon, linux-m68k,
linux-mips, openrisc, linux-parisc, linuxppc-dev, linux-riscv,
linux-s390, linux-sh, sparclinux, linux-um, linux-xtensa
On Thu, 05 Aug 2021, Greg Kroah-Hartman wrote:
> On Thu, Aug 05, 2021 at 06:36:25PM +0100, Catalin Marinas wrote:
> > On Thu, Aug 05, 2021 at 08:50:30AM +0100, Lee Jones wrote:
> > > diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
> > > index b4bb67f17a2ca..cf89ce91d7145 100644
> > > --- a/arch/arm64/kernel/process.c
> > > +++ b/arch/arm64/kernel/process.c
> > > @@ -212,6 +212,7 @@ void machine_restart(char *cmd)
> > > printk("Reboot failed -- System halted\n");
> > > while (1);
> > > }
> > > +EXPORT_SYMBOL(machine_restart);
> >
> > Should we make this EXPORT_SYMBOL_GPL? I suppose it's not for general
> > use by out of tree drivers and it matches the other pm_power_off symbol
> > we export in this file.
>
> Yes please.
Sure.
Thanks for the feedback.
--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules
2021-08-09 15:15 ` Geert Uytterhoeven
@ 2021-08-10 7:58 ` Lee Jones
0 siblings, 0 replies; 11+ messages in thread
From: Lee Jones @ 2021-08-10 7:58 UTC (permalink / raw)
To: Geert Uytterhoeven; +Cc: Linux ARM, Linux Kernel Mailing List
On Mon, 09 Aug 2021, Geert Uytterhoeven wrote:
> On Tue, Aug 3, 2021 at 5:56 PM Lee Jones <lee.jones@linaro.org> wrote:
> > A recent attempt to convert the Power Reset Restart driver to tristate
> > failed because of the following compile error (reported once merged by
> > Stephen Rothwell via Linux Next):
> >
> > ERROR: "machine_restart" [drivers/power/reset/restart-poweroff.ko] undefined!
> >
> > This error occurs since some of the machine_restart() instances are
> > not currently exported for use in modules. This patch aims to rectify
> > that.
> >
> > Signed-off-by: Lee Jones <lee.jones@linaro.org>
>
> > NB: If it's safe to omit some of these, let me know and I'll revise the patch.
>
> How do you plan to handle that? Isn't this an all-or-nothing export?
That's the way I see it, but I don't have an in-depth knowledge of all
of the architectures. There may be a method there that isn't part of
the core API. If that's the case, I can drop the export.
> > arch/m68k/kernel/process.c | 1 +
>
> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Thanks Geert.
I'll pick this up when I do the re-spin shortly.
--
Lee Jones [李琼斯]
Senior Technical Lead - Developer Services
Linaro.org │ Open source software for Arm SoCs
Follow Linaro: Facebook | Twitter | Blog
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules
2021-08-03 15:54 ` [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules Lee Jones
@ 2021-08-09 15:15 ` Geert Uytterhoeven
2021-08-10 7:58 ` Lee Jones
0 siblings, 1 reply; 11+ messages in thread
From: Geert Uytterhoeven @ 2021-08-09 15:15 UTC (permalink / raw)
To: Lee Jones; +Cc: Linux ARM, Linux Kernel Mailing List
On Tue, Aug 3, 2021 at 5:56 PM Lee Jones <lee.jones@linaro.org> wrote:
> A recent attempt to convert the Power Reset Restart driver to tristate
> failed because of the following compile error (reported once merged by
> Stephen Rothwell via Linux Next):
>
> ERROR: "machine_restart" [drivers/power/reset/restart-poweroff.ko] undefined!
>
> This error occurs since some of the machine_restart() instances are
> not currently exported for use in modules. This patch aims to rectify
> that.
>
> Signed-off-by: Lee Jones <lee.jones@linaro.org>
> NB: If it's safe to omit some of these, let me know and I'll revise the patch.
How do you plan to handle that? Isn't this an all-or-nothing export?
> arch/m68k/kernel/process.c | 1 +
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules
2021-08-03 15:54 [PATCH 0/3] power: reset: Convert Power-Off driver to tristate Lee Jones
@ 2021-08-03 15:54 ` Lee Jones
2021-08-09 15:15 ` Geert Uytterhoeven
0 siblings, 1 reply; 11+ messages in thread
From: Lee Jones @ 2021-08-03 15:54 UTC (permalink / raw)
To: lee.jones; +Cc: linux-arm-kernel, linux-kernel
A recent attempt to convert the Power Reset Restart driver to tristate
failed because of the following compile error (reported once merged by
Stephen Rothwell via Linux Next):
ERROR: "machine_restart" [drivers/power/reset/restart-poweroff.ko] undefined!
This error occurs since some of the machine_restart() instances are
not currently exported for use in modules. This patch aims to rectify
that.
Signed-off-by: Lee Jones <lee.jones@linaro.org>
---
NB: If it's safe to omit some of these, let me know and I'll revise the patch.
arch/arc/kernel/reset.c | 1 +
arch/arm/kernel/reboot.c | 1 +
arch/arm64/kernel/process.c | 1 +
arch/csky/kernel/power.c | 1 +
arch/h8300/kernel/process.c | 1 +
arch/hexagon/kernel/reset.c | 1 +
arch/m68k/kernel/process.c | 1 +
arch/microblaze/kernel/reset.c | 1 +
arch/mips/kernel/reset.c | 1 +
arch/mips/lantiq/falcon/reset.c | 1 +
arch/mips/sgi-ip27/ip27-reset.c | 1 +
arch/nios2/kernel/process.c | 1 +
arch/openrisc/kernel/process.c | 1 +
arch/parisc/kernel/process.c | 1 +
arch/powerpc/kernel/setup-common.c | 1 +
arch/riscv/kernel/reset.c | 1 +
arch/s390/kernel/setup.c | 1 +
arch/sh/kernel/reboot.c | 1 +
arch/sparc/kernel/process_32.c | 1 +
arch/sparc/kernel/reboot.c | 1 +
arch/um/kernel/reboot.c | 1 +
arch/x86/kernel/reboot.c | 1 +
arch/xtensa/kernel/setup.c | 1 +
23 files changed, 23 insertions(+)
diff --git a/arch/arc/kernel/reset.c b/arch/arc/kernel/reset.c
index fd6c3eb930bad..ae4f8a43b0af4 100644
--- a/arch/arc/kernel/reset.c
+++ b/arch/arc/kernel/reset.c
@@ -20,6 +20,7 @@ void machine_restart(char *__unused)
pr_info("Put your restart handler here\n");
machine_halt();
}
+EXPORT_SYMBOL(machine_restart);
void machine_power_off(void)
{
diff --git a/arch/arm/kernel/reboot.c b/arch/arm/kernel/reboot.c
index 0ce388f154226..2878260efd130 100644
--- a/arch/arm/kernel/reboot.c
+++ b/arch/arm/kernel/reboot.c
@@ -150,3 +150,4 @@ void machine_restart(char *cmd)
printk("Reboot failed -- System halted\n");
while (1);
}
+EXPORT_SYMBOL(machine_restart);
diff --git a/arch/arm64/kernel/process.c b/arch/arm64/kernel/process.c
index b4bb67f17a2ca..cf89ce91d7145 100644
--- a/arch/arm64/kernel/process.c
+++ b/arch/arm64/kernel/process.c
@@ -212,6 +212,7 @@ void machine_restart(char *cmd)
printk("Reboot failed -- System halted\n");
while (1);
}
+EXPORT_SYMBOL(machine_restart);
#define bstr(suffix, str) [PSR_BTYPE_ ## suffix >> PSR_BTYPE_SHIFT] = str
static const char *const btypes[] = {
diff --git a/arch/csky/kernel/power.c b/arch/csky/kernel/power.c
index 923ee4e381b81..b466c825cbb3c 100644
--- a/arch/csky/kernel/power.c
+++ b/arch/csky/kernel/power.c
@@ -28,3 +28,4 @@ void machine_restart(char *cmd)
do_kernel_restart(cmd);
asm volatile ("bkpt");
}
+EXPORT_SYMBOL(machine_restart);
diff --git a/arch/h8300/kernel/process.c b/arch/h8300/kernel/process.c
index 46b1342ce515b..8203ac5cd33ec 100644
--- a/arch/h8300/kernel/process.c
+++ b/arch/h8300/kernel/process.c
@@ -66,6 +66,7 @@ void machine_restart(char *__unused)
local_irq_disable();
__asm__("jmp @@0");
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
diff --git a/arch/hexagon/kernel/reset.c b/arch/hexagon/kernel/reset.c
index da36114d928f0..433378d52063c 100644
--- a/arch/hexagon/kernel/reset.c
+++ b/arch/hexagon/kernel/reset.c
@@ -19,6 +19,7 @@ void machine_halt(void)
void machine_restart(char *cmd)
{
}
+EXPORT_SYMBOL(machine_restart);
void (*pm_power_off)(void) = NULL;
EXPORT_SYMBOL(pm_power_off);
diff --git a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c
index da83cc83e7912..e0264704686e9 100644
--- a/arch/m68k/kernel/process.c
+++ b/arch/m68k/kernel/process.c
@@ -57,6 +57,7 @@ void machine_restart(char * __unused)
mach_reset();
for (;;);
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
diff --git a/arch/microblaze/kernel/reset.c b/arch/microblaze/kernel/reset.c
index 5f4722908164d..902fbe3777846 100644
--- a/arch/microblaze/kernel/reset.c
+++ b/arch/microblaze/kernel/reset.c
@@ -41,3 +41,4 @@ void machine_restart(char *cmd)
pr_emerg("Reboot failed -- System halted\n");
while (1);
}
+EXPORT_SYMBOL(machine_restart);
diff --git a/arch/mips/kernel/reset.c b/arch/mips/kernel/reset.c
index 6288780b779e7..2d3193a3cf68b 100644
--- a/arch/mips/kernel/reset.c
+++ b/arch/mips/kernel/reset.c
@@ -99,6 +99,7 @@ void machine_restart(char *command)
pr_emerg("Reboot failed -- System halted\n");
machine_hang();
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
diff --git a/arch/mips/lantiq/falcon/reset.c b/arch/mips/lantiq/falcon/reset.c
index 261996c230cf6..80dd9759ffa55 100644
--- a/arch/mips/lantiq/falcon/reset.c
+++ b/arch/mips/lantiq/falcon/reset.c
@@ -51,6 +51,7 @@ static void machine_restart(char *command)
(void *)WDT_REG_BASE);
unreachable();
}
+EXPORT_SYMBOL(machine_restart);
static void machine_halt(void)
{
diff --git a/arch/mips/sgi-ip27/ip27-reset.c b/arch/mips/sgi-ip27/ip27-reset.c
index 5ac5ad6387343..a3f8f4498b7c5 100644
--- a/arch/mips/sgi-ip27/ip27-reset.c
+++ b/arch/mips/sgi-ip27/ip27-reset.c
@@ -29,6 +29,7 @@
#include "ip27-common.h"
void machine_restart(char *command) __noreturn;
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void) __noreturn;
void machine_power_off(void) __noreturn;
diff --git a/arch/nios2/kernel/process.c b/arch/nios2/kernel/process.c
index c5f916ca6845f..6f9459e8ae4ed 100644
--- a/arch/nios2/kernel/process.c
+++ b/arch/nios2/kernel/process.c
@@ -51,6 +51,7 @@ void machine_restart(char *__unused)
: "r" (cpuinfo.reset_addr)
: "r4");
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
diff --git a/arch/openrisc/kernel/process.c b/arch/openrisc/kernel/process.c
index eb62429681fc8..12c3022c46387 100644
--- a/arch/openrisc/kernel/process.c
+++ b/arch/openrisc/kernel/process.c
@@ -61,6 +61,7 @@ void machine_restart(char *cmd)
pr_emerg("Reboot failed -- System halted\n");
while (1);
}
+EXPORT_SYMBOL(machine_restart);
/*
* Similar to machine_power_off, but don't shut off power. Add code
diff --git a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c
index b144fbe29bc16..05e9f03124b64 100644
--- a/arch/parisc/kernel/process.c
+++ b/arch/parisc/kernel/process.c
@@ -96,6 +96,7 @@ void machine_restart(char *cmd)
while (1) ;
}
+EXPORT_SYMBOL(machine_restart);
void (*chassis_power_off)(void);
diff --git a/arch/powerpc/kernel/setup-common.c b/arch/powerpc/kernel/setup-common.c
index 74a98fff2c2f9..54ebae540dd7d 100644
--- a/arch/powerpc/kernel/setup-common.c
+++ b/arch/powerpc/kernel/setup-common.c
@@ -159,6 +159,7 @@ void machine_restart(char *cmd)
machine_hang();
}
+EXPORT_SYMBOL(machine_restart);
void machine_power_off(void)
{
diff --git a/arch/riscv/kernel/reset.c b/arch/riscv/kernel/reset.c
index ee5878d968cc1..596a36b91eaa2 100644
--- a/arch/riscv/kernel/reset.c
+++ b/arch/riscv/kernel/reset.c
@@ -20,6 +20,7 @@ void machine_restart(char *cmd)
do_kernel_restart(cmd);
while (1);
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
diff --git a/arch/s390/kernel/setup.c b/arch/s390/kernel/setup.c
index 5aab59ad56881..fd2394af0d43a 100644
--- a/arch/s390/kernel/setup.c
+++ b/arch/s390/kernel/setup.c
@@ -276,6 +276,7 @@ void machine_restart(char *command)
console_unblank();
_machine_restart(command);
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
diff --git a/arch/sh/kernel/reboot.c b/arch/sh/kernel/reboot.c
index 5c33f036418be..36b6c61f3b129 100644
--- a/arch/sh/kernel/reboot.c
+++ b/arch/sh/kernel/reboot.c
@@ -83,6 +83,7 @@ void machine_restart(char *cmd)
{
machine_ops.restart(cmd);
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
diff --git a/arch/sparc/kernel/process_32.c b/arch/sparc/kernel/process_32.c
index 3b9794978e5bc..30a1674683946 100644
--- a/arch/sparc/kernel/process_32.c
+++ b/arch/sparc/kernel/process_32.c
@@ -104,6 +104,7 @@ void machine_restart(char * cmd)
prom_feval ("reset");
panic("Reboot failed!");
}
+EXPORT_SYMBOL(machine_restart);
void machine_power_off(void)
{
diff --git a/arch/sparc/kernel/reboot.c b/arch/sparc/kernel/reboot.c
index 69c1b6c047d53..53adef425d7de 100644
--- a/arch/sparc/kernel/reboot.c
+++ b/arch/sparc/kernel/reboot.c
@@ -52,4 +52,5 @@ void machine_restart(char *cmd)
prom_reboot("");
panic("Reboot failed!");
}
+EXPORT_SYMBOL(machine_restart);
diff --git a/arch/um/kernel/reboot.c b/arch/um/kernel/reboot.c
index 48c0610d506e0..4b764311efb89 100644
--- a/arch/um/kernel/reboot.c
+++ b/arch/um/kernel/reboot.c
@@ -47,6 +47,7 @@ void machine_restart(char * __unused)
uml_cleanup();
reboot_skas();
}
+EXPORT_SYMBOL(machine_restart);
void machine_power_off(void)
{
diff --git a/arch/x86/kernel/reboot.c b/arch/x86/kernel/reboot.c
index b29657b76e3fa..b48c30ead7167 100644
--- a/arch/x86/kernel/reboot.c
+++ b/arch/x86/kernel/reboot.c
@@ -733,6 +733,7 @@ static void native_machine_restart(char *__unused)
machine_shutdown();
__machine_emergency_restart(0);
}
+EXPORT_SYMBOL(machine_restart);
static void native_machine_halt(void)
{
diff --git a/arch/xtensa/kernel/setup.c b/arch/xtensa/kernel/setup.c
index ed184106e4cf9..a84cc934300d5 100644
--- a/arch/xtensa/kernel/setup.c
+++ b/arch/xtensa/kernel/setup.c
@@ -564,6 +564,7 @@ void machine_restart(char * cmd)
{
platform_restart();
}
+EXPORT_SYMBOL(machine_restart);
void machine_halt(void)
{
--
2.32.0.554.ge1b32706d8-goog
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2021-08-10 7:58 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-05 7:50 [PATCH 0/3] power: reset: Convert Power-Off driver to tristate Lee Jones
2021-08-05 7:50 ` [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules Lee Jones
2021-08-05 9:16 ` Thomas Bogendoerfer
2021-08-05 17:36 ` Catalin Marinas
2021-08-05 18:41 ` Greg Kroah-Hartman
2021-08-05 18:54 ` Lee Jones
2021-08-05 7:50 ` [PATCH 2/3] reboot: Export reboot_mode Lee Jones
2021-08-05 7:50 ` [PATCH 3/3] power: reset: Enable tristate on restart power-off driver Lee Jones
-- strict thread matches above, loose matches on Subject: below --
2021-08-03 15:54 [PATCH 0/3] power: reset: Convert Power-Off driver to tristate Lee Jones
2021-08-03 15:54 ` [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules Lee Jones
2021-08-09 15:15 ` Geert Uytterhoeven
2021-08-10 7:58 ` Lee Jones
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).