[SCSI] NCR_D700: misc fixes (section and argument ordering)
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>
This commit is contained in:
parent
6ecaff7fe8
commit
3bb056eb1d
|
@ -114,7 +114,7 @@ MODULE_DESCRIPTION("NCR Dual700 SCSI Driver");
|
||||||
MODULE_LICENSE("GPL");
|
MODULE_LICENSE("GPL");
|
||||||
module_param(NCR_D700, charp, 0);
|
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 };
|
{ [0 ... 2*(MCA_MAX_SLOT_NR + 1)-1] = 7 };
|
||||||
|
|
||||||
#ifdef MODULE
|
#ifdef MODULE
|
||||||
|
@ -173,7 +173,7 @@ struct NCR_D700_private {
|
||||||
char pad;
|
char pad;
|
||||||
};
|
};
|
||||||
|
|
||||||
static int
|
static int __devinit
|
||||||
NCR_D700_probe_one(struct NCR_D700_private *p, int siop, int irq,
|
NCR_D700_probe_one(struct NCR_D700_private *p, int siop, int irq,
|
||||||
int slot, u32 region, int differential)
|
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
|
* essentially connectecd to the MCA bus independently, it is easier
|
||||||
* to set them up as two separate host adapters, rather than one
|
* to set them up as two separate host adapters, rather than one
|
||||||
* adapter with two channels */
|
* adapter with two channels */
|
||||||
static int
|
static int __devinit
|
||||||
NCR_D700_probe(struct device *dev)
|
NCR_D700_probe(struct device *dev)
|
||||||
{
|
{
|
||||||
struct NCR_D700_private *p;
|
struct NCR_D700_private *p;
|
||||||
|
@ -329,7 +329,7 @@ NCR_D700_probe(struct device *dev)
|
||||||
for (i = 0; i < 2; i++) {
|
for (i = 0; i < 2; i++) {
|
||||||
int err;
|
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),
|
offset_addr + (0x80 * i),
|
||||||
differential)) != 0)
|
differential)) != 0)
|
||||||
printk("D700: SIOP%d: probe failed, error = %d\n",
|
printk("D700: SIOP%d: probe failed, error = %d\n",
|
||||||
|
@ -349,7 +349,7 @@ NCR_D700_probe(struct device *dev)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void __devexit
|
||||||
NCR_D700_remove_one(struct Scsi_Host *host)
|
NCR_D700_remove_one(struct Scsi_Host *host)
|
||||||
{
|
{
|
||||||
scsi_remove_host(host);
|
scsi_remove_host(host);
|
||||||
|
@ -359,7 +359,7 @@ NCR_D700_remove_one(struct Scsi_Host *host)
|
||||||
release_region(host->base, 64);
|
release_region(host->base, 64);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int __devexit
|
||||||
NCR_D700_remove(struct device *dev)
|
NCR_D700_remove(struct device *dev)
|
||||||
{
|
{
|
||||||
struct NCR_D700_private *p = dev_get_drvdata(dev);
|
struct NCR_D700_private *p = dev_get_drvdata(dev);
|
||||||
|
@ -380,7 +380,7 @@ static struct mca_driver NCR_D700_driver = {
|
||||||
.name = "NCR_D700",
|
.name = "NCR_D700",
|
||||||
.bus = &mca_bus_type,
|
.bus = &mca_bus_type,
|
||||||
.probe = NCR_D700_probe,
|
.probe = NCR_D700_probe,
|
||||||
.remove = NCR_D700_remove,
|
.remove = __devexit_p(NCR_D700_remove),
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue