From: Yoann Padioleau Date: Fri, 6 Jul 2007 09:39:56 +0000 (-0700) Subject: potential compiler error, irqfunc caller sites update X-Git-Tag: v2.6.22~14 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=0da2f0f164f098bb4447c714b552ac1681b2d6e8;p=linux-2.6-block.git potential compiler error, irqfunc caller sites update In 7d12e780e003f93433d49ce78cfedf4b4c52adc5 David Howells performed this evolution: "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers" He correctly updated many of the function definitions that were using this extra regs pointer parameter but forgot to update some caller sites of those functions. The reason the modifications was not properly done on all drivers is that some drivers were rarely compiled because they are for AMIGA, or that some code sites were inside #ifdefs where the option is not set or inside #if 0. Here is the semantic patch that found the occurences and fixed the problem. @ rule1 @ identifier fn; identifier irq, dev_id; typedef irqreturn_t; @@ static irqreturn_t fn(int irq, void *dev_id) { ... } @@ identifier rule1.fn; expression E1, E2, E3; @@ fn(E1, E2 - ,E3 ) Signed-off-by: Yoann Padioleau Cc: "David S. Miller" Cc: Jeff Garzik Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- diff --git a/drivers/atm/firestream.c b/drivers/atm/firestream.c index 7f6d02ce1b5f..38b688f9f6a9 100644 --- a/drivers/atm/firestream.c +++ b/drivers/atm/firestream.c @@ -1654,7 +1654,7 @@ static void fs_poll (unsigned long data) { struct fs_dev *dev = (struct fs_dev *) data; - fs_irq (0, dev, NULL); + fs_irq (0, dev); dev->timer.expires = jiffies + FS_POLL_FREQ; add_timer (&dev->timer); } diff --git a/drivers/net/arm/am79c961a.c b/drivers/net/arm/am79c961a.c index 8f0d7ce503c9..2143eeb7a2b0 100644 --- a/drivers/net/arm/am79c961a.c +++ b/drivers/net/arm/am79c961a.c @@ -634,7 +634,7 @@ static void am79c961_poll_controller(struct net_device *dev) { unsigned long flags; local_irq_save(flags); - am79c961_interrupt(dev->irq, dev, NULL); + am79c961_interrupt(dev->irq, dev); local_irq_restore(flags); } #endif diff --git a/drivers/net/ixp2000/ixpdev.c b/drivers/net/ixp2000/ixpdev.c index 6683afc02aaa..d5f694fc4a21 100644 --- a/drivers/net/ixp2000/ixpdev.c +++ b/drivers/net/ixp2000/ixpdev.c @@ -222,7 +222,7 @@ static irqreturn_t ixpdev_interrupt(int irq, void *dev_id) static void ixpdev_poll_controller(struct net_device *dev) { disable_irq(IRQ_IXP2000_THDA0); - ixpdev_interrupt(IRQ_IXP2000_THDA0, dev, NULL); + ixpdev_interrupt(IRQ_IXP2000_THDA0, dev); enable_irq(IRQ_IXP2000_THDA0); } #endif diff --git a/drivers/net/sb1250-mac.c b/drivers/net/sb1250-mac.c index 132e2148b21c..e7fdcf15b5a7 100644 --- a/drivers/net/sb1250-mac.c +++ b/drivers/net/sb1250-mac.c @@ -1159,7 +1159,7 @@ static void sbmac_netpoll(struct net_device *netdev) __raw_writeq(0, sc->sbm_imr); - sbmac_intr(irq, netdev, NULL); + sbmac_intr(irq, netdev); #ifdef CONFIG_SBMAC_COALESCE __raw_writeq(((M_MAC_INT_EOP_COUNT | M_MAC_INT_EOP_TIMER) << S_MAC_TX_CH0) | diff --git a/drivers/usb/misc/uss720.c b/drivers/usb/misc/uss720.c index 70250252ae2a..1a60f9c473ad 100644 --- a/drivers/usb/misc/uss720.c +++ b/drivers/usb/misc/uss720.c @@ -336,7 +336,7 @@ static int uss720_irq(int usbstatus, void *buffer, int len, void *dev_id) memcpy(priv->reg, buffer, 4); /* if nAck interrupts are enabled and we have an interrupt, call the interrupt procedure */ if (priv->reg[2] & priv->reg[1] & 0x10) - parport_generic_irq(0, pp, NULL); + parport_generic_irq(0, pp); return 1; } #endif