X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=drivers%2Fscsi%2Fpcmcia%2Fsym53c500_cs.c;h=8457d0d7748a9bb15c1879cbba6d20dcd01ed7f7;hb=6a77f38946aaee1cd85eeec6cf4229b204c15071;hp=4277db3b6fee4eaca7787d607fd1f4e868ae9b77;hpb=87fc8d1bb10cd459024a742c6a10961fefcef18f;p=linux-2.6.git diff --git a/drivers/scsi/pcmcia/sym53c500_cs.c b/drivers/scsi/pcmcia/sym53c500_cs.c index 4277db3b6..8457d0d77 100644 --- a/drivers/scsi/pcmcia/sym53c500_cs.c +++ b/drivers/scsi/pcmcia/sym53c500_cs.c @@ -85,27 +85,13 @@ static int pc_debug = PCMCIA_DEBUG; module_param(pc_debug, int, 0); #define DEBUG(n, args...) if (pc_debug>(n)) printk(KERN_DEBUG args) static char *version = -"sym53c500_cs.c 0.9b 2004/05/10 (Bob Tracy)"; +"sym53c500_cs.c 0.9c 2004/10/27 (Bob Tracy)"; #else #define DEBUG(n, args...) #endif /* ================================================================== */ -/* Parameters that can be set with 'insmod' */ - -/* Bit map of interrupts to choose from */ -static unsigned int irq_mask = 0xdeb8; /* 3, 6, 7, 9-12, 14, 15 */ -static int irq_list[4] = { -1 }; -static int num_irqs = 1; - -module_param(irq_mask, int, 0); -MODULE_PARM_DESC(irq_mask, "IRQ mask bits (default: 0xdeb8)"); -module_param_array(irq_list, int, num_irqs, 0); -MODULE_PARM_DESC(irq_list, "Comma-separated list of up to 4 IRQs to try (default: auto select)."); - -/* ================================================================== */ - #define SYNC_MODE 0 /* Synchronous transfer mode */ /* Default configuration */ @@ -830,7 +816,7 @@ next_entry: data = (struct sym53c500_data *)host->hostdata; if (irq_level > 0) { - if (request_irq(irq_level, SYM53C500_intr, 0, "SYM53C500", host)) { + if (request_irq(irq_level, SYM53C500_intr, SA_SHIRQ, "SYM53C500", host)) { printk("SYM53C500: unable to allocate IRQ %d\n", irq_level); goto err_free_scsi; } @@ -966,7 +952,7 @@ SYM53C500_attach(void) struct scsi_info_t *info; client_reg_t client_reg; dev_link_t *link; - int i, ret; + int ret; DEBUG(0, "SYM53C500_attach()\n"); @@ -981,12 +967,7 @@ SYM53C500_attach(void) link->io.Attributes1 = IO_DATA_PATH_WIDTH_AUTO; link->io.IOAddrLines = 10; link->irq.Attributes = IRQ_TYPE_EXCLUSIVE; - 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 |= 1 << irq_list[i]; + link->irq.IRQInfo1 = IRQ_LEVEL_ID; link->conf.Attributes = CONF_ENABLE_IRQ; link->conf.Vcc = 50; link->conf.IntType = INT_MEMORY_AND_IO; @@ -996,7 +977,6 @@ SYM53C500_attach(void) link->next = dev_list; dev_list = link; client_reg.dev_info = &dev_info; - client_reg.Attributes = INFO_IO_CLIENT | INFO_CARD_SHARE; client_reg.event_handler = &SYM53C500_event; client_reg.EventMask = CS_EVENT_RESET_REQUEST | CS_EVENT_CARD_RESET | CS_EVENT_CARD_INSERTION | CS_EVENT_CARD_REMOVAL |