]> git.hungrycats.org Git - linux/commitdiff
[PATCH] Some parisc updates for SCSI
authorMatthew Wilcox <willy@debian.org>
Fri, 7 Mar 2003 03:14:42 +0000 (21:14 -0600)
committerChristoph Hellwig <hch@lst.de>
Fri, 7 Mar 2003 03:14:42 +0000 (21:14 -0600)
The config stanza for SCSI_ZALON was in the wrong place, so move it.
Make SCSI_NCR53C8XX conflict with SCSI_ZALON.
Give ncr53c8xx and sym53c8xx names
Fill in detach and release methods unconditionally.
Call pci_set_master() in sym53c8xx.
Both these drivers need interrupt.h, not sched.h

drivers/scsi/Kconfig
drivers/scsi/ncr53c8xx.c
drivers/scsi/ncr53c8xx.h
drivers/scsi/sym53c8xx.c
drivers/scsi/sym53c8xx.h
drivers/scsi/zalon.c
drivers/scsi/zalon.h

index e54a6b1253d776ca1f0114b01eed3d8a91962efa..ba8a485e639762a7a9f9e6003b17150885075a70 100644 (file)
@@ -946,16 +946,6 @@ config SCSI_SYM53C8XX_2
          Please read <file:drivers/scsi/sym53c8xx_2/Documentation.txt> for more
          information.
 
-config SCSI_ZALON
-       tristate "Zalon SCSI support"
-       depends on GSC && SCSI
-       help
-         The Zalon is a GSC/HSC bus interface chip that sits between the
-         PA-RISC processor and the NCR 53c720 SCSI controller on C100,
-         C110, J200, J210 and some D, K & R-class machines.  It's also
-         used on the add-in Bluefish, Barracuda & Shrike SCSI cards.
-         Say Y here if you have one of these machines or cards.
-
 config SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
        int "DMA addressing mode"
        depends on SCSI_SYM53C8XX_2
@@ -1010,9 +1000,19 @@ config SCSI_SYM53C8XX_IOMAPPED
          If you say Y here, the driver will preferently use normal IO rather than 
          memory mapped IO.
 
+config SCSI_ZALON
+       tristate "Zalon SCSI support"
+       depends on GSC && SCSI
+       help
+         The Zalon is a GSC/HSC bus interface chip that sits between the
+         PA-RISC processor and the NCR 53c720 SCSI controller on C100,
+         C110, J200, J210 and some D, K & R-class machines.  It's also
+         used on the add-in Bluefish, Barracuda & Shrike SCSI cards.
+         Say Y here if you have one of these machines or cards.
+
 config SCSI_NCR53C8XX
        tristate "NCR53C8XX SCSI support"
-       depends on PCI && SCSI_SYM53C8XX_2!=y && SCSI
+       depends on PCI && SCSI_SYM53C8XX_2!=y && SCSI_ZALON!=y && SCSI
        ---help---
          This is the BSD ncr driver adapted to Linux for the NCR53C8XX family
          of PCI-SCSI controllers.  This driver supports parity checking,
index a02be17066af6dbe845b94b000d2ffa1fdc8309b..065a3330a26bde5001c8f6814bd26fbbcd4326b1 100644 (file)
@@ -5024,7 +5024,6 @@ static int ncr_abort_command (ncb_p np, Scsi_Cmnd *cmd)
 **==========================================================
 */
 
-#ifdef MODULE
 static int ncr_detach(ncb_p np)
 {
        ccb_p cp;
@@ -5160,7 +5159,6 @@ static int ncr_detach(ncb_p np)
 
        return 1;
 }
-#endif
 
 /*==========================================================
 **
@@ -8935,7 +8933,6 @@ out:
 }
 
 
-#ifdef MODULE
 int ncr53c8xx_release(struct Scsi_Host *host)
 {
 #ifdef DEBUG_NCR53C8XX
@@ -8945,7 +8942,6 @@ printk("ncr53c8xx : release\n");
 
      return 1;
 }
-#endif
 
 
 /*
index 628fcee22875894561a6df6c9cd915efe6b1cc0a..2a2f62deaf4ac8fde31dd5507cda9cfd5152e60a 100644 (file)
@@ -60,17 +60,12 @@ const char *ncr53c8xx_info(struct Scsi_Host *host);
 int ncr53c8xx_queue_command(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
 int ncr53c8xx_reset(Scsi_Cmnd *, unsigned int);
 int ncr53c8xx_slave_configure(Scsi_Device *);
-
-#ifdef MODULE
 int ncr53c8xx_release(struct Scsi_Host *);
-#else
-#define ncr53c8xx_release NULL
-#endif
 
 
 #if    LINUX_VERSION_CODE >= LinuxVersionCode(2,1,75)
 
-#define NCR53C8XX {     .name           = "",                  \
+#define NCR53C8XX {     .name           = "ncr53c8xx",         \
                        .detect         = ncr53c8xx_detect,     \
                        .release        = ncr53c8xx_release,    \
                        .info           = ncr53c8xx_info,       \
index c9ae078c96f1242d2c957e3a12672182da33c662..95d3d9e2c4c31052f6e43a3d5723ee6d05cf649e 100644 (file)
 #include <asm/spinlock.h>
 #endif
 #include <linux/delay.h>
+#include <linux/interrupt.h>
 #include <linux/signal.h>
-#include <linux/sched.h>
 #include <linux/errno.h>
 #include <linux/pci.h>
 #include <linux/string.h>
@@ -7214,7 +7214,6 @@ static int ncr_abort_command (ncb_p np, Scsi_Cmnd *cmd)
 **==========================================================
 */
 
-#ifdef MODULE
 static int ncr_detach(ncb_p np)
 {
        int i;
@@ -7260,7 +7259,6 @@ static int ncr_detach(ncb_p np)
 
        return 1;
 }
-#endif
 
 /*==========================================================
 **
@@ -12958,6 +12956,7 @@ if (sym53c8xx)
                }
                if (i != count) /* Ignore this device if we already have it */
                        continue;
+               pci_set_master(pcidev);
                devp = &devtbl[count];
                devp->host_id = driver_setup.host_id;
                devp->attach_done = 0;
@@ -13798,7 +13797,6 @@ out:
 }
 
 
-#ifdef MODULE
 int sym53c8xx_release(struct Scsi_Host *host)
 {
 #ifdef DEBUG_SYM53C8XX
@@ -13808,7 +13806,6 @@ printk("sym53c8xx : release\n");
 
      return 1;
 }
-#endif
 
 
 /*
index f2f0640cfb39b5edd2ac0b588773cceb8e81452a..73a4d5a69ffa55fffadff3f112f4f037803a9979 100644 (file)
@@ -75,17 +75,11 @@ const char *sym53c8xx_info(struct Scsi_Host *host);
 int sym53c8xx_queue_command(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
 int sym53c8xx_reset(Scsi_Cmnd *, unsigned int);
 int sym53c8xx_slave_configure(Scsi_Device *);
-
-#ifdef MODULE
 int sym53c8xx_release(struct Scsi_Host *);
-#else
-#define sym53c8xx_release NULL
-#endif
-
 
 #if    LINUX_VERSION_CODE >= LinuxVersionCode(2,1,75)
 
-#define SYM53C8XX {     .name           = "",                  \
+#define SYM53C8XX {     .name           = "sym53c8xx",         \
                        .detect         = sym53c8xx_detect,     \
                        .release        = sym53c8xx_release,    \
                        .info           = sym53c8xx_info,       \
index bed55e6c3eefc05b37b9b1c71049ef0fb4a97f8c..bf1d4d1b9531233dfdcc36c5951b1bfd86e6ac9a 100644 (file)
@@ -151,7 +151,6 @@ int zalon7xx_detect(Scsi_Host_Template *tpnt)
        return (hosts_used != 0);
 }
 
-#ifdef MODULE
 extern int ncr53c8xx_release(struct Scsi_Host *host);
 
 int zalon7xx_release(struct Scsi_Host *host)
@@ -160,4 +159,3 @@ int zalon7xx_release(struct Scsi_Host *host)
        unregister_parisc_driver(&zalon_driver);
        return 1;
 }
-#endif
index 77be297850b1622e9de3eceebdaeff3a49d8cd1c..d68dd3d0c89e7c5521a5bfd35488db58ab01b5f9 100644 (file)
@@ -15,12 +15,7 @@ extern struct proc_dir_entry proc_scsi_zalon7xx;
 int zalon7xx_detect(Scsi_Host_Template *tpnt);
 const char *ncr53c8xx_info(struct Scsi_Host *host);
 int ncr53c8xx_queue_command(Scsi_Cmnd *, void (*done)(Scsi_Cmnd *));
-
-#ifdef MODULE
 int zalon7xx_release(struct Scsi_Host *);
-#else
-#define zalon7xx_release NULL
-#endif
 
 #define GSC_SCSI_ZALON_OFFSET 0x800