Include <asm/smp.h> to make sure play_dead() matches its prototype going
forward.
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
---
arch/mips/kernel/smp-bmips.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/mips/kernel/smp-bmips.c b/arch/mips/kernel/smp-bmips.c
index f5d7bfa3472a..df9158e8329d 100644
--- a/arch/mips/kernel/smp-bmips.c
+++ b/arch/mips/kernel/smp-bmips.c
@@ -38,6 +38,7 @@
#include <asm/traps.h>
#include <asm/barrier.h>
#include <asm/cpu-features.h>
+#include <asm/smp.h>
static int __maybe_unused max_cpus = 1;
--
2.39.1
Hi Josh, On 14/2/23 08:05, Josh Poimboeuf wrote: > Include <asm/smp.h> to make sure play_dead() matches its prototype going > forward. > > Acked-by: Florian Fainelli <f.fainelli@gmail.com> > Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org> > --- > arch/mips/kernel/smp-bmips.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/mips/kernel/smp-bmips.c b/arch/mips/kernel/smp-bmips.c > index f5d7bfa3472a..df9158e8329d 100644 > --- a/arch/mips/kernel/smp-bmips.c > +++ b/arch/mips/kernel/smp-bmips.c > @@ -38,6 +38,7 @@ > #include <asm/traps.h> > #include <asm/barrier.h> > #include <asm/cpu-features.h> > +#include <asm/smp.h> What about the other implementations? $ git grep -L asm/smp.h $(git grep -wlF 'play_dead(void)' arch/mips) arch/mips/cavium-octeon/smp.c arch/mips/kernel/smp-bmips.c arch/mips/kernel/smp-cps.c arch/mips/loongson64/smp.c
On Tue, Feb 14, 2023 at 08:46:41AM +0100, Philippe Mathieu-Daudé wrote: > Hi Josh, > > On 14/2/23 08:05, Josh Poimboeuf wrote: > > Include <asm/smp.h> to make sure play_dead() matches its prototype going > > forward. > > > > Acked-by: Florian Fainelli <f.fainelli@gmail.com> > > Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org> > > --- > > arch/mips/kernel/smp-bmips.c | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/arch/mips/kernel/smp-bmips.c b/arch/mips/kernel/smp-bmips.c > > index f5d7bfa3472a..df9158e8329d 100644 > > --- a/arch/mips/kernel/smp-bmips.c > > +++ b/arch/mips/kernel/smp-bmips.c > > @@ -38,6 +38,7 @@ > > #include <asm/traps.h> > > #include <asm/barrier.h> > > #include <asm/cpu-features.h> > > +#include <asm/smp.h> > > What about the other implementations? > > $ git grep -L asm/smp.h $(git grep -wlF 'play_dead(void)' arch/mips) > arch/mips/cavium-octeon/smp.c > arch/mips/kernel/smp-bmips.c > arch/mips/kernel/smp-cps.c > arch/mips/loongson64/smp.c Indeed. I really wish we had -Wmissing-prototypes. I'll squash this in: diff --git a/arch/mips/cavium-octeon/smp.c b/arch/mips/cavium-octeon/smp.c index 89954f5f87fb..4212584e6efa 100644 --- a/arch/mips/cavium-octeon/smp.c +++ b/arch/mips/cavium-octeon/smp.c @@ -20,6 +20,7 @@ #include <asm/mmu_context.h> #include <asm/time.h> #include <asm/setup.h> +#include <asm/smp.h> #include <asm/octeon/octeon.h> diff --git a/arch/mips/kernel/smp-cps.c b/arch/mips/kernel/smp-cps.c index bcd6a944b839..6d69a9ba8167 100644 --- a/arch/mips/kernel/smp-cps.c +++ b/arch/mips/kernel/smp-cps.c @@ -20,6 +20,7 @@ #include <asm/mipsregs.h> #include <asm/pm-cps.h> #include <asm/r4kcache.h> +#include <asm/smp.h> #include <asm/smp-cps.h> #include <asm/time.h> #include <asm/uasm.h> diff --git a/arch/mips/loongson64/smp.c b/arch/mips/loongson64/smp.c index c81c2bd07c62..df8d789ede3c 100644 --- a/arch/mips/loongson64/smp.c +++ b/arch/mips/loongson64/smp.c @@ -14,6 +14,7 @@ #include <linux/cpufreq.h> #include <linux/kexec.h> #include <asm/processor.h> +#include <asm/smp.h> #include <asm/time.h> #include <asm/tlbflush.h> #include <asm/cacheflush.h>
On 14/2/23 19:11, Josh Poimboeuf wrote: > On Tue, Feb 14, 2023 at 08:46:41AM +0100, Philippe Mathieu-Daudé wrote: >> Hi Josh, >> >> On 14/2/23 08:05, Josh Poimboeuf wrote: >>> Include <asm/smp.h> to make sure play_dead() matches its prototype going >>> forward. >>> >>> Acked-by: Florian Fainelli <f.fainelli@gmail.com> >>> Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org> >>> --- >>> arch/mips/kernel/smp-bmips.c | 1 + >>> 1 file changed, 1 insertion(+) >>> >>> diff --git a/arch/mips/kernel/smp-bmips.c b/arch/mips/kernel/smp-bmips.c >>> index f5d7bfa3472a..df9158e8329d 100644 >>> --- a/arch/mips/kernel/smp-bmips.c >>> +++ b/arch/mips/kernel/smp-bmips.c >>> @@ -38,6 +38,7 @@ >>> #include <asm/traps.h> >>> #include <asm/barrier.h> >>> #include <asm/cpu-features.h> >>> +#include <asm/smp.h> >> >> What about the other implementations? >> >> $ git grep -L asm/smp.h $(git grep -wlF 'play_dead(void)' arch/mips) >> arch/mips/cavium-octeon/smp.c >> arch/mips/kernel/smp-bmips.c >> arch/mips/kernel/smp-cps.c >> arch/mips/loongson64/smp.c > > Indeed. I really wish we had -Wmissing-prototypes. > > I'll squash this in: > > diff --git a/arch/mips/cavium-octeon/smp.c b/arch/mips/cavium-octeon/smp.c > index 89954f5f87fb..4212584e6efa 100644 > --- a/arch/mips/cavium-octeon/smp.c > +++ b/arch/mips/cavium-octeon/smp.c > @@ -20,6 +20,7 @@ > #include <asm/mmu_context.h> > #include <asm/time.h> > #include <asm/setup.h> > +#include <asm/smp.h> > > #include <asm/octeon/octeon.h> > > diff --git a/arch/mips/kernel/smp-cps.c b/arch/mips/kernel/smp-cps.c > index bcd6a944b839..6d69a9ba8167 100644 > --- a/arch/mips/kernel/smp-cps.c > +++ b/arch/mips/kernel/smp-cps.c > @@ -20,6 +20,7 @@ > #include <asm/mipsregs.h> > #include <asm/pm-cps.h> > #include <asm/r4kcache.h> > +#include <asm/smp.h> > #include <asm/smp-cps.h> > #include <asm/time.h> > #include <asm/uasm.h> > diff --git a/arch/mips/loongson64/smp.c b/arch/mips/loongson64/smp.c > index c81c2bd07c62..df8d789ede3c 100644 > --- a/arch/mips/loongson64/smp.c > +++ b/arch/mips/loongson64/smp.c > @@ -14,6 +14,7 @@ > #include <linux/cpufreq.h> > #include <linux/kexec.h> > #include <asm/processor.h> > +#include <asm/smp.h> > #include <asm/time.h> > #include <asm/tlbflush.h> > #include <asm/cacheflush.h> Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> Thanks.
Include <asm/smp.h> to make sure play_dead() matches its prototype going
forward.
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
---
arch/mips/cavium-octeon/smp.c | 1 +
arch/mips/kernel/smp-bmips.c | 1 +
arch/mips/kernel/smp-cps.c | 1 +
arch/mips/loongson64/smp.c | 1 +
4 files changed, 4 insertions(+)
diff --git a/arch/mips/cavium-octeon/smp.c b/arch/mips/cavium-octeon/smp.c
index 89954f5f87fb..4212584e6efa 100644
--- a/arch/mips/cavium-octeon/smp.c
+++ b/arch/mips/cavium-octeon/smp.c
@@ -20,6 +20,7 @@
#include <asm/mmu_context.h>
#include <asm/time.h>
#include <asm/setup.h>
+#include <asm/smp.h>
#include <asm/octeon/octeon.h>
diff --git a/arch/mips/kernel/smp-bmips.c b/arch/mips/kernel/smp-bmips.c
index f5d7bfa3472a..df9158e8329d 100644
--- a/arch/mips/kernel/smp-bmips.c
+++ b/arch/mips/kernel/smp-bmips.c
@@ -38,6 +38,7 @@
#include <asm/traps.h>
#include <asm/barrier.h>
#include <asm/cpu-features.h>
+#include <asm/smp.h>
static int __maybe_unused max_cpus = 1;
diff --git a/arch/mips/kernel/smp-cps.c b/arch/mips/kernel/smp-cps.c
index bcd6a944b839..6d69a9ba8167 100644
--- a/arch/mips/kernel/smp-cps.c
+++ b/arch/mips/kernel/smp-cps.c
@@ -20,6 +20,7 @@
#include <asm/mipsregs.h>
#include <asm/pm-cps.h>
#include <asm/r4kcache.h>
+#include <asm/smp.h>
#include <asm/smp-cps.h>
#include <asm/time.h>
#include <asm/uasm.h>
diff --git a/arch/mips/loongson64/smp.c b/arch/mips/loongson64/smp.c
index 660e1de4412a..4e24b317e7cb 100644
--- a/arch/mips/loongson64/smp.c
+++ b/arch/mips/loongson64/smp.c
@@ -14,6 +14,7 @@
#include <linux/cpufreq.h>
#include <linux/kexec.h>
#include <asm/processor.h>
+#include <asm/smp.h>
#include <asm/time.h>
#include <asm/tlbflush.h>
#include <asm/cacheflush.h>
--
2.39.1
On Thu, Feb 16, 2023 at 10:42:52AM -0800, Josh Poimboeuf wrote: > Include <asm/smp.h> to make sure play_dead() matches its prototype going > forward. > > Acked-by: Florian Fainelli <f.fainelli@gmail.com> > Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org> > Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org> The latest version of this patch triggered a new kbuild warning which is fixed by the below patch. If there are no objections I'll bundle it in with the rest of the set for merging. ---8<--- Subject: [PATCH] mips/smp: Add CONFIG_SMP guard for raw_smp_processor_id() Content-type: text/plain Without CONFIG_SMP, raw_smp_processor_id() is not expected to be defined by the arch. Reported-by: kernel test robot <lkp@intel.com> Link: https://lore.kernel.org/oe-kbuild-all/202302220755.HM8J8GOR-lkp@intel.com/ Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org> --- arch/mips/include/asm/smp.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/arch/mips/include/asm/smp.h b/arch/mips/include/asm/smp.h index 4eee29b7845c..cf992b8b1e46 100644 --- a/arch/mips/include/asm/smp.h +++ b/arch/mips/include/asm/smp.h @@ -25,6 +25,7 @@ extern cpumask_t cpu_sibling_map[]; extern cpumask_t cpu_core_map[]; extern cpumask_t cpu_foreign_map[]; +#ifdef CONFIG_SMP static inline int raw_smp_processor_id(void) { #if defined(__VDSO__) @@ -36,6 +37,7 @@ static inline int raw_smp_processor_id(void) #endif } #define raw_smp_processor_id raw_smp_processor_id +#endif /* Map from cpu id to sequential logical cpu number. This will only not be idempotent when cpus failed to come on-line. */ -- 2.39.1
On 1/3/23 19:16, Josh Poimboeuf wrote: > The latest version of this patch triggered a new kbuild warning which is > fixed by the below patch. If there are no objections I'll bundle it in > with the rest of the set for merging. > > ---8<--- > > Subject: [PATCH] mips/smp: Add CONFIG_SMP guard for raw_smp_processor_id() > Content-type: text/plain > > Without CONFIG_SMP, raw_smp_processor_id() is not expected to be defined > by the arch. > > Reported-by: kernel test robot <lkp@intel.com> > Link: https://lore.kernel.org/oe-kbuild-all/202302220755.HM8J8GOR-lkp@intel.com/ > Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org> > --- > arch/mips/include/asm/smp.h | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/arch/mips/include/asm/smp.h b/arch/mips/include/asm/smp.h > index 4eee29b7845c..cf992b8b1e46 100644 > --- a/arch/mips/include/asm/smp.h > +++ b/arch/mips/include/asm/smp.h > @@ -25,6 +25,7 @@ extern cpumask_t cpu_sibling_map[]; > extern cpumask_t cpu_core_map[]; > extern cpumask_t cpu_foreign_map[]; > > +#ifdef CONFIG_SMP > static inline int raw_smp_processor_id(void) > { > #if defined(__VDSO__) > @@ -36,6 +37,7 @@ static inline int raw_smp_processor_id(void) > #endif > } > #define raw_smp_processor_id raw_smp_processor_id > +#endif > > /* Map from cpu id to sequential logical cpu number. This will only > not be idempotent when cpus failed to come on-line. */ Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
The following commit has been merged into the objtool/core branch of tip:
Commit-ID: 142dbcf3b6a93ecfe8ccbee60c611175f5459c23
Gitweb: https://git.kernel.org/tip/142dbcf3b6a93ecfe8ccbee60c611175f5459c23
Author: Josh Poimboeuf <jpoimboe@kernel.org>
AuthorDate: Thu, 16 Feb 2023 10:42:52 -08:00
Committer: Josh Poimboeuf <jpoimboe@kernel.org>
CommitterDate: Wed, 08 Mar 2023 08:44:19 -08:00
mips/cpu: Expose play_dead()'s prototype definition
Include <asm/smp.h> to make sure play_dead() matches its prototype going
forward.
Acked-by: Florian Fainelli <f.fainelli@gmail.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Link: https://lkml.kernel.org/r/20230216184249.ogaqsaykottpxtcb@treble
Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
---
arch/mips/cavium-octeon/smp.c | 1 +
arch/mips/kernel/smp-bmips.c | 2 ++
arch/mips/kernel/smp-cps.c | 1 +
arch/mips/loongson64/smp.c | 1 +
4 files changed, 5 insertions(+)
diff --git a/arch/mips/cavium-octeon/smp.c b/arch/mips/cavium-octeon/smp.c
index 89954f5..4212584 100644
--- a/arch/mips/cavium-octeon/smp.c
+++ b/arch/mips/cavium-octeon/smp.c
@@ -20,6 +20,7 @@
#include <asm/mmu_context.h>
#include <asm/time.h>
#include <asm/setup.h>
+#include <asm/smp.h>
#include <asm/octeon/octeon.h>
diff --git a/arch/mips/kernel/smp-bmips.c b/arch/mips/kernel/smp-bmips.c
index f5d7bfa..51d5dae 100644
--- a/arch/mips/kernel/smp-bmips.c
+++ b/arch/mips/kernel/smp-bmips.c
@@ -54,6 +54,8 @@ static void bmips_set_reset_vec(int cpu, u32 val);
#ifdef CONFIG_SMP
+#include <asm/smp.h>
+
/* initial $sp, $gp - used by arch/mips/kernel/bmips_vec.S */
unsigned long bmips_smp_boot_sp;
unsigned long bmips_smp_boot_gp;
diff --git a/arch/mips/kernel/smp-cps.c b/arch/mips/kernel/smp-cps.c
index 4fc288b..00a0e25 100644
--- a/arch/mips/kernel/smp-cps.c
+++ b/arch/mips/kernel/smp-cps.c
@@ -20,6 +20,7 @@
#include <asm/mipsregs.h>
#include <asm/pm-cps.h>
#include <asm/r4kcache.h>
+#include <asm/smp.h>
#include <asm/smp-cps.h>
#include <asm/time.h>
#include <asm/uasm.h>
diff --git a/arch/mips/loongson64/smp.c b/arch/mips/loongson64/smp.c
index 660e1de..4e24b31 100644
--- a/arch/mips/loongson64/smp.c
+++ b/arch/mips/loongson64/smp.c
@@ -14,6 +14,7 @@
#include <linux/cpufreq.h>
#include <linux/kexec.h>
#include <asm/processor.h>
+#include <asm/smp.h>
#include <asm/time.h>
#include <asm/tlbflush.h>
#include <asm/cacheflush.h>
© 2016 - 2025 Red Hat, Inc.