Unverified Commit a2a58b5c authored by Randy Dunlap's avatar Randy Dunlap Committed by Palmer Dabbelt
Browse files

RISC-V: fix sifive and thead section mismatches in errata



When CONFIG_MODULES is set, __init_or_module becomes <empty>, 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: bb3f8948 ("RISC-V: hwprobe: Remove __init on probe_vendor_features()")
Signed-off-by: default avatarRandy Dunlap <rdunlap@infradead.org>
Reviewed-by: default avatarEvan Green <evan@rivosinc.com>
Reviewed-by: default avatarConor Dooley <conor.dooley@microchip.com>
Link: https://lore.kernel.org/r/20230429155247.12131-1-rdunlap@infradead.org


Signed-off-by: default avatarPalmer Dabbelt <palmer@rivosinc.com>
parent 41cad828
Loading
Loading
Loading
Loading
+3 −5
Original line number Diff line number Diff line
@@ -82,10 +82,8 @@ static void __init_or_module warn_miss_errata(u32 miss_errata)
	pr_warn("----------------------------------------------------------------\n");
}

void __init_or_module sifive_errata_patch_func(struct alt_entry *begin,
					       struct alt_entry *end,
					       unsigned long archid,
					       unsigned long impid,
void sifive_errata_patch_func(struct alt_entry *begin, struct alt_entry *end,
			      unsigned long archid, unsigned long impid,
			      unsigned int stage)
{
	struct alt_entry *alt;
+3 −3
Original line number Diff line number Diff line
@@ -83,7 +83,7 @@ static u32 thead_errata_probe(unsigned int stage,
	return cpu_req_errata;
}

void __init_or_module thead_errata_patch_func(struct alt_entry *begin, struct alt_entry *end,
void thead_errata_patch_func(struct alt_entry *begin, struct alt_entry *end,
			     unsigned long archid, unsigned long impid,
			     unsigned int stage)
{