From: Sam Ravnborg <sam@ravnborg.org>
To: WANG Cong <xiyou.wangcong@gmail.com>
Cc: Greg KH <gregkh@suse.de>, LKML <linux-kernel@vger.kernel.org>,
Andrew Morton <akpm@osdl.org>
Subject: Re: [Patch] Shut up warnings from files under drivers/
Date: Sat, 26 Jan 2008 10:57:23 +0100 [thread overview]
Message-ID: <20080126095723.GA22285@uranus.ravnborg.org> (raw)
In-Reply-To: <20080126093007.GB20935@hacking>
Hi WANG.
On Sat, Jan 26, 2008 at 05:30:07PM +0800, WANG Cong wrote:
>
> Fix two kind of defined-but-not-used warnings.
>
> One is due to defination of MODULE_DEVICE_TABLE, the
> other is due to __devexit_p. The solution is just to
> add proper directives to protect those usages.
Please include the actual warnings that you fix.
>
> Compile tests passed.
>
> Cc: Greg KH <gregkh@suse.de>
> Signed-off-by: WANG Cong <xiyou.wangcong@gmail.com>
>
> ---
>
> diff --git a/drivers/char/applicom.c b/drivers/char/applicom.c
> index 1f0b752..247bc16 100644
> --- a/drivers/char/applicom.c
> +++ b/drivers/char/applicom.c
> @@ -65,6 +65,7 @@ static char *applicom_pci_devnames[] = {
> "PCI2000PFB"
> };
>
> +#ifdef MODULE
> static struct pci_device_id applicom_pci_tbl[] = {
> { PCI_VENDOR_ID_APPLICOM, PCI_DEVICE_ID_APPLICOM_PCIGENERIC,
> PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
> @@ -74,6 +75,8 @@ static struct pci_device_id applicom_pci_tbl[] = {
> PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
> { 0 }
> };
> +#endif
> +
As replacement for the above I would prefer som kind of annotation
so we can drop the symbol at linker time.
Something like:
>+ static struct pci_device_id applicom_pci_tbl[] __moduseddata = {
> { PCI_VENDOR_ID_APPLICOM, PCI_DEVICE_ID_APPLICOM_PCIGENERIC,
> PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
> @@ -74,6 +75,8 @@ static struct pci_device_id applicom_pci_tbl[] = {
> PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
> { 0 }
> };
where we have:
#ifdef MODULE
#define __moduseddata __section(.module.data)
#define __modusedconst __section(.module.rodata)
#define __modused __section(.module.text)
#else
#define __moduseddata __section(.discard.data)
#define __modusedconst __section(.discard.rodata)
#define __modused __section(.discard.text)
#endif
And we can then discard the symbols as we do for
__initdata today.
Another much simpler solution could be to say:
>static struct pci_device_id applicom_pci_tbl[] __used = {
> { PCI_VENDOR_ID_APPLICOM, PCI_DEVICE_ID_APPLICOM_PCIGENERIC,
> PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
> @@ -74,6 +75,8 @@ static struct pci_device_id applicom_pci_tbl[] = {
> PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0 },
> { 0 }
> };
But we would then in the built-in case waste some memory.
> index 905d1f5..2009dc9 100644
> --- a/drivers/char/synclink.c
> +++ b/drivers/char/synclink.c
> @@ -897,7 +897,9 @@ static char *driver_version = "$Revision: 4.38 $";
>
> static int synclink_init_one (struct pci_dev *dev,
> const struct pci_device_id *ent);
> +#if defined(MODULE) || defined(CONFIG_HOTPLUG)
> static void synclink_remove_one (struct pci_dev *dev);
> +#endif
>
> static struct pci_device_id synclink_pci_tbl[] = {
> { PCI_VENDOR_ID_MICROGATE, PCI_DEVICE_ID_MICROGATE_USC, PCI_ANY_ID, PCI_ANY_ID, },
> @@ -8166,7 +8168,8 @@ static int __devinit synclink_init_one (struct pci_dev *dev,
> return 0;
> }
>
> +#if defined(MODULE) || defined(CONFIG_HOTPLUG)
> static void __devexit synclink_remove_one (struct pci_dev *dev)
> {
> }
> -
> +#endif
This function is properly annotated and __devexit_p() is used
so it should not generate a warning.
The root casue is that __devexit is defined to nothing in the
#ifdef CONFIG_HOTPLUG case - it should have been defined as
#define __devexit __used
if MODULE was not defined.
This is the better fix for these kind of warnings.
For the latter I have fixed this in kbuild.git.
So we are only left with the DEVICE_MOD_TABLE issue.
Sam
next prev parent reply other threads:[~2008-01-26 9:57 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-26 9:30 WANG Cong
2008-01-26 9:55 ` Jeff Garzik
2008-01-26 10:18 ` WANG Cong
2008-01-26 11:44 ` Jeff Garzik
2008-01-26 19:17 ` Sam Ravnborg
2008-01-26 19:30 ` Sam Ravnborg
2008-01-27 2:50 ` WANG Cong
2008-01-27 4:15 ` (Updated) " WANG Cong
2008-01-27 9:08 ` Jiri Slaby
2008-01-27 9:21 ` Jiri Slaby
2008-01-28 5:20 ` WANG Cong
2008-01-27 9:21 ` Sam Ravnborg
2008-01-28 5:49 ` (Try#3) " WANG Cong
[not found] ` <1201691351-1038?= =?ISO-8859-1?Q?4-1-git-send-ema?= =?ISO-8859-1?Q?il-=1B[D>
2008-01-30 11:10 ` [PATCH 1/2] Char: applicom, use pci_resource_start Jiri Slaby
2008-01-30 11:13 ` Jiri Slaby
2008-01-30 11:13 ` [PATCH 2/2] Char: applicom, use pci_match_id Jiri Slaby
2008-01-30 23:10 ` Andrew Morton
2008-01-31 9:26 ` Jiri Slaby
2008-01-26 9:57 ` Sam Ravnborg [this message]
2008-01-26 10:15 ` [Patch] Shut up warnings from files under drivers/ WANG Cong
2008-01-26 10:21 ` Sam Ravnborg
2008-01-26 10:26 ` WANG Cong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080126095723.GA22285@uranus.ravnborg.org \
--to=sam@ravnborg.org \
--cc=akpm@osdl.org \
--cc=gregkh@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=xiyou.wangcong@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome