Message ID | 1402677499-28289-1-git-send-email-linux@roeck-us.net (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On Fri, 13 Jun 2014, Guenter Roeck wrote: > If compiled with W=1, the following warning is seen in powerpc builds. > > arch/powerpc/kernel/smp.c:750:18: warning: > type qualifiers ignored on function return type > static const int powerpc_smt_flags(void) > ^ > > This is caused by a function returning 'const int', which doesn't > make sense to gcc. Drop 'const' to fix the problem. > > Reported-by: Vincent Guittot <vincent.guittot@linaro.org> > Signed-off-by: Guenter Roeck <linux@roeck-us.net> Acked-by: David Rientjes <rientjes@google.com> Although it's strange you report this happening on line 750 in the changelog but the patch shows it differently. > --- > arch/powerpc/kernel/smp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c > index 10ffffe..49d5d4e 100644 > --- a/arch/powerpc/kernel/smp.c > +++ b/arch/powerpc/kernel/smp.c > @@ -768,7 +768,7 @@ int setup_profiling_timer(unsigned int multiplier) > > #ifdef CONFIG_SCHED_SMT > /* cpumask of CPUs with asymetric SMT dependancy */ > -static const int powerpc_smt_flags(void) > +static int powerpc_smt_flags(void) > { > int flags = SD_SHARE_CPUPOWER | SD_SHARE_PKG_RESOURCES; >
On 06/16/2014 06:25 PM, David Rientjes wrote: > On Fri, 13 Jun 2014, Guenter Roeck wrote: > >> If compiled with W=1, the following warning is seen in powerpc builds. >> >> arch/powerpc/kernel/smp.c:750:18: warning: >> type qualifiers ignored on function return type >> static const int powerpc_smt_flags(void) >> ^ >> >> This is caused by a function returning 'const int', which doesn't >> make sense to gcc. Drop 'const' to fix the problem. >> >> Reported-by: Vincent Guittot <vincent.guittot@linaro.org> >> Signed-off-by: Guenter Roeck <linux@roeck-us.net> > > Acked-by: David Rientjes <rientjes@google.com> > > Although it's strange you report this happening on line 750 in the > changelog but the patch shows it differently. > In the latest kernel (v3.16-rc1) the function is at line 750. It appears that I ran the build test on a later version than the one I used to write the patch. Hope that is not a problem. Guenter
On Fri, 2014-06-13 at 09:38 -0700, Guenter Roeck wrote: > If compiled with W=1, the following warning is seen in powerpc builds. > > arch/powerpc/kernel/smp.c:750:18: warning: > type qualifiers ignored on function return type > static const int powerpc_smt_flags(void) > ^ > > This is caused by a function returning 'const int', which doesn't > make sense to gcc. Drop 'const' to fix the problem. This breaks the 64-bit build: arch/powerpc/kernel/smp.c:764:2: error: initialization from incompatible pointer type [-Werror] arch/powerpc/kernel/smp.c:764:2: error: (near initialization for 'powerpc_topology[0].sd_flags') [-Werror] It appears that the generic definition in sched.h has this function defined as const int, so that needs to be fixed too along with all instances in all archs. Cheers, Ben. > Reported-by: Vincent Guittot <vincent.guittot@linaro.org> > Signed-off-by: Guenter Roeck <linux@roeck-us.net> > --- > arch/powerpc/kernel/smp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c > index 10ffffe..49d5d4e 100644 > --- a/arch/powerpc/kernel/smp.c > +++ b/arch/powerpc/kernel/smp.c > @@ -768,7 +768,7 @@ int setup_profiling_timer(unsigned int multiplier) > > #ifdef CONFIG_SCHED_SMT > /* cpumask of CPUs with asymetric SMT dependancy */ > -static const int powerpc_smt_flags(void) > +static int powerpc_smt_flags(void) > { > int flags = SD_SHARE_CPUPOWER | SD_SHARE_PKG_RESOURCES; >
On 06/23/2014 09:35 PM, Benjamin Herrenschmidt wrote: > On Fri, 2014-06-13 at 09:38 -0700, Guenter Roeck wrote: >> If compiled with W=1, the following warning is seen in powerpc builds. >> >> arch/powerpc/kernel/smp.c:750:18: warning: >> type qualifiers ignored on function return type >> static const int powerpc_smt_flags(void) >> ^ >> >> This is caused by a function returning 'const int', which doesn't >> make sense to gcc. Drop 'const' to fix the problem. > > This breaks the 64-bit build: > > arch/powerpc/kernel/smp.c:764:2: error: initialization from incompatible pointer type [-Werror] > arch/powerpc/kernel/smp.c:764:2: error: (near initialization for 'powerpc_topology[0].sd_flags') [-Werror] > > It appears that the generic definition in sched.h has this function > defined as const int, so that needs to be fixed too along with all > instances in all archs. > https://lkml.org/lkml/2014/6/12/743 Guenter
On Mon, 2014-06-23 at 22:05 -0700, Guenter Roeck wrote: > On 06/23/2014 09:35 PM, Benjamin Herrenschmidt wrote: > > On Fri, 2014-06-13 at 09:38 -0700, Guenter Roeck wrote: > >> If compiled with W=1, the following warning is seen in powerpc builds. > >> > >> arch/powerpc/kernel/smp.c:750:18: warning: > >> type qualifiers ignored on function return type > >> static const int powerpc_smt_flags(void) > >> ^ > >> > >> This is caused by a function returning 'const int', which doesn't > >> make sense to gcc. Drop 'const' to fix the problem. > > > > This breaks the 64-bit build: > > > > arch/powerpc/kernel/smp.c:764:2: error: initialization from incompatible pointer type [-Werror] > > arch/powerpc/kernel/smp.c:764:2: error: (near initialization for 'powerpc_topology[0].sd_flags') [-Werror] > > > > It appears that the generic definition in sched.h has this function > > defined as const int, so that needs to be fixed too along with all > > instances in all archs. > > > > https://lkml.org/lkml/2014/6/12/743 Won't the patch above break powerpc then ? IE. The functions signature won't match anymore ... /me thinks you probably need to fix them all at once. Cheers, Ben.
On 06/23/2014 10:34 PM, Benjamin Herrenschmidt wrote: > On Mon, 2014-06-23 at 22:05 -0700, Guenter Roeck wrote: >> On 06/23/2014 09:35 PM, Benjamin Herrenschmidt wrote: >>> On Fri, 2014-06-13 at 09:38 -0700, Guenter Roeck wrote: >>>> If compiled with W=1, the following warning is seen in powerpc builds. >>>> >>>> arch/powerpc/kernel/smp.c:750:18: warning: >>>> type qualifiers ignored on function return type >>>> static const int powerpc_smt_flags(void) >>>> ^ >>>> >>>> This is caused by a function returning 'const int', which doesn't >>>> make sense to gcc. Drop 'const' to fix the problem. >>> >>> This breaks the 64-bit build: >>> >>> arch/powerpc/kernel/smp.c:764:2: error: initialization from incompatible pointer type [-Werror] >>> arch/powerpc/kernel/smp.c:764:2: error: (near initialization for 'powerpc_topology[0].sd_flags') [-Werror] >>> >>> It appears that the generic definition in sched.h has this function >>> defined as const int, so that needs to be fixed too along with all >>> instances in all archs. >>> >> >> https://lkml.org/lkml/2014/6/12/743 > > Won't the patch above break powerpc then ? IE. The functions signature > won't match anymore ... /me thinks you probably need to fix them all > at once. > I thought that only happens if a const is dropped, but maybe not. Sigh. Much easier to break something than to fix it. That would mean to get approval from at least three maintainers, and all that to get rid of a warning. I don't really have time for that. Let's just forget about it and live with the warning. Guenter
On Mon, 2014-06-23 at 23:01 -0700, Guenter Roeck wrote: > I thought that only happens if a const is dropped, but maybe not. > > Sigh. Much easier to break something than to fix it. That would mean > to get approval > from at least three maintainers, and all that to get rid of a warning. > I don't > really have time for that. Let's just forget about it and live with > the warning. Well you have my tentative approval :) And trivial ones like that don't really need the respective maintainers to respond really, I forget regularly and they still go upstream. Cheers, Ben.
On Tue, Jun 24, 2014 at 8:01 AM, Guenter Roeck <linux@roeck-us.net> wrote: > Sigh. Much easier to break something than to fix it. That would mean to get > approval > from at least three maintainers, and all that to get rid of a warning. I > don't > really have time for that. Let's just forget about it and live with the > warning. So you send it to akpm. Or perhaps even trivial. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c index 10ffffe..49d5d4e 100644 --- a/arch/powerpc/kernel/smp.c +++ b/arch/powerpc/kernel/smp.c @@ -768,7 +768,7 @@ int setup_profiling_timer(unsigned int multiplier) #ifdef CONFIG_SCHED_SMT /* cpumask of CPUs with asymetric SMT dependancy */ -static const int powerpc_smt_flags(void) +static int powerpc_smt_flags(void) { int flags = SD_SHARE_CPUPOWER | SD_SHARE_PKG_RESOURCES;
If compiled with W=1, the following warning is seen in powerpc builds. arch/powerpc/kernel/smp.c:750:18: warning: type qualifiers ignored on function return type static const int powerpc_smt_flags(void) ^ This is caused by a function returning 'const int', which doesn't make sense to gcc. Drop 'const' to fix the problem. Reported-by: Vincent Guittot <vincent.guittot@linaro.org> Signed-off-by: Guenter Roeck <linux@roeck-us.net> --- arch/powerpc/kernel/smp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)