/*====================================================================*/
/* Parameters that can be set with 'insmod' */
-static unsigned int irq_mask = 0xffff;
-MODULE_PARM (irq_mask, "i");
-MODULE_PARM_DESC(irq_mask, "IRQ mask bits (default: 0xffff)");
-
-static int irq_list[4] = { -1 };
-MODULE_PARM (irq_list, "1-4i");
-MODULE_PARM_DESC(irq_list, "Use specified IRQ number. (default: auto select)");
-
static int nsp_burst_mode = BURST_MEM32;
-MODULE_PARM (nsp_burst_mode, "i");
+module_param(nsp_burst_mode, int, 0);
MODULE_PARM_DESC(nsp_burst_mode, "Burst transfer mode (0=io8, 1=io32, 2=mem32(default))");
/* Release IO ports after configuration? */
static int free_ports = 0;
-MODULE_PARM (free_ports, "i");
+module_param(free_ports, bool, 0);
MODULE_PARM_DESC(free_ports, "Release IO ports after configuration? (default: 0 (=no))");
/* /usr/src/linux/drivers/scsi/hosts.h */
nsp_msg(KERN_DEBUG, "CurrentSC!=NULL this can't be happen");
SCpnt->result = DID_BAD_TARGET << 16;
nsp_scsi_done(SCpnt);
- return SCSI_MLQUEUE_HOST_BUSY;
+ return 0;
}
#if 0
nsp_dbg(NSP_DEBUG_QUEUECOMMAND, "selection fail");
SCpnt->result = DID_BUS_BUSY << 16;
nsp_scsi_done(SCpnt);
- return SCSI_MLQUEUE_DEVICE_BUSY;
+ return 0;
}
scsi_info_t *info;
client_reg_t client_reg;
dev_link_t *link;
- int ret, i;
+ int ret;
nsp_hw_data *data = &nsp_data_base;
nsp_dbg(NSP_DEBUG_INIT, "in");
/* Interrupt setup */
link->irq.Attributes = IRQ_TYPE_EXCLUSIVE | IRQ_HANDLE_PRESENT;
- link->irq.IRQInfo1 = IRQ_INFO2_VALID | IRQ_LEVEL_ID;
- if (irq_list[0] == -1) {
- link->irq.IRQInfo2 = irq_mask;
- } else {
- for (i = 0; i < 4; i++) {
- link->irq.IRQInfo2 |= BIT(irq_list[i]);
- }
- }
+ link->irq.IRQInfo1 = IRQ_LEVEL_ID;
/* Interrupt handler */
link->irq.Handler = &nspintr;
link->next = dev_list;
dev_list = link;
client_reg.dev_info = &dev_info;
- client_reg.Attributes = INFO_IO_CLIENT | INFO_CARD_SHARE;
client_reg.EventMask =
CS_EVENT_CARD_INSERTION | CS_EVENT_CARD_REMOVAL |
CS_EVENT_RESET_PHYSICAL | CS_EVENT_CARD_RESET |
#if (LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,68))
pcmcia_unregister_driver(&nsp_driver);
+ BUG_ON(dev_list != NULL);
#else
unregister_pcmcia_driver(&dev_info);
-#endif
-
/* XXX: this really needs to move into generic code.. */
while (dev_list != NULL) {
if (dev_list->state & DEV_CONFIG) {
}
nsp_cs_detach(dev_list);
}
+#endif
}