public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* [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