summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/fdomain.c
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2007-05-27 08:52:12 -0400
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>2007-05-27 12:59:28 -0500
commit6cad75a61d802c5f4f4299103b8f95aeb3ee9876 (patch)
tree27893a562bd5a968335ee3f77d9b084a6fbbc2ff /drivers/scsi/fdomain.c
parent565bae6a4a8f16459e179ebf4421c1291cf88aa5 (diff)
downloadlinux-6cad75a61d802c5f4f4299103b8f95aeb3ee9876.tar.gz
linux-6cad75a61d802c5f4f4299103b8f95aeb3ee9876.tar.bz2
linux-6cad75a61d802c5f4f4299103b8f95aeb3ee9876.zip
[SCSI] fdomain: fix PCMCIA-related warnings
fdomain is one of those drivers that is compiled twice, once for PCMCIA and once for non-PCMCIA. The resultant two-driver setup leaves a bit of dead code and data in the non-PCMCIA case, which gcc complains about. Shuffle ifdefs a bit to eliminate the conditionally-dead code, and the compiler warnings. Signed-off-by: Jeff Garzik <jeff@garzik.org> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Diffstat (limited to 'drivers/scsi/fdomain.c')
-rw-r--r--drivers/scsi/fdomain.c28
1 files changed, 24 insertions, 4 deletions
diff --git a/drivers/scsi/fdomain.c b/drivers/scsi/fdomain.c
index 0d1661a8116b..36169d597e98 100644
--- a/drivers/scsi/fdomain.c
+++ b/drivers/scsi/fdomain.c
@@ -410,6 +410,8 @@ static irqreturn_t do_fdomain_16x0_intr( int irq, void *dev_id );
static char * fdomain = NULL;
module_param(fdomain, charp, 0);
+#ifndef PCMCIA
+
static unsigned long addresses[] = {
0xc8000,
0xca000,
@@ -426,6 +428,8 @@ static unsigned short ports[] = { 0x140, 0x150, 0x160, 0x170 };
static unsigned short ints[] = { 3, 5, 10, 11, 12, 14, 15, 0 };
+#endif /* !PCMCIA */
+
/*
READ THIS BEFORE YOU ADD A SIGNATURE!
@@ -458,6 +462,8 @@ static unsigned short ints[] = { 3, 5, 10, 11, 12, 14, 15, 0 };
*/
+#ifndef PCMCIA
+
static struct signature {
const char *signature;
int sig_offset;
@@ -503,6 +509,8 @@ static struct signature {
#define SIGNATURE_COUNT ARRAY_SIZE(signatures)
+#endif /* !PCMCIA */
+
static void print_banner( struct Scsi_Host *shpnt )
{
if (!shpnt) return; /* This won't ever happen */
@@ -633,6 +641,8 @@ static int fdomain_test_loopback( void )
return 0;
}
+#ifndef PCMCIA
+
/* fdomain_get_irq assumes that we have a valid MCA ID for a
TMC-1660/TMC-1680 Future Domain board. Now, check to be sure the
bios_base matches these ports. If someone was unlucky enough to have
@@ -667,7 +677,6 @@ static int fdomain_get_irq( int base )
static int fdomain_isa_detect( int *irq, int *iobase )
{
-#ifndef PCMCIA
int i, j;
int base = 0xdeadbeef;
int flag = 0;
@@ -786,11 +795,22 @@ found:
*iobase = base;
return 1; /* success */
-#else
- return 0;
-#endif
}
+#else /* PCMCIA */
+
+static int fdomain_isa_detect( int *irq, int *iobase )
+{
+ if (irq)
+ *irq = 0;
+ if (iobase)
+ *iobase = 0;
+ return 0;
+}
+
+#endif /* !PCMCIA */
+
+
/* PCI detection function: int fdomain_pci_bios_detect(int* irq, int*
iobase) This function gets the Interrupt Level and I/O base address from
the PCI configuration registers. */