[SCSI] NCR_D700: misc fixes (section and argument ordering)
authorJames Bottomley <James.Bottomley@steeleye.com>
Wed, 12 Jul 2006 15:55:39 +0000 (11:55 -0400)
committerJames Bottomley <jejb@mulgrave.il.steeleye.com>
Wed, 12 Jul 2006 16:03:43 +0000 (12:03 -0400)
Apparently the D700 has had an argument ordering issue for quite a while
which can cause it to get the wrong scsi_id (I just got an unbootable
voyager system because of this).  Hopefully this patch also fixes up all
the sectional mismatches within the driver.

Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
drivers/scsi/NCR_D700.c

index a06f547e87f715c7211a0b0bab17f77d20e32e10..d05681f9d81a81e55385fb2e8b621ae1d8a0a7e1 100644 (file)
@@ -114,7 +114,7 @@ MODULE_DESCRIPTION("NCR Dual700 SCSI Driver");
 MODULE_LICENSE("GPL");
 module_param(NCR_D700, charp, 0);
 
-static __u8 __initdata id_array[2*(MCA_MAX_SLOT_NR + 1)] =
+static __u8 __devinitdata id_array[2*(MCA_MAX_SLOT_NR + 1)] =
        { [0 ... 2*(MCA_MAX_SLOT_NR + 1)-1] = 7 };
 
 #ifdef MODULE
@@ -173,7 +173,7 @@ struct NCR_D700_private {
        char                    pad;
 };
 
-static int 
+static int __devinit
 NCR_D700_probe_one(struct NCR_D700_private *p, int siop, int irq,
                   int slot, u32 region, int differential)
 {
@@ -243,7 +243,7 @@ NCR_D700_intr(int irq, void *data, struct pt_regs *regs)
  * essentially connectecd to the MCA bus independently, it is easier
  * to set them up as two separate host adapters, rather than one
  * adapter with two channels */
-static int
+static int __devinit
 NCR_D700_probe(struct device *dev)
 {
        struct NCR_D700_private *p;
@@ -329,7 +329,7 @@ NCR_D700_probe(struct device *dev)
        for (i = 0; i < 2; i++) {
                int err;
 
-               if ((err = NCR_D700_probe_one(p, i, slot, irq,
+               if ((err = NCR_D700_probe_one(p, i, irq, slot,
                                              offset_addr + (0x80 * i),
                                              differential)) != 0)
                        printk("D700: SIOP%d: probe failed, error = %d\n",
@@ -349,7 +349,7 @@ NCR_D700_probe(struct device *dev)
        return 0;
 }
 
-static void
+static void __devexit
 NCR_D700_remove_one(struct Scsi_Host *host)
 {
        scsi_remove_host(host);
@@ -359,7 +359,7 @@ NCR_D700_remove_one(struct Scsi_Host *host)
        release_region(host->base, 64);
 }
 
-static int
+static int __devexit
 NCR_D700_remove(struct device *dev)
 {
        struct NCR_D700_private *p = dev_get_drvdata(dev);
@@ -380,7 +380,7 @@ static struct mca_driver NCR_D700_driver = {
                .name           = "NCR_D700",
                .bus            = &mca_bus_type,
                .probe          = NCR_D700_probe,
-               .remove         = NCR_D700_remove,
+               .remove         = __devexit_p(NCR_D700_remove),
        },
 };