From nobody Thu Feb 12 01:46:20 2026 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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 07103C77B7C for ; Sat, 29 Apr 2023 15:52:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231434AbjD2Pww (ORCPT ); Sat, 29 Apr 2023 11:52:52 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50684 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231249AbjD2Pwt (ORCPT ); Sat, 29 Apr 2023 11:52:49 -0400 Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2607:7c80:54:3::133]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 851EC1730 for ; Sat, 29 Apr 2023 08:52:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20210309; h=Content-Transfer-Encoding: MIME-Version:Message-Id:Date:Subject:Cc:To:From:Sender:Reply-To:Content-Type: Content-ID:Content-Description:In-Reply-To:References; bh=LWVacgMgbgTLP0u9Q7gpdWiCCGyCTSBmMaT6WHBufYk=; b=McYafudAIrdas3REyd1G79ymrY lSADLp1A6aCMlm5XpHXC0I5MTKTFbG7NROWGx5Hx94fP23qp2QCPj5h3MXTtlz8F/kb31TE+o5eOD yceQ9MJ10qt3LyrakIH9rJlPRkI+rDK6/49NEpByaRvRoP2JBL2w40904Z1yLnzApp0537lYnV/CA pw+1/uT+yPirwjXIR/9a9ZADZiZgr1BvEm15I50Lego1nsrkBzAWuttnt6Yg7pmdwCi1KypVCJE+1 mrDJQkvouXX4PRWeAaeCFzjMBoos1GPWKjHMJvhPhvl/zw4NUEo11nSbQFaBvLGcn9EC+EG59uZwy ojOD9onQ==; Received: from [2601:1c2:980:9ec0::2764] (helo=bombadil.infradead.org) by bombadil.infradead.org with esmtpsa (Exim 4.96 #2 (Red Hat Linux)) id 1psmsR-00Cruj-3C; Sat, 29 Apr 2023 15:52:48 +0000 From: Randy Dunlap To: linux-kernel@vger.kernel.org Cc: Randy Dunlap , Heiko Stuebner , Paul Walmsley , Palmer Dabbelt , Albert Ou , linux-riscv@lists.infradead.org, Conor Dooley , Evan Green Subject: [PATCH v2] RISC-V: fix sifive and thead section mismatches in errata Date: Sat, 29 Apr 2023 08:52:47 -0700 Message-Id: <20230429155247.12131-1-rdunlap@infradead.org> X-Mailer: git-send-email 2.40.1 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Type: text/plain; charset="utf-8" When CONFIG_MODULES is set, __init_or_module becomes , but when CONFIG_MODULES is not set, __init_or_module becomes __init. In the latter case, it causes section mismatch warnings: WARNING: modpost: vmlinux.o: section mismatch in reference: riscv_fill_cpu_= mfr_info (section: .text) -> sifive_errata_patch_func (section: .init.text) WARNING: modpost: vmlinux.o: section mismatch in reference: riscv_fill_cpu_= mfr_info (section: .text) -> thead_errata_patch_func (section: .init.text) Fixes: bb3f89487fd9 ("RISC-V: hwprobe: Remove __init on probe_vendor_featur= es()") Signed-off-by: Randy Dunlap Cc: Heiko Stuebner Cc: Paul Walmsley Cc: Palmer Dabbelt Cc: Albert Ou Cc: linux-riscv@lists.infradead.org Cc: Conor Dooley Cc: Evan Green Reviewed-by: Conor Dooley Reviewed-by: Evan Green --- v2: use corrected Fixes: commit info (thanks Conor) arch/riscv/errata/sifive/errata.c | 8 +++----- arch/riscv/errata/thead/errata.c | 6 +++--- 2 files changed, 6 insertions(+), 8 deletions(-) diff -- a/arch/riscv/errata/sifive/errata.c b/arch/riscv/errata/sifive/erra= ta.c --- a/arch/riscv/errata/sifive/errata.c +++ b/arch/riscv/errata/sifive/errata.c @@ -82,11 +82,9 @@ static void __init_or_module warn_miss_e pr_warn("----------------------------------------------------------------= \n"); } =20 -void __init_or_module sifive_errata_patch_func(struct alt_entry *begin, - struct alt_entry *end, - unsigned long archid, - unsigned long impid, - unsigned int stage) +void sifive_errata_patch_func(struct alt_entry *begin, struct alt_entry *e= nd, + unsigned long archid, unsigned long impid, + unsigned int stage) { struct alt_entry *alt; u32 cpu_req_errata; diff -- a/arch/riscv/errata/thead/errata.c b/arch/riscv/errata/thead/errata= .c --- a/arch/riscv/errata/thead/errata.c +++ b/arch/riscv/errata/thead/errata.c @@ -83,9 +83,9 @@ static u32 thead_errata_probe(unsigned i return cpu_req_errata; } =20 -void __init_or_module thead_errata_patch_func(struct alt_entry *begin, str= uct alt_entry *end, - unsigned long archid, unsigned long impid, - unsigned int stage) +void thead_errata_patch_func(struct alt_entry *begin, struct alt_entry *en= d, + unsigned long archid, unsigned long impid, + unsigned int stage) { struct alt_entry *alt; u32 cpu_req_errata =3D thead_errata_probe(stage, archid, impid);