aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2008-04-21 18:56:19 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2008-04-21 18:56:19 -0400
commit98a1e95f9b5919b55c71a01546415074282d30d5 (patch)
tree7e539231ae9cf64614b6b9b358804ff8fdf056be
parentabe834c8a5d7e55ee12c0c8c7a5308b2c5cba95d (diff)
parent896c6fa1e59dd17e1ac2877c25cab19bbb24e666 (diff)
Merge branch 'irq-cleanups-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6
* 'irq-cleanups-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/misc-2.6: [ISDN] minor irq handler cleanups drivers/char: minor irq handler cleanups [PPC] minor irq handler cleanups [BLACKFIN] minor irq handler cleanups [SPARC] minor irq handler cleanups ARM minor irq handler cleanup: avoid passing unused info to irq
-rw-r--r--arch/arm/mach-integrator/time.c2
-rw-r--r--arch/blackfin/kernel/time.c5
-rw-r--r--arch/ppc/8xx_io/fec.c3
-rw-r--r--arch/ppc/platforms/sbc82xx.c4
-rw-r--r--arch/sparc/kernel/time.c2
-rw-r--r--drivers/char/mwave/tp3780i.c14
-rw-r--r--drivers/char/pcmcia/synclink_cs.c10
-rw-r--r--drivers/char/specialix.c10
-rw-r--r--drivers/char/stallion.c2
-rw-r--r--drivers/char/synclink.c21
-rw-r--r--drivers/char/synclink_gt.c13
-rw-r--r--drivers/char/synclinkmp.c22
-rw-r--r--drivers/char/tpm/tpm_tis.c2
-rw-r--r--drivers/isdn/hisax/elsa.c4
-rw-r--r--drivers/isdn/hisax/elsa_ser.c4
-rw-r--r--drivers/isdn/hisax/hisax.h2
-rw-r--r--include/asm-sparc/floppy.h2
17 files changed, 56 insertions, 66 deletions
diff --git a/arch/arm/mach-integrator/time.c b/arch/arm/mach-integrator/time.c
index 5278f589fcee..5235f64f235b 100644
--- a/arch/arm/mach-integrator/time.c
+++ b/arch/arm/mach-integrator/time.c
@@ -125,7 +125,7 @@ static int rtc_probe(struct amba_device *dev, void *id)
125 xtime.tv_sec = __raw_readl(rtc_base + RTC_DR); 125 xtime.tv_sec = __raw_readl(rtc_base + RTC_DR);
126 126
127 ret = request_irq(dev->irq[0], arm_rtc_interrupt, IRQF_DISABLED, 127 ret = request_irq(dev->irq[0], arm_rtc_interrupt, IRQF_DISABLED,
128 "rtc-pl030", dev); 128 "rtc-pl030", NULL);
129 if (ret) 129 if (ret)
130 goto map_out; 130 goto map_out;
131 131
diff --git a/arch/blackfin/kernel/time.c b/arch/blackfin/kernel/time.c
index 9bdc8f99183a..715b3945e4c7 100644
--- a/arch/blackfin/kernel/time.c
+++ b/arch/blackfin/kernel/time.c
@@ -39,8 +39,7 @@
39/* This is an NTP setting */ 39/* This is an NTP setting */
40#define TICK_SIZE (tick_nsec / 1000) 40#define TICK_SIZE (tick_nsec / 1000)
41 41
42static void time_sched_init(irqreturn_t(*timer_routine) 42static void time_sched_init(irq_handler_t timer_routine);
43 (int, void *));
44static unsigned long gettimeoffset(void); 43static unsigned long gettimeoffset(void);
45 44
46static struct irqaction bfin_timer_irq = { 45static struct irqaction bfin_timer_irq = {
@@ -64,7 +63,7 @@ static struct irqaction bfin_timer_irq = {
64#define TIME_SCALE 1 63#define TIME_SCALE 1
65 64
66static void 65static void
67time_sched_init(irqreturn_t(*timer_routine) (int, void *)) 66time_sched_init(irq_handler_t timer_routine)
68{ 67{
69 u32 tcount; 68 u32 tcount;
70 69
diff --git a/arch/ppc/8xx_io/fec.c b/arch/ppc/8xx_io/fec.c
index 1d4b49ad0d7f..2c604d4f6e8b 100644
--- a/arch/ppc/8xx_io/fec.c
+++ b/arch/ppc/8xx_io/fec.c
@@ -199,7 +199,6 @@ static int fec_enet_start_xmit(struct sk_buff *skb, struct net_device *dev);
199#ifdef CONFIG_USE_MDIO 199#ifdef CONFIG_USE_MDIO
200static void fec_enet_mii(struct net_device *dev); 200static void fec_enet_mii(struct net_device *dev);
201#endif /* CONFIG_USE_MDIO */ 201#endif /* CONFIG_USE_MDIO */
202static irqreturn_t fec_enet_interrupt(int irq, void * dev_id);
203#ifdef CONFIG_FEC_PACKETHOOK 202#ifdef CONFIG_FEC_PACKETHOOK
204static void fec_enet_tx(struct net_device *dev, __u32 regval); 203static void fec_enet_tx(struct net_device *dev, __u32 regval);
205static void fec_enet_rx(struct net_device *dev, __u32 regval); 204static void fec_enet_rx(struct net_device *dev, __u32 regval);
@@ -472,7 +471,7 @@ fec_timeout(struct net_device *dev)
472 * This is called from the MPC core interrupt. 471 * This is called from the MPC core interrupt.
473 */ 472 */
474static irqreturn_t 473static irqreturn_t
475fec_enet_interrupt(int irq, void * dev_id) 474fec_enet_interrupt(int irq, void *dev_id)
476{ 475{
477 struct net_device *dev = dev_id; 476 struct net_device *dev = dev_id;
478 volatile fec_t *fecp; 477 volatile fec_t *fecp;
diff --git a/arch/ppc/platforms/sbc82xx.c b/arch/ppc/platforms/sbc82xx.c
index cc0935ccab7a..0df6aacb8237 100644
--- a/arch/ppc/platforms/sbc82xx.c
+++ b/arch/ppc/platforms/sbc82xx.c
@@ -121,8 +121,10 @@ struct hw_interrupt_type sbc82xx_i8259_ic = {
121 .end = sbc82xx_i8259_end_irq, 121 .end = sbc82xx_i8259_end_irq,
122}; 122};
123 123
124static irqreturn_t sbc82xx_i8259_demux(int irq, void *dev_id) 124static irqreturn_t sbc82xx_i8259_demux(int dummy, void *dev_id)
125{ 125{
126 int irq;
127
126 spin_lock(&sbc82xx_i8259_lock); 128 spin_lock(&sbc82xx_i8259_lock);
127 129
128 sbc82xx_i8259_map[0] = 0x0c; /* OCW3: Read IR register on RD# pulse */ 130 sbc82xx_i8259_map[0] = 0x0c; /* OCW3: Read IR register on RD# pulse */
diff --git a/arch/sparc/kernel/time.c b/arch/sparc/kernel/time.c
index cfaf22c05bc4..53caacbb3982 100644
--- a/arch/sparc/kernel/time.c
+++ b/arch/sparc/kernel/time.c
@@ -105,7 +105,7 @@ __volatile__ unsigned int *master_l10_limit;
105 105
106#define TICK_SIZE (tick_nsec / 1000) 106#define TICK_SIZE (tick_nsec / 1000)
107 107
108irqreturn_t timer_interrupt(int irq, void *dev_id) 108static irqreturn_t timer_interrupt(int dummy, void *dev_id)
109{ 109{
110 /* last time the cmos clock got updated */ 110 /* last time the cmos clock got updated */
111 static long last_rtc_update; 111 static long last_rtc_update;
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
98static irqreturn_t UartInterrupt(int irq, void *dev_id) 98static 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
105static irqreturn_t DspInterrupt(int irq, void *dev_id) 107static 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 */
1228static irqreturn_t mgslpc_isr(int irq, void *dev_id) 1228static 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 */
865static irqreturn_t sx_interrupt(int irq, void *dev_id) 864static 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 */
1698static irqreturn_t mgsl_interrupt(int irq, void *dev_id) 1698static 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);
491static void isr_rdma(struct slgt_info *info); 491static void isr_rdma(struct slgt_info *info);
492static void isr_txeom(struct slgt_info *info, unsigned short status); 492static void isr_txeom(struct slgt_info *info, unsigned short status);
493static void isr_tdma(struct slgt_info *info); 493static void isr_tdma(struct slgt_info *info);
494static irqreturn_t slgt_interrupt(int irq, void *dev_id);
495 494
496static int alloc_dma_bufs(struct slgt_info *info); 495static int alloc_dma_bufs(struct slgt_info *info);
497static void free_dma_bufs(struct slgt_info *info); 496static 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 */
2329static irqreturn_t slgt_interrupt(int irq, void *dev_id) 2328static 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 */
2589static irqreturn_t synclinkmp_interrupt(int irq, void *dev_id) 2589static 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
402static irqreturn_t tis_int_handler(int irq, void *dev_id) 402static 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;
diff --git a/drivers/isdn/hisax/elsa.c b/drivers/isdn/hisax/elsa.c
index d272d8ce6537..2c3691fda300 100644
--- a/drivers/isdn/hisax/elsa.c
+++ b/drivers/isdn/hisax/elsa.c
@@ -299,7 +299,7 @@ elsa_interrupt(int intno, void *dev_id)
299 val = serial_inp(cs, UART_IIR); 299 val = serial_inp(cs, UART_IIR);
300 if (!(val & UART_IIR_NO_INT)) { 300 if (!(val & UART_IIR_NO_INT)) {
301 debugl1(cs,"IIR %02x", val); 301 debugl1(cs,"IIR %02x", val);
302 rs_interrupt_elsa(intno, cs); 302 rs_interrupt_elsa(cs);
303 } 303 }
304 } 304 }
305#endif 305#endif
@@ -379,7 +379,7 @@ elsa_interrupt_ipac(int intno, void *dev_id)
379 val = serial_inp(cs, UART_IIR); 379 val = serial_inp(cs, UART_IIR);
380 if (!(val & UART_IIR_NO_INT)) { 380 if (!(val & UART_IIR_NO_INT)) {
381 debugl1(cs,"IIR %02x", val); 381 debugl1(cs,"IIR %02x", val);
382 rs_interrupt_elsa(intno, cs); 382 rs_interrupt_elsa(cs);
383 } 383 }
384 } 384 }
385#endif 385#endif
diff --git a/drivers/isdn/hisax/elsa_ser.c b/drivers/isdn/hisax/elsa_ser.c
index 1642dca988a1..f181db464392 100644
--- a/drivers/isdn/hisax/elsa_ser.c
+++ b/drivers/isdn/hisax/elsa_ser.c
@@ -384,13 +384,13 @@ static inline void transmit_chars(struct IsdnCardState *cs, int *intr_done)
384} 384}
385 385
386 386
387static void rs_interrupt_elsa(int irq, struct IsdnCardState *cs) 387static void rs_interrupt_elsa(struct IsdnCardState *cs)
388{ 388{
389 int status, iir, msr; 389 int status, iir, msr;
390 int pass_counter = 0; 390 int pass_counter = 0;
391 391
392#ifdef SERIAL_DEBUG_INTR 392#ifdef SERIAL_DEBUG_INTR
393 printk("rs_interrupt_single(%d)...", irq); 393 printk(KERN_DEBUG "rs_interrupt_single(%d)...", cs->irq);
394#endif 394#endif
395 395
396 do { 396 do {
diff --git a/drivers/isdn/hisax/hisax.h b/drivers/isdn/hisax/hisax.h
index 34733c903df7..e8d429fda846 100644
--- a/drivers/isdn/hisax/hisax.h
+++ b/drivers/isdn/hisax/hisax.h
@@ -925,7 +925,7 @@ struct IsdnCardState {
925 int (*cardmsg) (struct IsdnCardState *, int, void *); 925 int (*cardmsg) (struct IsdnCardState *, int, void *);
926 void (*setstack_d) (struct PStack *, struct IsdnCardState *); 926 void (*setstack_d) (struct PStack *, struct IsdnCardState *);
927 void (*DC_Close) (struct IsdnCardState *); 927 void (*DC_Close) (struct IsdnCardState *);
928 int (*irq_func) (int, void *); 928 irq_handler_t irq_func;
929 int (*auxcmd) (struct IsdnCardState *, isdn_ctrl *); 929 int (*auxcmd) (struct IsdnCardState *, isdn_ctrl *);
930 struct Channel channel[2+MAX_WAITING_CALLS]; 930 struct Channel channel[2+MAX_WAITING_CALLS];
931 struct BCState bcs[2+MAX_WAITING_CALLS]; 931 struct BCState bcs[2+MAX_WAITING_CALLS];
diff --git a/include/asm-sparc/floppy.h b/include/asm-sparc/floppy.h
index dbe7a586be5b..d3978e068e2b 100644
--- a/include/asm-sparc/floppy.h
+++ b/include/asm-sparc/floppy.h
@@ -280,7 +280,7 @@ static inline void sun_fd_enable_dma(void)
280 280
281/* Our low-level entry point in arch/sparc/kernel/entry.S */ 281/* Our low-level entry point in arch/sparc/kernel/entry.S */
282extern int sparc_floppy_request_irq(int irq, unsigned long flags, 282extern int sparc_floppy_request_irq(int irq, unsigned long flags,
283 irqreturn_t (*irq_handler)(int irq, void *)); 283 irq_handler_t irq_handler);
284 284
285static int sun_fd_request_irq(void) 285static int sun_fd_request_irq(void)
286{ 286{