Subject: Re: New sparse warning in net/mac80211/debugfs_sta.c

From: Patrick McHardy <[email-masked]>
Date: Tue, 08 Apr 2008 23:19:42 +0200

Joe Perches wrote:
> On Tue, 2008-04-08 at 22:18 +0200, Patrick McHardy wrote:
>
>> I've attached a codiff of a tree with and without this change
>> (might not include all drivers, but I think I enabled all that
>> build on x86_64). The _probe and _init_one functions should
>> be harmless, but there are lots of functions that look like
>> they would prefer to avoid useless overhead. A small sample:
>>
>> drivers/net/starfire.c:
>>    netdev_poll       |  +50
>>
>> drivers/net/tokenring/olympic.c:
>>    olympic_interrupt |  +10
> 
> []
> 
> I also think this should be cleaned up before 2.6.25 is released.

Great :)

> I think that the changes to pr_debug, dev_dbg, and dev_vdbg
> to use an "if (0) printk" macro rather than an empty inline
> I posted a few times without any reply or comment should work
> for most all cases.
> 
> These changes should allow gcc to eliminate unused functions
> called as arguments to those debugging logging functions
> while maintaining the printf argument validation.
> 
> I'll check out codiff as I haven't used it.
> Is this the latest codiff tool?
> http://git.kernel.org/?p=linux/kernel/git/acme/pahole.git;a=summary

Yes, I'm using pre-built debian packages though since
I couldn't get the source to work properly on debian
(deb ftp://ftp.nerim.net/debian/ sid main).

> Here is the patch again:

This might work (codiff should be able to tell). But I
just see that Dave also favours to use MAC_FMT directly,
so please just do this. Thanks.