2010-04-27 01:28:48

by Stephen Rothwell

[permalink] [raw]
Subject: linux-next: build warning after merge of the wireless tree

Hi John,

After merging the wireless tree, today's linux-next build (x86_64 allmodconfig)
produced these warnings:

In file included from drivers/net/wireless/libertas_tf/main.c:12:
drivers/net/wireless/libertas_tf/deb_defs.h:12:1: warning: "pr_fmt" redefined
In file included from arch/x86/include/asm/percpu.h:44,
from arch/x86/include/asm/current.h:5,
from arch/x86/include/asm/processor.h:15,
from arch/x86/include/asm/thread_info.h:22,
from include/linux/thread_info.h:56,
from include/linux/preempt.h:9,
from include/linux/spinlock.h:50,
from include/linux/mmzone.h:7,
from include/linux/gfp.h:4,
from include/linux/slab.h:12,
from drivers/net/wireless/libertas_tf/main.c:10:
include/linux/kernel.h:376:1: warning: this is the location of the previous definition
In file included from drivers/net/wireless/libertas_tf/cmd.c:12:
drivers/net/wireless/libertas_tf/deb_defs.h:12:1: warning: "pr_fmt" redefined
In file included from arch/x86/include/asm/percpu.h:44,
from arch/x86/include/asm/current.h:5,
from arch/x86/include/asm/processor.h:15,
from arch/x86/include/asm/thread_info.h:22,
from include/linux/thread_info.h:56,
from include/linux/preempt.h:9,
from include/linux/spinlock.h:50,
from include/linux/mmzone.h:7,
from include/linux/gfp.h:4,
from include/linux/slab.h:12,
from drivers/net/wireless/libertas_tf/cmd.c:10:
include/linux/kernel.h:376:1: warning: this is the location of the previous definition

Presumably this is caused by the merge fixup I did that explicitly
includes linux/slab.h before deb_defs.h. So you may want to try a
different merge fix.

--
Cheers,
Stephen Rothwell [email protected]
http://www.canb.auug.org.au/~sfr/


Attachments:
(No filename) (1.97 kB)
(No filename) (198.00 B)
Download all attachments

2010-04-27 15:45:16

by John W. Linville

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the wireless tree

On Tue, Apr 27, 2010 at 11:28:42AM +1000, Stephen Rothwell wrote:
> Hi John,
>
> After merging the wireless tree, today's linux-next build (x86_64 allmodconfig)
> produced these warnings:
>
> In file included from drivers/net/wireless/libertas_tf/main.c:12:
> drivers/net/wireless/libertas_tf/deb_defs.h:12:1: warning: "pr_fmt" redefined
> In file included from arch/x86/include/asm/percpu.h:44,
> from arch/x86/include/asm/current.h:5,
> from arch/x86/include/asm/processor.h:15,
> from arch/x86/include/asm/thread_info.h:22,
> from include/linux/thread_info.h:56,
> from include/linux/preempt.h:9,
> from include/linux/spinlock.h:50,
> from include/linux/mmzone.h:7,
> from include/linux/gfp.h:4,
> from include/linux/slab.h:12,
> from drivers/net/wireless/libertas_tf/main.c:10:
> include/linux/kernel.h:376:1: warning: this is the location of the previous definition
> In file included from drivers/net/wireless/libertas_tf/cmd.c:12:
> drivers/net/wireless/libertas_tf/deb_defs.h:12:1: warning: "pr_fmt" redefined
> In file included from arch/x86/include/asm/percpu.h:44,
> from arch/x86/include/asm/current.h:5,
> from arch/x86/include/asm/processor.h:15,
> from arch/x86/include/asm/thread_info.h:22,
> from include/linux/thread_info.h:56,
> from include/linux/preempt.h:9,
> from include/linux/spinlock.h:50,
> from include/linux/mmzone.h:7,
> from include/linux/gfp.h:4,
> from include/linux/slab.h:12,
> from drivers/net/wireless/libertas_tf/cmd.c:10:
> include/linux/kernel.h:376:1: warning: this is the location of the previous definition
>
> Presumably this is caused by the merge fixup I did that explicitly
> includes linux/slab.h before deb_defs.h. So you may want to try a
> different merge fix.

Right. So in wireless-testing I did the includes in the other order
(i.e. "deb_defs.h" first), but that is a bit ugly. Any suggestions
on alternatives?

"#undef pr_fmt" just before the "#define pr_fmt(fmt)..." line in
db_defs.h seems to eliminate the warning even with the more normal
ordering of the #include lines. I'm not familiar with the usage of
pr_fmt -- will doing the above preserve the desired effect?

John
--
John W. Linville Someday the world will need a hero, and you
[email protected] might be all we have. Be ready.

2010-04-27 17:07:18

by Steve deRosier

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the wireless tree

On Tue, Apr 27, 2010 at 8:40 AM, John W. Linville
<[email protected]> wrote:
>
> Right. ?So in wireless-testing I did the includes in the other order
> (i.e. "deb_defs.h" first), but that is a bit ugly. ?Any suggestions
> on alternatives?
>
> "#undef pr_fmt" just before the "#define pr_fmt(fmt)..." line in
> db_defs.h seems to eliminate the warning even with the more normal
> ordering of the #include lines. ?I'm not familiar with the usage of
> pr_fmt -- will doing the above preserve the desired effect?

John,

I thought about that particular strategy (doing the #undef) instead of
the non-traditional include mess. But not being familiar enough with
the pr_fmt stuff, I didn't want to do it.

My goal was to get the '#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt'
line in the deb_defs.h header so it was only in one place. But to
build, that define must be before kernel.h gets included anywhere.
Hence the current mess.

I'm OK with the #undef strategy and moving the deb_defs.h include to a
better position if that's the correct way to do this. Please let me
know if I have any action items on this.

- Steve

2010-04-28 06:18:07

by Stephen Rothwell

[permalink] [raw]
Subject: Re: linux-next: build warning after merge of the wireless tree

Hi John,

On Tue, 27 Apr 2010 10:07:12 -0700 Steve deRosier <[email protected]> wrote:
>
> On Tue, Apr 27, 2010 at 8:40 AM, John W. Linville
> <[email protected]> wrote:
> >
> > Right.  So in wireless-testing I did the includes in the other order
> > (i.e. "deb_defs.h" first), but that is a bit ugly.  Any suggestions
> > on alternatives?

I have done that as well for today in linux-next.

> > "#undef pr_fmt" just before the "#define pr_fmt(fmt)..." line in
> > db_defs.h seems to eliminate the warning even with the more normal
> > ordering of the #include lines.  I'm not familiar with the usage of
> > pr_fmt -- will doing the above preserve the desired effect?
>
> I thought about that particular strategy (doing the #undef) instead of
> the non-traditional include mess. But not being familiar enough with
> the pr_fmt stuff, I didn't want to do it.
>
> My goal was to get the '#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt'
> line in the deb_defs.h header so it was only in one place. But to
> build, that define must be before kernel.h gets included anywhere.
> Hence the current mess.
>
> I'm OK with the #undef strategy and moving the deb_defs.h include to a
> better position if that's the correct way to do this. Please let me
> know if I have any action items on this.

The only problem I could see with that is is there are some inline
functions in the headers files between where the first and second #define
pr_fmt s get done.

--
Cheers,
Stephen Rothwell [email protected]
http://www.canb.auug.org.au/~sfr/


Attachments:
(No filename) (1.52 kB)
(No filename) (198.00 B)
Download all attachments