From patchwork Mon Sep 25 16:28:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Russell King (Oracle)" X-Patchwork-Id: 13398141 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org 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 smtp.lore.kernel.org (Postfix) with ESMTPS id 0FCE7CE7A9D for ; Mon, 25 Sep 2023 16:31:30 +0000 (UTC) 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:Date:Message-Id:MIME-Version:Subject:Cc :To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References: List-Owner; bh=wmntENMqnBa7UtAIsELJEao/se2hxCJcxLyteBGfL74=; b=vrOX0O40GA/k4z hzarLUlPv/9HNuhFQchg9GiILV5daXkGrDvBSyF6dmd6EvkjcaAG5gRhRToso/ptD8Hhp5qvyS3Ao C4Pj3v5j/ESWeShJifx5ovQOGOJFiA+JCwnC8U8Qp5QX/hWObTxWVBbh5m9ZvspZ4I8d+a5DDCYMQ 6JBhRySwdGyz6KATb2pbTPqTjm3ACFqNUGB9J6I2/fDR1dil7l0/7dZbdXJPfJUYJPP9G0NPqQclf Y6V/aElwEfW7+vYKXrDoHKLzFRLw1zGD/g4e9QDok/aZ0ynHUtx837cPRiH4vbohxxGVvyZ/rcgEY DmcGfsK9JhON200VksuQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qkoU6-00EfF4-0G; Mon, 25 Sep 2023 16:30:58 +0000 Received: from pandora.armlinux.org.uk ([2001:4d48:ad52:32c8:5054:ff:fe00:142]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qkoU3-00Eev5-2D for linux-arm-kernel@lists.infradead.org; Mon, 25 Sep 2023 16:30:56 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=armlinux.org.uk; s=pandora-2019; h=Date:Sender:Message-Id:Content-Type: Content-Transfer-Encoding:MIME-Version:Subject:Cc:To:From:Reply-To:Content-ID :Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To: Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=qjYxvP0mrwNQum3AINuFgWcLiPmukjSCAlOcMPWNC70=; b=H7LRzpeszu/NjlEcIS+36zsQZ6 1B2GjUbmFECUohpWGtvulUpk25WC7XKYTRHHT/Eml4mDxX0AMEEVJ060wH21PeS3gfykNAY0NM0X4 +GWdzx+YKVVo1kbovXqnfBMQBs1dqZfTnGZ7fo2JV+E0m3nna6kCsI5T89nijgI58vuJn5P29+V4C TXReirRZWjAEDIygIzmuA0o2B8fguAE2q+5Iicf9b35Wzovei5lcs3hzooqVcv2w+BQzFB8kmlAql ls3/NA9AIJUS/9j4ONw4bjJEaiyshFeUbtMhnMk82oY4iHK+oHm6dodVie7aPbYAkW55ITbJCUDoG wexoGNlg==; Received: from e0022681537dd.dyn.armlinux.org.uk ([fd8f:7570:feb6:1:222:68ff:fe15:37dd]:56656 helo=rmk-PC.armlinux.org.uk) by pandora.armlinux.org.uk with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1qkoRq-0001Ke-1k; Mon, 25 Sep 2023 17:28:38 +0100 Received: from rmk by rmk-PC.armlinux.org.uk with local (Exim 4.94.2) (envelope-from ) id 1qkoRr-0088Q8-Da; Mon, 25 Sep 2023 17:28:39 +0100 From: "Russell King (Oracle)" To: Thomas Gleixner Cc: linux-acpi@vger.kernel.org, James Morse , loongarch@lists.linux.dev, linux-arch@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, Ingo Molnar , Jean-Philippe Brucker , jianyong.wu@arm.com, justin.he@arm.com, Borislav Petkov , Dave Hansen , x86@kernel.org, Salil Mehta , x86@kernel.org, "H. Peter Anvin" , Peter Zijlstra , linux-ia64@vger.kernel.org Subject: [PATCH] cpu-hotplug: provide prototypes for arch CPU registration MIME-Version: 1.0 Content-Disposition: inline Message-Id: Date: Mon, 25 Sep 2023 17:28:39 +0100 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230925_093055_742387_72341DD2 X-CRM114-Status: GOOD ( 14.00 ) X-BeenThere: linux-arm-kernel@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-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Provide common prototypes for arch_register_cpu() and arch_unregister_cpu(). These are called by acpi_processor.c, with weak versions, so the prototype for this is already set. It is generally not necessary for function prototypes to be conditional on preprocessor macros. Some architectures (e.g. Loongarch) are missing the prototype for this, and rather than add it to Loongarch's asm/cpu.h, lets do the job once for everyone. Since this covers everyone, remove the now unnecessary prototypes in asm/cpu.h, and we also need to remove the 'static' from one of ia64's arch_register_cpu() definitions. Signed-off-by: Russell King (Oracle) --- Changes since RFC v2: - drop ia64 changes, as ia64 has already been removed. arch/x86/include/asm/cpu.h | 2 -- arch/x86/kernel/topology.c | 2 +- include/linux/cpu.h | 2 ++ 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/x86/include/asm/cpu.h b/arch/x86/include/asm/cpu.h index 3a233ebff712..25050d953eee 100644 --- a/arch/x86/include/asm/cpu.h +++ b/arch/x86/include/asm/cpu.h @@ -28,8 +28,6 @@ struct x86_cpu { }; #ifdef CONFIG_HOTPLUG_CPU -extern int arch_register_cpu(int num); -extern void arch_unregister_cpu(int); extern void soft_restart_cpu(void); #endif diff --git a/arch/x86/kernel/topology.c b/arch/x86/kernel/topology.c index ca004e2e4469..0bab03130033 100644 --- a/arch/x86/kernel/topology.c +++ b/arch/x86/kernel/topology.c @@ -54,7 +54,7 @@ void arch_unregister_cpu(int num) EXPORT_SYMBOL(arch_unregister_cpu); #else /* CONFIG_HOTPLUG_CPU */ -static int __init arch_register_cpu(int num) +int __init arch_register_cpu(int num) { return register_cpu(&per_cpu(cpu_devices, num).cpu, num); } diff --git a/include/linux/cpu.h b/include/linux/cpu.h index 0abd60a7987b..eb768a866fe3 100644 --- a/include/linux/cpu.h +++ b/include/linux/cpu.h @@ -80,6 +80,8 @@ extern __printf(4, 5) struct device *cpu_device_create(struct device *parent, void *drvdata, const struct attribute_group **groups, const char *fmt, ...); +extern int arch_register_cpu(int cpu); +extern void arch_unregister_cpu(int cpu); #ifdef CONFIG_HOTPLUG_CPU extern void unregister_cpu(struct cpu *cpu); extern ssize_t arch_cpu_probe(const char *, size_t);