diff options
Diffstat (limited to 'drivers/char')
-rw-r--r-- | drivers/char/mwave/tp3780i.c | 14 | ||||
-rw-r--r-- | drivers/char/pcmcia/synclink_cs.c | 10 | ||||
-rw-r--r-- | drivers/char/specialix.c | 10 | ||||
-rw-r--r-- | drivers/char/stallion.c | 2 | ||||
-rw-r--r-- | drivers/char/synclink.c | 21 | ||||
-rw-r--r-- | drivers/char/synclink_gt.c | 13 | ||||
-rw-r--r-- | drivers/char/synclinkmp.c | 22 | ||||
-rw-r--r-- | drivers/char/tpm/tpm_tis.c | 2 |
8 files changed, 42 insertions, 52 deletions
diff --git a/drivers/char/mwave/tp3780i.c b/drivers/char/mwave/tp3780i.c index f282976daaac..37fe80df0b91 100644 --- a/drivers/char/mwave/tp3780i.c +++ b/drivers/char/mwave/tp3780i.c | |||
@@ -97,20 +97,24 @@ static void EnableSRAM(THINKPAD_BD_DATA * pBDData) | |||
97 | 97 | ||
98 | static irqreturn_t UartInterrupt(int irq, void *dev_id) | 98 | static irqreturn_t UartInterrupt(int irq, void *dev_id) |
99 | { | 99 | { |
100 | int irqno = (int)(unsigned long) dev_id; | ||
101 | |||
100 | PRINTK_3(TRACE_TP3780I, | 102 | PRINTK_3(TRACE_TP3780I, |
101 | "tp3780i::UartInterrupt entry irq %x dev_id %p\n", irq, dev_id); | 103 | "tp3780i::UartInterrupt entry irq %x dev_id %p\n", irqno, dev_id); |
102 | return IRQ_HANDLED; | 104 | return IRQ_HANDLED; |
103 | } | 105 | } |
104 | 106 | ||
105 | static irqreturn_t DspInterrupt(int irq, void *dev_id) | 107 | static irqreturn_t DspInterrupt(int irq, void *dev_id) |
106 | { | 108 | { |
109 | int irqno = (int)(unsigned long) dev_id; | ||
110 | |||
107 | pMWAVE_DEVICE_DATA pDrvData = &mwave_s_mdd; | 111 | pMWAVE_DEVICE_DATA pDrvData = &mwave_s_mdd; |
108 | DSP_3780I_CONFIG_SETTINGS *pSettings = &pDrvData->rBDData.rDspSettings; | 112 | DSP_3780I_CONFIG_SETTINGS *pSettings = &pDrvData->rBDData.rDspSettings; |
109 | unsigned short usDspBaseIO = pSettings->usDspBaseIO; | 113 | unsigned short usDspBaseIO = pSettings->usDspBaseIO; |
110 | unsigned short usIPCSource = 0, usIsolationMask, usPCNum; | 114 | unsigned short usIPCSource = 0, usIsolationMask, usPCNum; |
111 | 115 | ||
112 | PRINTK_3(TRACE_TP3780I, | 116 | PRINTK_3(TRACE_TP3780I, |
113 | "tp3780i::DspInterrupt entry irq %x dev_id %p\n", irq, dev_id); | 117 | "tp3780i::DspInterrupt entry irq %x dev_id %p\n", irqno, dev_id); |
114 | 118 | ||
115 | if (dsp3780I_GetIPCSource(usDspBaseIO, &usIPCSource) == 0) { | 119 | if (dsp3780I_GetIPCSource(usDspBaseIO, &usIPCSource) == 0) { |
116 | PRINTK_2(TRACE_TP3780I, | 120 | PRINTK_2(TRACE_TP3780I, |
@@ -361,14 +365,16 @@ int tp3780I_EnableDSP(THINKPAD_BD_DATA * pBDData) | |||
361 | pSettings->bPllBypass = TP_CFG_PllBypass; | 365 | pSettings->bPllBypass = TP_CFG_PllBypass; |
362 | pSettings->usChipletEnable = TP_CFG_ChipletEnable; | 366 | pSettings->usChipletEnable = TP_CFG_ChipletEnable; |
363 | 367 | ||
364 | if (request_irq(pSettings->usUartIrq, &UartInterrupt, 0, "mwave_uart", NULL)) { | 368 | if (request_irq(pSettings->usUartIrq, &UartInterrupt, 0, "mwave_uart", |
369 | (void *)(unsigned long) pSettings->usUartIrq)) { | ||
365 | PRINTK_ERROR(KERN_ERR_MWAVE "tp3780i::tp3780I_EnableDSP: Error: Could not get UART IRQ %x\n", pSettings->usUartIrq); | 370 | PRINTK_ERROR(KERN_ERR_MWAVE "tp3780i::tp3780I_EnableDSP: Error: Could not get UART IRQ %x\n", pSettings->usUartIrq); |
366 | goto exit_cleanup; | 371 | goto exit_cleanup; |
367 | } else { /* no conflict just release */ | 372 | } else { /* no conflict just release */ |
368 | free_irq(pSettings->usUartIrq, NULL); | 373 | free_irq(pSettings->usUartIrq, NULL); |
369 | } | 374 | } |
370 | 375 | ||
371 | if (request_irq(pSettings->usDspIrq, &DspInterrupt, 0, "mwave_3780i", NULL)) { | 376 | if (request_irq(pSettings->usDspIrq, &DspInterrupt, 0, "mwave_3780i", |
377 | (void *)(unsigned long) pSettings->usDspIrq)) { | ||
372 | PRINTK_ERROR("tp3780i::tp3780I_EnableDSP: Error: Could not get 3780i IRQ %x\n", pSettings->usDspIrq); | 378 | PRINTK_ERROR("tp3780i::tp3780I_EnableDSP: Error: Could not get 3780i IRQ %x\n", pSettings->usDspIrq); |
373 | goto exit_cleanup; | 379 | goto exit_cleanup; |
374 | } else { | 380 | } else { |
diff --git a/drivers/char/pcmcia/synclink_cs.c b/drivers/char/pcmcia/synclink_cs.c index 279ff5005cec..4e84d233e5a2 100644 --- a/drivers/char/pcmcia/synclink_cs.c +++ b/drivers/char/pcmcia/synclink_cs.c | |||
@@ -1225,17 +1225,15 @@ static void ri_change(MGSLPC_INFO *info) | |||
1225 | * irq interrupt number that caused interrupt | 1225 | * irq interrupt number that caused interrupt |
1226 | * dev_id device ID supplied during interrupt registration | 1226 | * dev_id device ID supplied during interrupt registration |
1227 | */ | 1227 | */ |
1228 | static irqreturn_t mgslpc_isr(int irq, void *dev_id) | 1228 | static irqreturn_t mgslpc_isr(int dummy, void *dev_id) |
1229 | { | 1229 | { |
1230 | MGSLPC_INFO * info = (MGSLPC_INFO *)dev_id; | 1230 | MGSLPC_INFO *info = dev_id; |
1231 | unsigned short isr; | 1231 | unsigned short isr; |
1232 | unsigned char gis, pis; | 1232 | unsigned char gis, pis; |
1233 | int count=0; | 1233 | int count=0; |
1234 | 1234 | ||
1235 | if (debug_level >= DEBUG_LEVEL_ISR) | 1235 | if (debug_level >= DEBUG_LEVEL_ISR) |
1236 | printk("mgslpc_isr(%d) entry.\n", irq); | 1236 | printk("mgslpc_isr(%d) entry.\n", info->irq_level); |
1237 | if (!info) | ||
1238 | return IRQ_NONE; | ||
1239 | 1237 | ||
1240 | if (!(info->p_dev->_locked)) | 1238 | if (!(info->p_dev->_locked)) |
1241 | return IRQ_HANDLED; | 1239 | return IRQ_HANDLED; |
@@ -1327,7 +1325,7 @@ static irqreturn_t mgslpc_isr(int irq, void *dev_id) | |||
1327 | 1325 | ||
1328 | if (debug_level >= DEBUG_LEVEL_ISR) | 1326 | if (debug_level >= DEBUG_LEVEL_ISR) |
1329 | printk("%s(%d):mgslpc_isr(%d)exit.\n", | 1327 | printk("%s(%d):mgslpc_isr(%d)exit.\n", |
1330 | __FILE__,__LINE__,irq); | 1328 | __FILE__, __LINE__, info->irq_level); |
1331 | 1329 | ||
1332 | return IRQ_HANDLED; | 1330 | return IRQ_HANDLED; |
1333 | } | 1331 | } |
diff --git a/drivers/char/specialix.c b/drivers/char/specialix.c index 5ff83df67b44..4b5b5b78acb4 100644 --- a/drivers/char/specialix.c +++ b/drivers/char/specialix.c | |||
@@ -443,8 +443,7 @@ void missed_irq (unsigned long data) | |||
443 | spin_unlock_irqrestore(&bp->lock, flags); | 443 | spin_unlock_irqrestore(&bp->lock, flags); |
444 | if (irq) { | 444 | if (irq) { |
445 | printk (KERN_INFO "Missed interrupt... Calling int from timer. \n"); | 445 | printk (KERN_INFO "Missed interrupt... Calling int from timer. \n"); |
446 | sx_interrupt (((struct specialix_board *)data)->irq, | 446 | sx_interrupt (-1, bp); |
447 | (void*)data); | ||
448 | } | 447 | } |
449 | mod_timer(&missed_irq_timer, jiffies + sx_poll); | 448 | mod_timer(&missed_irq_timer, jiffies + sx_poll); |
450 | } | 449 | } |
@@ -862,23 +861,22 @@ static inline void sx_check_modem(struct specialix_board * bp) | |||
862 | 861 | ||
863 | 862 | ||
864 | /* The main interrupt processing routine */ | 863 | /* The main interrupt processing routine */ |
865 | static irqreturn_t sx_interrupt(int irq, void *dev_id) | 864 | static irqreturn_t sx_interrupt(int dummy, void *dev_id) |
866 | { | 865 | { |
867 | unsigned char status; | 866 | unsigned char status; |
868 | unsigned char ack; | 867 | unsigned char ack; |
869 | struct specialix_board *bp; | 868 | struct specialix_board *bp = dev_id; |
870 | unsigned long loop = 0; | 869 | unsigned long loop = 0; |
871 | int saved_reg; | 870 | int saved_reg; |
872 | unsigned long flags; | 871 | unsigned long flags; |
873 | 872 | ||
874 | func_enter(); | 873 | func_enter(); |
875 | 874 | ||
876 | bp = dev_id; | ||
877 | spin_lock_irqsave(&bp->lock, flags); | 875 | spin_lock_irqsave(&bp->lock, flags); |
878 | 876 | ||
879 | dprintk (SX_DEBUG_FLOW, "enter %s port %d room: %ld\n", __FUNCTION__, port_No(sx_get_port(bp, "INT")), SERIAL_XMIT_SIZE - sx_get_port(bp, "ITN")->xmit_cnt - 1); | 877 | dprintk (SX_DEBUG_FLOW, "enter %s port %d room: %ld\n", __FUNCTION__, port_No(sx_get_port(bp, "INT")), SERIAL_XMIT_SIZE - sx_get_port(bp, "ITN")->xmit_cnt - 1); |
880 | if (!(bp->flags & SX_BOARD_ACTIVE)) { | 878 | if (!(bp->flags & SX_BOARD_ACTIVE)) { |
881 | dprintk (SX_DEBUG_IRQ, "sx: False interrupt. irq %d.\n", irq); | 879 | dprintk (SX_DEBUG_IRQ, "sx: False interrupt. irq %d.\n", bp->irq); |
882 | spin_unlock_irqrestore(&bp->lock, flags); | 880 | spin_unlock_irqrestore(&bp->lock, flags); |
883 | func_exit(); | 881 | func_exit(); |
884 | return IRQ_NONE; | 882 | return IRQ_NONE; |
diff --git a/drivers/char/stallion.c b/drivers/char/stallion.c index feac54e32a12..874aaa08e956 100644 --- a/drivers/char/stallion.c +++ b/drivers/char/stallion.c | |||
@@ -1645,7 +1645,7 @@ static irqreturn_t stl_intr(int irq, void *dev_id) | |||
1645 | { | 1645 | { |
1646 | struct stlbrd *brdp = dev_id; | 1646 | struct stlbrd *brdp = dev_id; |
1647 | 1647 | ||
1648 | pr_debug("stl_intr(brdp=%p,irq=%d)\n", brdp, irq); | 1648 | pr_debug("stl_intr(brdp=%p,irq=%d)\n", brdp, brdp->irq); |
1649 | 1649 | ||
1650 | return IRQ_RETVAL((* brdp->isr)(brdp)); | 1650 | return IRQ_RETVAL((* brdp->isr)(brdp)); |
1651 | } | 1651 | } |
diff --git a/drivers/char/synclink.c b/drivers/char/synclink.c index ddc74d1f4f1b..a3237d48a584 100644 --- a/drivers/char/synclink.c +++ b/drivers/char/synclink.c | |||
@@ -1695,20 +1695,16 @@ static void mgsl_isr_transmit_dma( struct mgsl_struct *info ) | |||
1695 | * | 1695 | * |
1696 | * Return Value: None | 1696 | * Return Value: None |
1697 | */ | 1697 | */ |
1698 | static irqreturn_t mgsl_interrupt(int irq, void *dev_id) | 1698 | static irqreturn_t mgsl_interrupt(int dummy, void *dev_id) |
1699 | { | 1699 | { |
1700 | struct mgsl_struct * info; | 1700 | struct mgsl_struct *info = dev_id; |
1701 | u16 UscVector; | 1701 | u16 UscVector; |
1702 | u16 DmaVector; | 1702 | u16 DmaVector; |
1703 | 1703 | ||
1704 | if ( debug_level >= DEBUG_LEVEL_ISR ) | 1704 | if ( debug_level >= DEBUG_LEVEL_ISR ) |
1705 | printk("%s(%d):mgsl_interrupt(%d)entry.\n", | 1705 | printk(KERN_DEBUG "%s(%d):mgsl_interrupt(%d)entry.\n", |
1706 | __FILE__,__LINE__,irq); | 1706 | __FILE__, __LINE__, info->irq_level); |
1707 | 1707 | ||
1708 | info = (struct mgsl_struct *)dev_id; | ||
1709 | if (!info) | ||
1710 | return IRQ_NONE; | ||
1711 | |||
1712 | spin_lock(&info->irq_spinlock); | 1708 | spin_lock(&info->irq_spinlock); |
1713 | 1709 | ||
1714 | for(;;) { | 1710 | for(;;) { |
@@ -1732,8 +1728,8 @@ static irqreturn_t mgsl_interrupt(int irq, void *dev_id) | |||
1732 | mgsl_isr_receive_dma(info); | 1728 | mgsl_isr_receive_dma(info); |
1733 | 1729 | ||
1734 | if ( info->isr_overflow ) { | 1730 | if ( info->isr_overflow ) { |
1735 | printk(KERN_ERR"%s(%d):%s isr overflow irq=%d\n", | 1731 | printk(KERN_ERR "%s(%d):%s isr overflow irq=%d\n", |
1736 | __FILE__,__LINE__,info->device_name, irq); | 1732 | __FILE__, __LINE__, info->device_name, info->irq_level); |
1737 | usc_DisableMasterIrqBit(info); | 1733 | usc_DisableMasterIrqBit(info); |
1738 | usc_DisableDmaInterrupts(info,DICR_MASTER); | 1734 | usc_DisableDmaInterrupts(info,DICR_MASTER); |
1739 | break; | 1735 | break; |
@@ -1755,8 +1751,9 @@ static irqreturn_t mgsl_interrupt(int irq, void *dev_id) | |||
1755 | spin_unlock(&info->irq_spinlock); | 1751 | spin_unlock(&info->irq_spinlock); |
1756 | 1752 | ||
1757 | if ( debug_level >= DEBUG_LEVEL_ISR ) | 1753 | if ( debug_level >= DEBUG_LEVEL_ISR ) |
1758 | printk("%s(%d):mgsl_interrupt(%d)exit.\n", | 1754 | printk(KERN_DEBUG "%s(%d):mgsl_interrupt(%d)exit.\n", |
1759 | __FILE__,__LINE__,irq); | 1755 | __FILE__, __LINE__, info->irq_level); |
1756 | |||
1760 | return IRQ_HANDLED; | 1757 | return IRQ_HANDLED; |
1761 | } /* end of mgsl_interrupt() */ | 1758 | } /* end of mgsl_interrupt() */ |
1762 | 1759 | ||
diff --git a/drivers/char/synclink_gt.c b/drivers/char/synclink_gt.c index 1f954acf2bac..3c89266c8255 100644 --- a/drivers/char/synclink_gt.c +++ b/drivers/char/synclink_gt.c | |||
@@ -491,7 +491,6 @@ static void isr_serial(struct slgt_info *info); | |||
491 | static void isr_rdma(struct slgt_info *info); | 491 | static void isr_rdma(struct slgt_info *info); |
492 | static void isr_txeom(struct slgt_info *info, unsigned short status); | 492 | static void isr_txeom(struct slgt_info *info, unsigned short status); |
493 | static void isr_tdma(struct slgt_info *info); | 493 | static void isr_tdma(struct slgt_info *info); |
494 | static irqreturn_t slgt_interrupt(int irq, void *dev_id); | ||
495 | 494 | ||
496 | static int alloc_dma_bufs(struct slgt_info *info); | 495 | static int alloc_dma_bufs(struct slgt_info *info); |
497 | static void free_dma_bufs(struct slgt_info *info); | 496 | static void free_dma_bufs(struct slgt_info *info); |
@@ -2326,17 +2325,13 @@ static void isr_gpio(struct slgt_info *info, unsigned int changed, unsigned int | |||
2326 | * irq interrupt number | 2325 | * irq interrupt number |
2327 | * dev_id device ID supplied during interrupt registration | 2326 | * dev_id device ID supplied during interrupt registration |
2328 | */ | 2327 | */ |
2329 | static irqreturn_t slgt_interrupt(int irq, void *dev_id) | 2328 | static irqreturn_t slgt_interrupt(int dummy, void *dev_id) |
2330 | { | 2329 | { |
2331 | struct slgt_info *info; | 2330 | struct slgt_info *info = dev_id; |
2332 | unsigned int gsr; | 2331 | unsigned int gsr; |
2333 | unsigned int i; | 2332 | unsigned int i; |
2334 | 2333 | ||
2335 | DBGISR(("slgt_interrupt irq=%d entry\n", irq)); | 2334 | DBGISR(("slgt_interrupt irq=%d entry\n", info->irq_level)); |
2336 | |||
2337 | info = dev_id; | ||
2338 | if (!info) | ||
2339 | return IRQ_NONE; | ||
2340 | 2335 | ||
2341 | spin_lock(&info->lock); | 2336 | spin_lock(&info->lock); |
2342 | 2337 | ||
@@ -2385,7 +2380,7 @@ static irqreturn_t slgt_interrupt(int irq, void *dev_id) | |||
2385 | 2380 | ||
2386 | spin_unlock(&info->lock); | 2381 | spin_unlock(&info->lock); |
2387 | 2382 | ||
2388 | DBGISR(("slgt_interrupt irq=%d exit\n", irq)); | 2383 | DBGISR(("slgt_interrupt irq=%d exit\n", info->irq_level)); |
2389 | return IRQ_HANDLED; | 2384 | return IRQ_HANDLED; |
2390 | } | 2385 | } |
2391 | 2386 | ||
diff --git a/drivers/char/synclinkmp.c b/drivers/char/synclinkmp.c index f3e7807f78d9..c96062ea72b4 100644 --- a/drivers/char/synclinkmp.c +++ b/drivers/char/synclinkmp.c | |||
@@ -2586,9 +2586,9 @@ void isr_io_pin( SLMP_INFO *info, u16 status ) | |||
2586 | * dev_id device ID supplied during interrupt registration | 2586 | * dev_id device ID supplied during interrupt registration |
2587 | * regs interrupted processor context | 2587 | * regs interrupted processor context |
2588 | */ | 2588 | */ |
2589 | static irqreturn_t synclinkmp_interrupt(int irq, void *dev_id) | 2589 | static irqreturn_t synclinkmp_interrupt(int dummy, void *dev_id) |
2590 | { | 2590 | { |
2591 | SLMP_INFO * info; | 2591 | SLMP_INFO *info = dev_id; |
2592 | unsigned char status, status0, status1=0; | 2592 | unsigned char status, status0, status1=0; |
2593 | unsigned char dmastatus, dmastatus0, dmastatus1=0; | 2593 | unsigned char dmastatus, dmastatus0, dmastatus1=0; |
2594 | unsigned char timerstatus0, timerstatus1=0; | 2594 | unsigned char timerstatus0, timerstatus1=0; |
@@ -2597,12 +2597,8 @@ static irqreturn_t synclinkmp_interrupt(int irq, void *dev_id) | |||
2597 | unsigned short tmp; | 2597 | unsigned short tmp; |
2598 | 2598 | ||
2599 | if ( debug_level >= DEBUG_LEVEL_ISR ) | 2599 | if ( debug_level >= DEBUG_LEVEL_ISR ) |
2600 | printk("%s(%d): synclinkmp_interrupt(%d)entry.\n", | 2600 | printk(KERN_DEBUG "%s(%d): synclinkmp_interrupt(%d)entry.\n", |
2601 | __FILE__,__LINE__,irq); | 2601 | __FILE__, __LINE__, info->irq_level); |
2602 | |||
2603 | info = (SLMP_INFO *)dev_id; | ||
2604 | if (!info) | ||
2605 | return IRQ_NONE; | ||
2606 | 2602 | ||
2607 | spin_lock(&info->lock); | 2603 | spin_lock(&info->lock); |
2608 | 2604 | ||
@@ -2615,9 +2611,9 @@ static irqreturn_t synclinkmp_interrupt(int irq, void *dev_id) | |||
2615 | timerstatus0 = read_reg(info, ISR2); | 2611 | timerstatus0 = read_reg(info, ISR2); |
2616 | 2612 | ||
2617 | if ( debug_level >= DEBUG_LEVEL_ISR ) | 2613 | if ( debug_level >= DEBUG_LEVEL_ISR ) |
2618 | printk("%s(%d):%s status0=%02x, dmastatus0=%02x, timerstatus0=%02x\n", | 2614 | printk(KERN_DEBUG "%s(%d):%s status0=%02x, dmastatus0=%02x, timerstatus0=%02x\n", |
2619 | __FILE__,__LINE__,info->device_name, | 2615 | __FILE__, __LINE__, info->device_name, |
2620 | status0,dmastatus0,timerstatus0); | 2616 | status0, dmastatus0, timerstatus0); |
2621 | 2617 | ||
2622 | if (info->port_count == 4) { | 2618 | if (info->port_count == 4) { |
2623 | /* get status for SCA1 (ports 2-3) */ | 2619 | /* get status for SCA1 (ports 2-3) */ |
@@ -2702,8 +2698,8 @@ static irqreturn_t synclinkmp_interrupt(int irq, void *dev_id) | |||
2702 | spin_unlock(&info->lock); | 2698 | spin_unlock(&info->lock); |
2703 | 2699 | ||
2704 | if ( debug_level >= DEBUG_LEVEL_ISR ) | 2700 | if ( debug_level >= DEBUG_LEVEL_ISR ) |
2705 | printk("%s(%d):synclinkmp_interrupt(%d)exit.\n", | 2701 | printk(KERN_DEBUG "%s(%d):synclinkmp_interrupt(%d)exit.\n", |
2706 | __FILE__,__LINE__,irq); | 2702 | __FILE__, __LINE__, info->irq_level); |
2707 | return IRQ_HANDLED; | 2703 | return IRQ_HANDLED; |
2708 | } | 2704 | } |
2709 | 2705 | ||
diff --git a/drivers/char/tpm/tpm_tis.c b/drivers/char/tpm/tpm_tis.c index 81503d94fecc..13a4bdd4e4d6 100644 --- a/drivers/char/tpm/tpm_tis.c +++ b/drivers/char/tpm/tpm_tis.c | |||
@@ -399,7 +399,7 @@ static irqreturn_t tis_int_probe(int irq, void *dev_id) | |||
399 | return IRQ_HANDLED; | 399 | return IRQ_HANDLED; |
400 | } | 400 | } |
401 | 401 | ||
402 | static irqreturn_t tis_int_handler(int irq, void *dev_id) | 402 | static irqreturn_t tis_int_handler(int dummy, void *dev_id) |
403 | { | 403 | { |
404 | struct tpm_chip *chip = dev_id; | 404 | struct tpm_chip *chip = dev_id; |
405 | u32 interrupt; | 405 | u32 interrupt; |