Re: [patch] pci: type may be unused in pci_access_init()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 30 Apr 2007, Andrew Morton wrote:

> On Mon, 30 Apr 2007 07:34:52 -0700 (PDT) David Rientjes <[email protected]> wrote:
> 
> > The automatic 'type' variable is unused in !CONFIG_PCI_DIRECT and
> > !CONFIG_PCI_MMCONFIG.
> > 
> > Cc: Greg Kroah-Hartman <[email protected]>
> > Signed-off-by: David Rientjes <[email protected]>
> > ---
> >  arch/i386/pci/init.c |    2 +-
> >  1 files changed, 1 insertions(+), 1 deletions(-)
> > 
> > diff --git a/arch/i386/pci/init.c b/arch/i386/pci/init.c
> > --- a/arch/i386/pci/init.c
> > +++ b/arch/i386/pci/init.c
> > @@ -6,7 +6,7 @@
> 
> Please use `diff -p'.
> 

The patch would have appeared the same, pci_access_init() is the first 
function (and there are no prototypes) in arch/i386/pci/init.c and at line 
6 it had not yet begun.

diff -rupN a/init.c b/init.c
--- a/init.c	2007-04-30 19:28:59.887833000 -0700
+++ b/init.c	2007-04-30 19:29:26.615993000 -0700
@@ -6,7 +6,7 @@
    in the right sequence from here. */
 static __init int pci_access_init(void)
 {
-	int type = 0;
+	int type __attribute__((unused)) = 0;
 
 #ifdef CONFIG_PCI_DIRECT
 	type = pci_direct_probe();


> >  #ifdef CONFIG_PCI_DIRECT
> >  	type = pci_direct_probe();
> 
> Of course, one could do 
> 
> 	int type = pci_direct_probe();
> 
> here instead, but that's a bit fragile.
> 

No, because 'type' can be referenced in the !CONFIG_PCI_DIRECT and 
CONFIG_PCI_MMCONFIG case:

static __init int pci_access_init(void)
{
	int type = 0;

#ifdef CONFIG_PCI_DIRECT
	type = pci_direct_probe();
#endif
#ifdef CONFIG_PCI_MMCONFIG
	pci_mmcfg_init(type);
#endif

...

So, due to the whacky implementation of __attribute_used__, we can just do 
this:
---
 arch/i386/pci/init.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/i386/pci/init.c b/arch/i386/pci/init.c
index b21b6da..508d6fd 100644
--- a/arch/i386/pci/init.c
+++ b/arch/i386/pci/init.c
@@ -6,7 +6,9 @@
    in the right sequence from here. */
 static __init int pci_access_init(void)
 {
+#if defined(CONFIG_PCI_DIRECT) || defined(CONFIG_PCI_MMCONFIG)
 	int type = 0;
+#endif
 
 #ifdef CONFIG_PCI_DIRECT
 	type = pci_direct_probe();
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux