Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

+56 -66
+1 -1
arch/arm/mach-integrator/time.c
··· 125 125 xtime.tv_sec = __raw_readl(rtc_base + RTC_DR); 126 126 127 127 ret = request_irq(dev->irq[0], arm_rtc_interrupt, IRQF_DISABLED, 128 - "rtc-pl030", dev); 128 + "rtc-pl030", NULL); 129 129 if (ret) 130 130 goto map_out; 131 131
+2 -3
arch/blackfin/kernel/time.c
··· 39 39 /* This is an NTP setting */ 40 40 #define TICK_SIZE (tick_nsec / 1000) 41 41 42 - static void time_sched_init(irqreturn_t(*timer_routine) 43 - (int, void *)); 42 + static void time_sched_init(irq_handler_t timer_routine); 44 43 static unsigned long gettimeoffset(void); 45 44 46 45 static struct irqaction bfin_timer_irq = { ··· 63 64 #define TIME_SCALE 1 64 65 65 66 static void 66 - time_sched_init(irqreturn_t(*timer_routine) (int, void *)) 67 + time_sched_init(irq_handler_t timer_routine) 67 68 { 68 69 u32 tcount; 69 70
+1 -2
arch/ppc/8xx_io/fec.c
··· 199 199 #ifdef CONFIG_USE_MDIO 200 200 static void fec_enet_mii(struct net_device *dev); 201 201 #endif /* CONFIG_USE_MDIO */ 202 - static irqreturn_t fec_enet_interrupt(int irq, void * dev_id); 203 202 #ifdef CONFIG_FEC_PACKETHOOK 204 203 static void fec_enet_tx(struct net_device *dev, __u32 regval); 205 204 static void fec_enet_rx(struct net_device *dev, __u32 regval); ··· 471 472 * This is called from the MPC core interrupt. 472 473 */ 473 474 static irqreturn_t 474 - fec_enet_interrupt(int irq, void * dev_id) 475 + fec_enet_interrupt(int irq, void *dev_id) 475 476 { 476 477 struct net_device *dev = dev_id; 477 478 volatile fec_t *fecp;
+3 -1
arch/ppc/platforms/sbc82xx.c
··· 121 121 .end = sbc82xx_i8259_end_irq, 122 122 }; 123 123 124 - static irqreturn_t sbc82xx_i8259_demux(int irq, void *dev_id) 124 + static irqreturn_t sbc82xx_i8259_demux(int dummy, void *dev_id) 125 125 { 126 + int irq; 127 + 126 128 spin_lock(&sbc82xx_i8259_lock); 127 129 128 130 sbc82xx_i8259_map[0] = 0x0c; /* OCW3: Read IR register on RD# pulse */
+1 -1
arch/sparc/kernel/time.c
··· 105 105 106 106 #define TICK_SIZE (tick_nsec / 1000) 107 107 108 - irqreturn_t timer_interrupt(int irq, void *dev_id) 108 + static irqreturn_t timer_interrupt(int dummy, void *dev_id) 109 109 { 110 110 /* last time the cmos clock got updated */ 111 111 static long last_rtc_update;
+10 -4
drivers/char/mwave/tp3780i.c
··· 97 97 98 98 static irqreturn_t UartInterrupt(int irq, void *dev_id) 99 99 { 100 + int irqno = (int)(unsigned long) dev_id; 101 + 100 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 104 return IRQ_HANDLED; 103 105 } 104 106 105 107 static irqreturn_t DspInterrupt(int irq, void *dev_id) 106 108 { 109 + int irqno = (int)(unsigned long) dev_id; 110 + 107 111 pMWAVE_DEVICE_DATA pDrvData = &mwave_s_mdd; 108 112 DSP_3780I_CONFIG_SETTINGS *pSettings = &pDrvData->rBDData.rDspSettings; 109 113 unsigned short usDspBaseIO = pSettings->usDspBaseIO; 110 114 unsigned short usIPCSource = 0, usIsolationMask, usPCNum; 111 115 112 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 119 if (dsp3780I_GetIPCSource(usDspBaseIO, &usIPCSource) == 0) { 116 120 PRINTK_2(TRACE_TP3780I, ··· 365 361 pSettings->bPllBypass = TP_CFG_PllBypass; 366 362 pSettings->usChipletEnable = TP_CFG_ChipletEnable; 367 363 368 - if (request_irq(pSettings->usUartIrq, &UartInterrupt, 0, "mwave_uart", NULL)) { 364 + if (request_irq(pSettings->usUartIrq, &UartInterrupt, 0, "mwave_uart", 365 + (void *)(unsigned long) pSettings->usUartIrq)) { 369 366 PRINTK_ERROR(KERN_ERR_MWAVE "tp3780i::tp3780I_EnableDSP: Error: Could not get UART IRQ %x\n", pSettings->usUartIrq); 370 367 goto exit_cleanup; 371 368 } else { /* no conflict just release */ 372 369 free_irq(pSettings->usUartIrq, NULL); 373 370 } 374 371 375 - if (request_irq(pSettings->usDspIrq, &DspInterrupt, 0, "mwave_3780i", NULL)) { 372 + if (request_irq(pSettings->usDspIrq, &DspInterrupt, 0, "mwave_3780i", 373 + (void *)(unsigned long) pSettings->usDspIrq)) { 376 374 PRINTK_ERROR("tp3780i::tp3780I_EnableDSP: Error: Could not get 3780i IRQ %x\n", pSettings->usDspIrq); 377 375 goto exit_cleanup; 378 376 } else {
+4 -6
drivers/char/specialix.c
··· 443 443 spin_unlock_irqrestore(&bp->lock, flags); 444 444 if (irq) { 445 445 printk (KERN_INFO "Missed interrupt... Calling int from timer. \n"); 446 - sx_interrupt (((struct specialix_board *)data)->irq, 447 - (void*)data); 446 + sx_interrupt (-1, bp); 448 447 } 449 448 mod_timer(&missed_irq_timer, jiffies + sx_poll); 450 449 } ··· 861 862 862 863 863 864 /* The main interrupt processing routine */ 864 - static irqreturn_t sx_interrupt(int irq, void *dev_id) 865 + static irqreturn_t sx_interrupt(int dummy, void *dev_id) 865 866 { 866 867 unsigned char status; 867 868 unsigned char ack; 868 - struct specialix_board *bp; 869 + struct specialix_board *bp = dev_id; 869 870 unsigned long loop = 0; 870 871 int saved_reg; 871 872 unsigned long flags; 872 873 873 874 func_enter(); 874 875 875 - bp = dev_id; 876 876 spin_lock_irqsave(&bp->lock, flags); 877 877 878 878 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); 879 879 if (!(bp->flags & SX_BOARD_ACTIVE)) { 880 - dprintk (SX_DEBUG_IRQ, "sx: False interrupt. irq %d.\n", irq); 880 + dprintk (SX_DEBUG_IRQ, "sx: False interrupt. irq %d.\n", bp->irq); 881 881 spin_unlock_irqrestore(&bp->lock, flags); 882 882 func_exit(); 883 883 return IRQ_NONE;
+1 -1
drivers/char/stallion.c
··· 1645 1645 { 1646 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 1650 return IRQ_RETVAL((* brdp->isr)(brdp)); 1651 1651 }
+9 -12
drivers/char/synclink.c
··· 1695 1695 * 1696 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 1701 u16 UscVector; 1702 1702 u16 DmaVector; 1703 1703 1704 1704 if ( debug_level >= DEBUG_LEVEL_ISR ) 1705 - printk("%s(%d):mgsl_interrupt(%d)entry.\n", 1706 - __FILE__,__LINE__,irq); 1705 + printk(KERN_DEBUG "%s(%d):mgsl_interrupt(%d)entry.\n", 1706 + __FILE__, __LINE__, info->irq_level); 1707 1707 1708 - info = (struct mgsl_struct *)dev_id; 1709 - if (!info) 1710 - return IRQ_NONE; 1711 - 1712 1708 spin_lock(&info->irq_spinlock); 1713 1709 1714 1710 for(;;) { ··· 1728 1732 mgsl_isr_receive_dma(info); 1729 1733 1730 1734 if ( info->isr_overflow ) { 1731 - printk(KERN_ERR"%s(%d):%s isr overflow irq=%d\n", 1732 - __FILE__,__LINE__,info->device_name, irq); 1735 + printk(KERN_ERR "%s(%d):%s isr overflow irq=%d\n", 1736 + __FILE__, __LINE__, info->device_name, info->irq_level); 1733 1737 usc_DisableMasterIrqBit(info); 1734 1738 usc_DisableDmaInterrupts(info,DICR_MASTER); 1735 1739 break; ··· 1751 1755 spin_unlock(&info->irq_spinlock); 1752 1756 1753 1757 if ( debug_level >= DEBUG_LEVEL_ISR ) 1754 - printk("%s(%d):mgsl_interrupt(%d)exit.\n", 1755 - __FILE__,__LINE__,irq); 1758 + printk(KERN_DEBUG "%s(%d):mgsl_interrupt(%d)exit.\n", 1759 + __FILE__, __LINE__, info->irq_level); 1760 + 1756 1761 return IRQ_HANDLED; 1757 1762 } /* end of mgsl_interrupt() */ 1758 1763
+9 -13
drivers/char/synclinkmp.c
··· 2586 2586 * dev_id device ID supplied during interrupt registration 2587 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 2592 unsigned char status, status0, status1=0; 2593 2593 unsigned char dmastatus, dmastatus0, dmastatus1=0; 2594 2594 unsigned char timerstatus0, timerstatus1=0; ··· 2597 2597 unsigned short tmp; 2598 2598 2599 2599 if ( debug_level >= DEBUG_LEVEL_ISR ) 2600 - printk("%s(%d): synclinkmp_interrupt(%d)entry.\n", 2601 - __FILE__,__LINE__,irq); 2602 - 2603 - info = (SLMP_INFO *)dev_id; 2604 - if (!info) 2605 - return IRQ_NONE; 2600 + printk(KERN_DEBUG "%s(%d): synclinkmp_interrupt(%d)entry.\n", 2601 + __FILE__, __LINE__, info->irq_level); 2606 2602 2607 2603 spin_lock(&info->lock); 2608 2604 ··· 2611 2615 timerstatus0 = read_reg(info, ISR2); 2612 2616 2613 2617 if ( debug_level >= DEBUG_LEVEL_ISR ) 2614 - printk("%s(%d):%s status0=%02x, dmastatus0=%02x, timerstatus0=%02x\n", 2615 - __FILE__,__LINE__,info->device_name, 2616 - status0,dmastatus0,timerstatus0); 2618 + printk(KERN_DEBUG "%s(%d):%s status0=%02x, dmastatus0=%02x, timerstatus0=%02x\n", 2619 + __FILE__, __LINE__, info->device_name, 2620 + status0, dmastatus0, timerstatus0); 2617 2621 2618 2622 if (info->port_count == 4) { 2619 2623 /* get status for SCA1 (ports 2-3) */ ··· 2698 2702 spin_unlock(&info->lock); 2699 2703 2700 2704 if ( debug_level >= DEBUG_LEVEL_ISR ) 2701 - printk("%s(%d):synclinkmp_interrupt(%d)exit.\n", 2702 - __FILE__,__LINE__,irq); 2705 + printk(KERN_DEBUG "%s(%d):synclinkmp_interrupt(%d)exit.\n", 2706 + __FILE__, __LINE__, info->irq_level); 2703 2707 return IRQ_HANDLED; 2704 2708 } 2705 2709
+1 -1
drivers/char/tpm/tpm_tis.c
··· 399 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 404 struct tpm_chip *chip = dev_id; 405 405 u32 interrupt;
+2 -2
drivers/isdn/hisax/elsa.c
··· 299 299 val = serial_inp(cs, UART_IIR); 300 300 if (!(val & UART_IIR_NO_INT)) { 301 301 debugl1(cs,"IIR %02x", val); 302 - rs_interrupt_elsa(intno, cs); 302 + rs_interrupt_elsa(cs); 303 303 } 304 304 } 305 305 #endif ··· 379 379 val = serial_inp(cs, UART_IIR); 380 380 if (!(val & UART_IIR_NO_INT)) { 381 381 debugl1(cs,"IIR %02x", val); 382 - rs_interrupt_elsa(intno, cs); 382 + rs_interrupt_elsa(cs); 383 383 } 384 384 } 385 385 #endif
+2 -2
drivers/isdn/hisax/elsa_ser.c
··· 384 384 } 385 385 386 386 387 - static void rs_interrupt_elsa(int irq, struct IsdnCardState *cs) 387 + static void rs_interrupt_elsa(struct IsdnCardState *cs) 388 388 { 389 389 int status, iir, msr; 390 390 int pass_counter = 0; 391 391 392 392 #ifdef SERIAL_DEBUG_INTR 393 - printk("rs_interrupt_single(%d)...", irq); 393 + printk(KERN_DEBUG "rs_interrupt_single(%d)...", cs->irq); 394 394 #endif 395 395 396 396 do {
+1 -1
drivers/isdn/hisax/hisax.h
··· 925 925 int (*cardmsg) (struct IsdnCardState *, int, void *); 926 926 void (*setstack_d) (struct PStack *, struct IsdnCardState *); 927 927 void (*DC_Close) (struct IsdnCardState *); 928 - int (*irq_func) (int, void *); 928 + irq_handler_t irq_func; 929 929 int (*auxcmd) (struct IsdnCardState *, isdn_ctrl *); 930 930 struct Channel channel[2+MAX_WAITING_CALLS]; 931 931 struct BCState bcs[2+MAX_WAITING_CALLS];
+1 -1
include/asm-sparc/floppy.h
··· 280 280 281 281 /* Our low-level entry point in arch/sparc/kernel/entry.S */ 282 282 extern 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 285 285 static int sun_fd_request_irq(void) 286 286 {