From patchwork Thu Aug 5 07:50:30 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Lee Jones X-Patchwork-Id: 12420573 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-17.4 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 266B8C4338F for ; Thu, 5 Aug 2021 07:51:19 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id E01B160724 for ; Thu, 5 Aug 2021 07:51:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org E01B160724 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linaro.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Message-Id:Date:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=5J/JLh+cDf4/4Lj6EbzCJlvX3N0dA48w/OVStYmxWZs=; b=2vqu1xYL634XIf B+2Z6g5SxUK3WVYEpgLFHZXuH2MQGd4uE1ynh9dumvCEq1Ks6syq29BbFdQvcIK53h4l72y8bd4hr /NKJKz8PcrlQE3NkaOFrFTWEW3bojjo+kiJyGfBTAJXC/mihNqpsvHJ3trlYWzHg2Pvf4bigcVecO KvBj0hyuCyJ1VnvDyR/He4bxJcfn+WXNP2/bgNlCYx+WFmKvfTI17v5A0ZKiD9On7LTIKAcoPiIZd fvqc4wGKAdU/+qij2ijMewjiH2gd+iC56eYGHp4Ud3hyyVizOqjIg8qKjRwgTjcq29WhArw/u67NN E10Zv5zMBZ09CZLh97OQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mBY9Y-008TvO-9a; Thu, 05 Aug 2021 07:50:56 +0000 Received: from mail-wm1-x329.google.com ([2a00:1450:4864:20::329]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1mBY9I-008Tm3-Ji for linux-riscv@lists.infradead.org; Thu, 05 Aug 2021 07:50:44 +0000 Received: by mail-wm1-x329.google.com with SMTP id a192-20020a1c7fc90000b0290253b32e8796so5040013wmd.0 for ; Thu, 05 Aug 2021 00:50:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=ro7OShpO6RJIHt4cRWAvzM1FfbjLqId3ie3kqum3rr4=; b=CtS0bbtslxt846nEMBXk4xi36ElfmECD3LRRTNU8Nc8TAF3XtChgxLxLpQA+vRFumZ k58fJAtIsIqJP0eWueItBXopvQubiooWSg0vEC5flvW9MdmU0vQsu1DCrH2DCv125OoK 8OA8f4RlmvaNGcSxrG8LXOqw1DIpjdvnPMEKgSv4gZh81bk97v0+7ofkRCIh8dbg8SeN ZwEiU9R6ywp6kDCpQ5nDKfV1Hi+elZGJ4sLIrgpcmTk/f4Y9/VoPAZbpgBarAwaQuQqQ gNZRu5nxcPECD5FIQEYxsYU4R5PMVg/N8qW3l8kav1XyXPlpCJTvfDrWPpwCiK43iIhc HvcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ro7OShpO6RJIHt4cRWAvzM1FfbjLqId3ie3kqum3rr4=; b=aPEKU3Wh2/sf5erxmTEY7u52y8ZTp6r6U3/T7quUuezNQSWvPmJeFnApTfhct/3unP UEm38dJojFFI1c3JFBPHY46ukIdHdCWTs060LbAYjsYMa5k2Usu7+z6mwEMnPEjOiA+3 aYKNBI5hJwDOV74SWXGx1Uma6nrJarLBrhjmp1B0ge+mRaazJE7vqBKzeVsiXuSFgHav ZP+4EYttNO3qoXbJRB8V9cOqnPUdpFDl+thd8CjCUHxobwMXSamjBEZhJzgoK/wjk80x 8MQ3PAdh+BaEpZgKwvzrXi4JjG/UJTx13NDM7rGQYDarFn4Blp/LVvlowL/Wr8mjEMAT LXjg== X-Gm-Message-State: AOAM530hjBp/sd6GNl3r18Gwoom2lY9HmYty2ZLGO7sgytYe6YhQGQjj De+LrSVqpQ4C1Yl1qSHeTVxncA== X-Google-Smtp-Source: ABdhPJzjNNL2xPsFzq/3pkdQxAU75H9j2rHkLl0pate4L47soMAxPtQ8xOlYUdKzgy2/jhR+z22Zyw== X-Received: by 2002:a1c:48d:: with SMTP id 135mr3660203wme.31.1628149837982; Thu, 05 Aug 2021 00:50:37 -0700 (PDT) Received: from localhost.localdomain ([109.180.115.228]) by smtp.gmail.com with ESMTPSA id h16sm5154491wre.52.2021.08.05.00.50.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Aug 2021 00:50:37 -0700 (PDT) From: Lee Jones To: lee.jones@linaro.org Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, 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@lists.infradead.org, linux-csky@vger.kernel.org, uclinux-h8-devel@lists.sourceforge.jp, linux-hexagon@vger.kernel.org, linux-m68k@lists.linux-m68k.org, linux-mips@vger.kernel.org, openrisc@lists.librecores.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-s390@vger.kernel.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, linux-um@lists.infradead.org, linux-xtensa@linux-xtensa.org Subject: [PATCH 1/3] arch: Export machine_restart() instances so they can be called from modules Date: Thu, 5 Aug 2021 08:50:30 +0100 Message-Id: <20210805075032.723037-2-lee.jones@linaro.org> X-Mailer: git-send-email 2.32.0.605.g8dce9f2422-goog In-Reply-To: <20210805075032.723037-1-lee.jones@linaro.org> References: <20210805075032.723037-1-lee.jones@linaro.org> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210805_005040_695545_BF7CFD96 X-CRM114-Status: GOOD ( 17.73 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org 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 Cc: Catalin Marinas Cc: Will Deacon Cc: Guo Ren Cc: Yoshinori Sato Cc: Brian Cain Cc: Geert Uytterhoeven Cc: Michal Simek Cc: Thomas Bogendoerfer Cc: John Crispin Cc: Ley Foon Tan Cc: Jonas Bonn Cc: Stefan Kristiansson Cc: Stafford Horne Cc: James E.J. Bottomley Cc: Helge Deller Cc: Michael Ellerman Cc: Paul Walmsley Cc: Palmer Dabbelt Cc: Albert Ou Cc: Heiko Carstens Cc: Vasily Gorbik Cc: Christian Borntraeger Cc: Rich Felker Cc: David S. Miller Cc: Jeff Dike Cc: Richard Weinberger Cc: Anton Ivanov Cc: Thomas Gleixner Cc: Ingo Molnar Cc: Borislav Petkov Cc: Chris Zankel Cc: Max Filippov Cc: Greg Kroah-Hartman Cc: Sebastian Reichel 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 Acked-by: Thomas Bogendoerfer Acked-by: Catalin Marinas --- 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) {