* [patch 12/30] Fix drivers/scsi/fdomain.c CONFIG_PCI=n warnings
@ 2007-08-10 21:50 akpm
2007-08-15 16:35 ` James Bottomley
0 siblings, 1 reply; 4+ messages in thread
From: akpm @ 2007-08-10 21:50 UTC (permalink / raw)
To: James.Bottomley; +Cc: linux-scsi, akpm, nix.or.die
From: Gabriel C <nix.or.die@googlemail.com>
I get this warnings on current git when CONFIG_PCI is not set :
drivers/scsi/fdomain.c:390: warning: 'PCI_dev' defined but not used
drivers/scsi/fdomain.c:1768: warning: 'fdomain_pci_tbl' defined but not used
Signed-off-by: Gabriel Craciunescu <nix.or.die@googlemail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
---
drivers/scsi/fdomain.c | 5 ++++-
1 files changed, 4 insertions(+), 1 deletion(-)
diff -puN drivers/scsi/fdomain.c~fix-drivers-scsi-fdomainc-config_pci=n-warnings drivers/scsi/fdomain.c
--- a/drivers/scsi/fdomain.c~fix-drivers-scsi-fdomainc-config_pci=n-warnings
+++ a/drivers/scsi/fdomain.c
@@ -387,7 +387,9 @@ static void __iomem * bios_mem;
static int bios_major;
static int bios_minor;
static int PCI_bus;
+#ifdef CONFIG_PCI
static struct pci_dev *PCI_dev;
+#endif
static int Quantum; /* Quantum board variant */
static int interrupt_level;
static volatile int in_command;
@@ -1764,6 +1766,7 @@ struct scsi_host_template fdomain_driver
};
#ifndef PCMCIA
+#ifdef CONFIG_PCI
static struct pci_device_id fdomain_pci_tbl[] __devinitdata = {
{ PCI_VENDOR_ID_FD, PCI_DEVICE_ID_FD_36C70,
@@ -1771,7 +1774,7 @@ static struct pci_device_id fdomain_pci_
{ }
};
MODULE_DEVICE_TABLE(pci, fdomain_pci_tbl);
-
+#endif
#define driver_template fdomain_driver_template
#include "scsi_module.c"
_
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch 12/30] Fix drivers/scsi/fdomain.c CONFIG_PCI=n warnings
2007-08-10 21:50 [patch 12/30] Fix drivers/scsi/fdomain.c CONFIG_PCI=n warnings akpm
@ 2007-08-15 16:35 ` James Bottomley
2007-08-15 17:39 ` Andrew Morton
0 siblings, 1 reply; 4+ messages in thread
From: James Bottomley @ 2007-08-15 16:35 UTC (permalink / raw)
To: akpm; +Cc: linux-scsi, nix.or.die
On Fri, 2007-08-10 at 14:50 -0700, akpm@linux-foundation.org wrote:
> From: Gabriel C <nix.or.die@googlemail.com>
>
> I get this warnings on current git when CONFIG_PCI is not set :
>
> drivers/scsi/fdomain.c:390: warning: 'PCI_dev' defined but not used
> drivers/scsi/fdomain.c:1768: warning: 'fdomain_pci_tbl' defined but not used
>
> Signed-off-by: Gabriel Craciunescu <nix.or.die@googlemail.com>
> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
This function looks decidedly dangerous since it references a
non-existent variable when CONFIG_PCI isn't set. It seems to work
because pci_dev_put() is defined to a null macro, but it's not safe:
static int fdomain_16x0_release(struct Scsi_Host *shpnt)
{
if (shpnt->irq)
free_irq(shpnt->irq, shpnt);
if (shpnt->io_port && shpnt->n_io_port)
release_region(shpnt->io_port, shpnt->n_io_port);
if (PCI_bus)
pci_dev_put(PCI_dev);
return 0;
}
James
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch 12/30] Fix drivers/scsi/fdomain.c CONFIG_PCI=n warnings
2007-08-15 16:35 ` James Bottomley
@ 2007-08-15 17:39 ` Andrew Morton
2007-08-15 17:46 ` James Bottomley
0 siblings, 1 reply; 4+ messages in thread
From: Andrew Morton @ 2007-08-15 17:39 UTC (permalink / raw)
To: James Bottomley; +Cc: linux-scsi, nix.or.die
On Wed, 15 Aug 2007 11:35:49 -0500 James Bottomley <James.Bottomley@SteelEye.com> wrote:
> On Fri, 2007-08-10 at 14:50 -0700, akpm@linux-foundation.org wrote:
> > From: Gabriel C <nix.or.die@googlemail.com>
> >
> > I get this warnings on current git when CONFIG_PCI is not set :
> >
> > drivers/scsi/fdomain.c:390: warning: 'PCI_dev' defined but not used
> > drivers/scsi/fdomain.c:1768: warning: 'fdomain_pci_tbl' defined but not used
> >
> > Signed-off-by: Gabriel Craciunescu <nix.or.die@googlemail.com>
> > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
>
> This function looks decidedly dangerous since it references a
> non-existent variable when CONFIG_PCI isn't set. It seems to work
> because pci_dev_put() is defined to a null macro, but it's not safe:
>
> static int fdomain_16x0_release(struct Scsi_Host *shpnt)
> {
> if (shpnt->irq)
> free_irq(shpnt->irq, shpnt);
> if (shpnt->io_port && shpnt->n_io_port)
> release_region(shpnt->io_port, shpnt->n_io_port);
> if (PCI_bus)
> pci_dev_put(PCI_dev);
> return 0;
> }
>
I expect that's why pci_dev_put() is still implemented as a macro.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [patch 12/30] Fix drivers/scsi/fdomain.c CONFIG_PCI=n warnings
2007-08-15 17:39 ` Andrew Morton
@ 2007-08-15 17:46 ` James Bottomley
0 siblings, 0 replies; 4+ messages in thread
From: James Bottomley @ 2007-08-15 17:46 UTC (permalink / raw)
To: Andrew Morton; +Cc: linux-scsi, nix.or.die
On Wed, 2007-08-15 at 10:39 -0700, Andrew Morton wrote:
> On Wed, 15 Aug 2007 11:35:49 -0500 James Bottomley <James.Bottomley@SteelEye.com> wrote:
>
> > On Fri, 2007-08-10 at 14:50 -0700, akpm@linux-foundation.org wrote:
> > > From: Gabriel C <nix.or.die@googlemail.com>
> > >
> > > I get this warnings on current git when CONFIG_PCI is not set :
> > >
> > > drivers/scsi/fdomain.c:390: warning: 'PCI_dev' defined but not used
> > > drivers/scsi/fdomain.c:1768: warning: 'fdomain_pci_tbl' defined but not used
> > >
> > > Signed-off-by: Gabriel Craciunescu <nix.or.die@googlemail.com>
> > > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
> >
> > This function looks decidedly dangerous since it references a
> > non-existent variable when CONFIG_PCI isn't set. It seems to work
> > because pci_dev_put() is defined to a null macro, but it's not safe:
> >
> > static int fdomain_16x0_release(struct Scsi_Host *shpnt)
> > {
> > if (shpnt->irq)
> > free_irq(shpnt->irq, shpnt);
> > if (shpnt->io_port && shpnt->n_io_port)
> > release_region(shpnt->io_port, shpnt->n_io_port);
> > if (PCI_bus)
> > pci_dev_put(PCI_dev);
> > return 0;
> > }
> >
>
> I expect that's why pci_dev_put() is still implemented as a macro.
It's not in my best practices book to refer to a non-existent variable
in the hope that the referring routine is an empty define ... at the
very least it will cause a bit of head scratching for anyone looking
over this driver in future. Not to say this driver will break if
someone ever substitutes the #define for a static inline ...
James
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2007-08-15 17:46 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-10 21:50 [patch 12/30] Fix drivers/scsi/fdomain.c CONFIG_PCI=n warnings akpm
2007-08-15 16:35 ` James Bottomley
2007-08-15 17:39 ` Andrew Morton
2007-08-15 17:46 ` James Bottomley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox