public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Remove pointless casts from void pointers,
@ 2007-10-26  9:40 Jeff Garzik
  2007-10-26  9:40 ` [PATCH] Remove always-true tests in irq handlers Jeff Garzik
                   ` (12 more replies)
  0 siblings, 13 replies; 20+ messages in thread
From: Jeff Garzik @ 2007-10-26  9:40 UTC (permalink / raw)
  To: LKML
  Cc: akpm, rmk, kernel, tony.luck, jwboyer, benh, paulus,
	dmitry.torokhov, netdev, linux-scsi, linux-serial, linux-wireless,
	bryan.wu, adaplas

mostly in and around irq handlers.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
 arch/arm/mach-pxa/ssp.c                    |    2 +-
 arch/arm/mach-s3c2410/usb-simtec.c         |    2 +-
 arch/arm/plat-omap/mailbox.c               |    2 +-
 arch/ia64/sn/pci/pcibr/pcibr_provider.c    |    6 +++---
 arch/m68k/amiga/cia.c                      |    2 +-
 arch/ppc/8260_io/enet.c                    |    4 ++--
 arch/ppc/8260_io/fcc_enet.c                |    4 ++--
 arch/ppc/syslib/ppc85xx_rio.c              |    6 +++---
 drivers/input/touchscreen/h3600_ts_input.c |    4 ++--
 drivers/isdn/hardware/eicon/diva.c         |    5 ++---
 drivers/net/ibmlana.c                      |    4 ++--
 drivers/net/wireless/airo.c                |    5 +++--
 drivers/net/wireless/hostap/hostap_hw.c    |    2 +-
 drivers/net/wireless/libertas/if_cs.c      |    2 +-
 drivers/scsi/aic7xxx_old.c                 |    2 +-
 drivers/scsi/ibmvscsi/ibmvstgt.c           |    4 ++--
 drivers/serial/cpm_uart/cpm_uart_core.c    |    2 +-
 drivers/serial/dz.c                        |    2 +-
 drivers/serial/imx.c                       |    4 ++--
 drivers/serial/uartlite.c                  |    2 +-
 drivers/spi/spi_bfin5xx.c                  |    2 +-
 drivers/video/bf54x-lq043fb.c              |    3 +--
 drivers/video/intelfb/intelfbhw.c          |    2 +-
 sound/oss/waveartist.c                     |    2 +-
 24 files changed, 37 insertions(+), 38 deletions(-)

diff --git a/arch/arm/mach-pxa/ssp.c b/arch/arm/mach-pxa/ssp.c
index 71766ac..d042cc8 100644
--- a/arch/arm/mach-pxa/ssp.c
+++ b/arch/arm/mach-pxa/ssp.c
@@ -67,7 +67,7 @@ static int use_count[PXA_SSP_PORTS] = {0, 0, 0};
 
 static irqreturn_t ssp_interrupt(int irq, void *dev_id)
 {
-	struct ssp_dev *dev = (struct ssp_dev*) dev_id;
+	struct ssp_dev *dev = dev_id;
 	unsigned int status = SSSR_P(dev->port);
 
 	SSSR_P(dev->port) = status; /* clear status bits */
diff --git a/arch/arm/mach-s3c2410/usb-simtec.c b/arch/arm/mach-s3c2410/usb-simtec.c
index bcd562a..6aec86a 100644
--- a/arch/arm/mach-s3c2410/usb-simtec.c
+++ b/arch/arm/mach-s3c2410/usb-simtec.c
@@ -60,7 +60,7 @@ usb_simtec_powercontrol(int port, int to)
 static irqreturn_t
 usb_simtec_ocirq(int irq, void *pw)
 {
-	struct s3c2410_hcd_info *info = (struct s3c2410_hcd_info *)pw;
+	struct s3c2410_hcd_info *info = pw;
 
 	if (s3c2410_gpio_getpin(S3C2410_GPG10) == 0) {
 		pr_debug("usb_simtec: over-current irq (oc detected)\n");
diff --git a/arch/arm/plat-omap/mailbox.c b/arch/arm/plat-omap/mailbox.c
index 0360b1f..45a77df 100644
--- a/arch/arm/plat-omap/mailbox.c
+++ b/arch/arm/plat-omap/mailbox.c
@@ -212,7 +212,7 @@ static void __mbox_rx_interrupt(struct omap_mbox *mbox)
 
 static irqreturn_t mbox_interrupt(int irq, void *p)
 {
-	struct omap_mbox *mbox = (struct omap_mbox *)p;
+	struct omap_mbox *mbox = p;
 
 	if (is_mbox_irq(mbox, IRQ_TX))
 		__mbox_tx_interrupt(mbox);
diff --git a/arch/ia64/sn/pci/pcibr/pcibr_provider.c b/arch/ia64/sn/pci/pcibr/pcibr_provider.c
index ab3eaf8..2c676cc 100644
--- a/arch/ia64/sn/pci/pcibr/pcibr_provider.c
+++ b/arch/ia64/sn/pci/pcibr/pcibr_provider.c
@@ -100,11 +100,11 @@ u16 sn_ioboard_to_pci_bus(struct pci_bus *pci_bus)
 static irqreturn_t
 pcibr_error_intr_handler(int irq, void *arg)
 {
-	struct pcibus_info *soft = (struct pcibus_info *)arg;
+	struct pcibus_info *soft = arg;
 
-	if (sal_pcibr_error_interrupt(soft) < 0) {
+	if (sal_pcibr_error_interrupt(soft) < 0)
 		panic("pcibr_error_intr_handler(): Fatal Bridge Error");
-	}
+
 	return IRQ_HANDLED;
 }
 
diff --git a/arch/m68k/amiga/cia.c b/arch/m68k/amiga/cia.c
index c4a4ffd..343fab4 100644
--- a/arch/m68k/amiga/cia.c
+++ b/arch/m68k/amiga/cia.c
@@ -84,7 +84,7 @@ unsigned char cia_able_irq(struct ciabase *base, unsigned char mask)
 
 static irqreturn_t cia_handler(int irq, void *dev_id)
 {
-	struct ciabase *base = (struct ciabase *)dev_id;
+	struct ciabase *base = dev_id;
 	int mach_irq;
 	unsigned char ints;
 
diff --git a/arch/ppc/8260_io/enet.c b/arch/ppc/8260_io/enet.c
index 615b658..06bb5b7 100644
--- a/arch/ppc/8260_io/enet.c
+++ b/arch/ppc/8260_io/enet.c
@@ -272,7 +272,7 @@ scc_enet_timeout(struct net_device *dev)
  * This is called from the CPM handler, not the MPC core interrupt.
  */
 static irqreturn_t
-scc_enet_interrupt(int irq, void * dev_id)
+scc_enet_interrupt(int irq, void *dev_id)
 {
 	struct	net_device *dev = dev_id;
 	volatile struct	scc_enet_private *cep;
@@ -280,7 +280,7 @@ scc_enet_interrupt(int irq, void * dev_id)
 	ushort	int_events;
 	int	must_restart;
 
-	cep = (struct scc_enet_private *)dev->priv;
+	cep = dev->priv;
 
 	/* Get the interrupt events that caused us to be here.
 	*/
diff --git a/arch/ppc/8260_io/fcc_enet.c b/arch/ppc/8260_io/fcc_enet.c
index 6f3ed6a..a3a27da 100644
--- a/arch/ppc/8260_io/fcc_enet.c
+++ b/arch/ppc/8260_io/fcc_enet.c
@@ -524,7 +524,7 @@ fcc_enet_timeout(struct net_device *dev)
 
 /* The interrupt handler. */
 static irqreturn_t
-fcc_enet_interrupt(int irq, void * dev_id)
+fcc_enet_interrupt(int irq, void *dev_id)
 {
 	struct	net_device *dev = dev_id;
 	volatile struct	fcc_enet_private *cep;
@@ -532,7 +532,7 @@ fcc_enet_interrupt(int irq, void * dev_id)
 	ushort	int_events;
 	int	must_restart;
 
-	cep = (struct fcc_enet_private *)dev->priv;
+	cep = dev->priv;
 
 	/* Get the interrupt events that caused us to be here.
 	*/
diff --git a/arch/ppc/syslib/ppc85xx_rio.c b/arch/ppc/syslib/ppc85xx_rio.c
index af2425e..4db3110 100644
--- a/arch/ppc/syslib/ppc85xx_rio.c
+++ b/arch/ppc/syslib/ppc85xx_rio.c
@@ -355,7 +355,7 @@ static irqreturn_t
 mpc85xx_rio_tx_handler(int irq, void *dev_instance)
 {
 	int osr;
-	struct rio_mport *port = (struct rio_mport *)dev_instance;
+	struct rio_mport *port = dev_instance;
 
 	osr = in_be32((void *)&msg_regs->osr);
 
@@ -522,7 +522,7 @@ static irqreturn_t
 mpc85xx_rio_rx_handler(int irq, void *dev_instance)
 {
 	int isr;
-	struct rio_mport *port = (struct rio_mport *)dev_instance;
+	struct rio_mport *port = dev_instance;
 
 	isr = in_be32((void *)&msg_regs->isr);
 
@@ -740,7 +740,7 @@ static irqreturn_t
 mpc85xx_rio_dbell_handler(int irq, void *dev_instance)
 {
 	int dsr;
-	struct rio_mport *port = (struct rio_mport *)dev_instance;
+	struct rio_mport *port = dev_instance;
 
 	dsr = in_be32((void *)&msg_regs->dsr);
 
diff --git a/drivers/input/touchscreen/h3600_ts_input.c b/drivers/input/touchscreen/h3600_ts_input.c
index 2ae6c60..28ae15e 100644
--- a/drivers/input/touchscreen/h3600_ts_input.c
+++ b/drivers/input/touchscreen/h3600_ts_input.c
@@ -109,7 +109,7 @@ struct h3600_dev {
 static irqreturn_t action_button_handler(int irq, void *dev_id)
 {
 	int down = (GPLR & GPIO_BITSY_ACTION_BUTTON) ? 0 : 1;
-	struct input_dev *dev = (struct input_dev *) dev_id;
+	struct input_dev *dev = dev_id;
 
 	input_report_key(dev, KEY_ENTER, down);
 	input_sync(dev);
@@ -120,7 +120,7 @@ static irqreturn_t action_button_handler(int irq, void *dev_id)
 static irqreturn_t npower_button_handler(int irq, void *dev_id)
 {
 	int down = (GPLR & GPIO_BITSY_NPOWER_BUTTON) ? 0 : 1;
-	struct input_dev *dev = (struct input_dev *) dev_id;
+	struct input_dev *dev = dev_id;
 
 	/*
 	 * This interrupt is only called when we release the key. So we have
diff --git a/drivers/isdn/hardware/eicon/diva.c b/drivers/isdn/hardware/eicon/diva.c
index ffa2afa..1403a54 100644
--- a/drivers/isdn/hardware/eicon/diva.c
+++ b/drivers/isdn/hardware/eicon/diva.c
@@ -515,12 +515,11 @@ diva_xdi_read(void *adapter, void *os_handle, void __user *dst,
 
 irqreturn_t diva_os_irq_wrapper(int irq, void *context)
 {
-	diva_os_xdi_adapter_t *a = (diva_os_xdi_adapter_t *) context;
+	diva_os_xdi_adapter_t *a = context;
 	diva_xdi_clear_interrupts_proc_t clear_int_proc;
 
-	if (!a || !a->xdi_adapter.diva_isr_handler) {
+	if (!a || !a->xdi_adapter.diva_isr_handler)
 		return IRQ_NONE;
-	}
 
 	if ((clear_int_proc = a->clear_interrupts_proc)) {
 		(*clear_int_proc) (a);
diff --git a/drivers/net/ibmlana.c b/drivers/net/ibmlana.c
index 91d83ac..65626d6 100644
--- a/drivers/net/ibmlana.c
+++ b/drivers/net/ibmlana.c
@@ -704,9 +704,9 @@ static void irqtxerr_handler(struct net_device *dev)
 
 /* general interrupt entry */
 
-static irqreturn_t irq_handler(int irq, void *device)
+static irqreturn_t irq_handler(int dummy, void *device)
 {
-	struct net_device *dev = (struct net_device *) device;
+	struct net_device *dev = device;
 	u16 ival;
 
 	/* in case we're not meant... */
diff --git a/drivers/net/wireless/airo.c b/drivers/net/wireless/airo.c
index 074055e..d1febe8 100644
--- a/drivers/net/wireless/airo.c
+++ b/drivers/net/wireless/airo.c
@@ -3177,8 +3177,9 @@ static int airo_thread(void *data) {
 	return 0;
 }
 
-static irqreturn_t airo_interrupt ( int irq, void* dev_id) {
-	struct net_device *dev = (struct net_device *)dev_id;
+static irqreturn_t airo_interrupt(int irq, void *dev_id)
+{
+	struct net_device *dev = dev_id;
 	u16 status;
 	u16 fid;
 	struct airo_info *apriv = dev->priv;
diff --git a/drivers/net/wireless/hostap/hostap_hw.c b/drivers/net/wireless/hostap/hostap_hw.c
index c592641..286b46c 100644
--- a/drivers/net/wireless/hostap/hostap_hw.c
+++ b/drivers/net/wireless/hostap/hostap_hw.c
@@ -2624,7 +2624,7 @@ static void prism2_check_magic(local_info_t *local)
 /* Called only from hardware IRQ */
 static irqreturn_t prism2_interrupt(int irq, void *dev_id)
 {
-	struct net_device *dev = (struct net_device *) dev_id;
+	struct net_device *dev = dev_id;
 	struct hostap_interface *iface;
 	local_info_t *local;
 	int events = 0;
diff --git a/drivers/net/wireless/libertas/if_cs.c b/drivers/net/wireless/libertas/if_cs.c
index 0360cad..f9879d4 100644
--- a/drivers/net/wireless/libertas/if_cs.c
+++ b/drivers/net/wireless/libertas/if_cs.c
@@ -242,7 +242,7 @@ static inline void if_cs_disable_ints(struct if_cs_card *card)
 
 static irqreturn_t if_cs_interrupt(int irq, void *data)
 {
-	struct if_cs_card *card = (struct if_cs_card *)data;
+	struct if_cs_card *card = data;
 	u16 int_cause;
 
 	lbs_deb_enter(LBS_DEB_CS);
diff --git a/drivers/scsi/aic7xxx_old.c b/drivers/scsi/aic7xxx_old.c
index 8f8db5f..5e32cbc 100644
--- a/drivers/scsi/aic7xxx_old.c
+++ b/drivers/scsi/aic7xxx_old.c
@@ -6472,7 +6472,7 @@ do_aic7xxx_isr(int irq, void *dev_id)
   unsigned long cpu_flags;
   struct aic7xxx_host *p;
   
-  p = (struct aic7xxx_host *)dev_id;
+  p = dev_id;
   if(!p)
     return IRQ_NONE;
   spin_lock_irqsave(p->host->host_lock, cpu_flags);
diff --git a/drivers/scsi/ibmvscsi/ibmvstgt.c b/drivers/scsi/ibmvscsi/ibmvstgt.c
index 82bcab6..9070ae1 100644
--- a/drivers/scsi/ibmvscsi/ibmvstgt.c
+++ b/drivers/scsi/ibmvscsi/ibmvstgt.c
@@ -539,9 +539,9 @@ out:
 		srp_iu_put(iue);
 }
 
-static irqreturn_t ibmvstgt_interrupt(int irq, void *data)
+static irqreturn_t ibmvstgt_interrupt(int dummy, void *data)
 {
-	struct srp_target *target = (struct srp_target *) data;
+	struct srp_target *target = data;
 	struct vio_port *vport = target_to_port(target);
 
 	vio_disable_interrupts(vport->dma_dev);
diff --git a/drivers/serial/cpm_uart/cpm_uart_core.c b/drivers/serial/cpm_uart/cpm_uart_core.c
index b5e4478..236af9d 100644
--- a/drivers/serial/cpm_uart/cpm_uart_core.c
+++ b/drivers/serial/cpm_uart/cpm_uart_core.c
@@ -380,7 +380,7 @@ static void cpm_uart_int_rx(struct uart_port *port)
 static irqreturn_t cpm_uart_int(int irq, void *data)
 {
 	u8 events;
-	struct uart_port *port = (struct uart_port *)data;
+	struct uart_port *port = data;
 	struct uart_cpm_port *pinfo = (struct uart_cpm_port *)port;
 	smc_t __iomem *smcp = pinfo->smcp;
 	scc_t __iomem *sccp = pinfo->sccp;
diff --git a/drivers/serial/dz.c b/drivers/serial/dz.c
index d31721f..bbae5a2 100644
--- a/drivers/serial/dz.c
+++ b/drivers/serial/dz.c
@@ -324,7 +324,7 @@ static inline void check_modem_status(struct dz_port *dport)
  */
 static irqreturn_t dz_interrupt(int irq, void *dev)
 {
-	struct dz_port *dport = (struct dz_port *)dev;
+	struct dz_port *dport = dev;
 	unsigned short status;
 
 	/* get the reason why we just got an irq */
diff --git a/drivers/serial/imx.c b/drivers/serial/imx.c
index dc19671..56af1f5 100644
--- a/drivers/serial/imx.c
+++ b/drivers/serial/imx.c
@@ -308,7 +308,7 @@ static void imx_start_tx(struct uart_port *port)
 
 static irqreturn_t imx_rtsint(int irq, void *dev_id)
 {
-	struct imx_port *sport = (struct imx_port *)dev_id;
+	struct imx_port *sport = dev_id;
 	unsigned int val = readl(sport->port.membase + USR1) & USR1_RTSS;
 	unsigned long flags;
 
@@ -324,7 +324,7 @@ static irqreturn_t imx_rtsint(int irq, void *dev_id)
 
 static irqreturn_t imx_txint(int irq, void *dev_id)
 {
-	struct imx_port *sport = (struct imx_port *)dev_id;
+	struct imx_port *sport = dev_id;
 	struct circ_buf *xmit = &sport->port.info->xmit;
 	unsigned long flags;
 
diff --git a/drivers/serial/uartlite.c b/drivers/serial/uartlite.c
index dfef83f..3a970ed 100644
--- a/drivers/serial/uartlite.c
+++ b/drivers/serial/uartlite.c
@@ -142,7 +142,7 @@ static int ulite_transmit(struct uart_port *port, int stat)
 
 static irqreturn_t ulite_isr(int irq, void *dev_id)
 {
-	struct uart_port *port = (struct uart_port *)dev_id;
+	struct uart_port *port = dev_id;
 	int busy;
 
 	do {
diff --git a/drivers/spi/spi_bfin5xx.c b/drivers/spi/spi_bfin5xx.c
index 2ef11bb..06fd859 100644
--- a/drivers/spi/spi_bfin5xx.c
+++ b/drivers/spi/spi_bfin5xx.c
@@ -575,7 +575,7 @@ static void giveback(struct driver_data *drv_data)
 
 static irqreturn_t dma_irq_handler(int irq, void *dev_id)
 {
-	struct driver_data *drv_data = (struct driver_data *)dev_id;
+	struct driver_data *drv_data = dev_id;
 	struct spi_message *msg = drv_data->cur_msg;
 
 	dev_dbg(&drv_data->pdev->dev, "in dma_irq_handler\n");
diff --git a/drivers/video/bf54x-lq043fb.c b/drivers/video/bf54x-lq043fb.c
index 74d11c3..ac1402c 100644
--- a/drivers/video/bf54x-lq043fb.c
+++ b/drivers/video/bf54x-lq043fb.c
@@ -498,8 +498,7 @@ static struct lcd_device *lcd_dev;
 
 static irqreturn_t bfin_bf54x_irq_error(int irq, void *dev_id)
 {
-
-	/*struct bfin_bf54xfb_info *info = (struct bfin_bf54xfb_info *)dev_id;*/
+	/*struct bfin_bf54xfb_info *info = dev_id;*/
 
 	u16 status = bfin_read_EPPI0_STATUS();
 
diff --git a/drivers/video/intelfb/intelfbhw.c b/drivers/video/intelfb/intelfbhw.c
index 5f6fb7d..fa1fff5 100644
--- a/drivers/video/intelfb/intelfbhw.c
+++ b/drivers/video/intelfb/intelfbhw.c
@@ -1971,7 +1971,7 @@ void intelfbhw_cursor_reset(struct intelfb_info *dinfo)
 static irqreturn_t intelfbhw_irq(int irq, void *dev_id)
 {
 	u16 tmp;
-	struct intelfb_info *dinfo = (struct intelfb_info *)dev_id;
+	struct intelfb_info *dinfo = dev_id;
 
 	spin_lock(&dinfo->int_lock);
 
diff --git a/sound/oss/waveartist.c b/sound/oss/waveartist.c
index b48c729..8849041 100644
--- a/sound/oss/waveartist.c
+++ b/sound/oss/waveartist.c
@@ -835,7 +835,7 @@ static struct audio_driver waveartist_audio_driver = {
 static irqreturn_t
 waveartist_intr(int irq, void *dev_id)
 {
-	wavnc_info *devc = (wavnc_info *)dev_id;
+	wavnc_info *devc = dev_id;
 	int	   irqstatus, status;
 
 	spin_lock(&waveartist_lock);
-- 
1.5.2.4


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH] Remove always-true tests in irq handlers
  2007-10-26  9:40 [PATCH] Remove pointless casts from void pointers, Jeff Garzik
@ 2007-10-26  9:40 ` Jeff Garzik
  2007-10-26 12:02   ` Ralf Baechle
  2007-10-26  9:40 ` [PATCH] ARM: Misc minor interrupt handler cleanups Jeff Garzik
                   ` (11 subsequent siblings)
  12 siblings, 1 reply; 20+ messages in thread
From: Jeff Garzik @ 2007-10-26  9:40 UTC (permalink / raw)
  To: LKML; +Cc: akpm, tony.luck, linux-ia64, netdev, ralf

In these drivers, dev_id is always non-NULL.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
 arch/ia64/hp/sim/simeth.c                   |    5 -----
 arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c |    5 +----
 drivers/net/cpmac.c                         |    3 ---
 drivers/net/ucc_geth.c                      |    3 ---
 drivers/net/wan/farsync.c                   |   11 +++--------
 5 files changed, 4 insertions(+), 23 deletions(-)

diff --git a/arch/ia64/hp/sim/simeth.c b/arch/ia64/hp/sim/simeth.c
index 08b117e..9898feb 100644
--- a/arch/ia64/hp/sim/simeth.c
+++ b/arch/ia64/hp/sim/simeth.c
@@ -497,11 +497,6 @@ simeth_interrupt(int irq, void *dev_id)
 {
 	struct net_device *dev = dev_id;
 
-	if ( dev == NULL ) {
-		printk(KERN_WARNING "simeth: irq %d for unknown device\n", irq);
-		return IRQ_NONE;
-	}
-
 	/*
 	 * very simple loop because we get interrupts only when receiving
 	 */
diff --git a/arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c b/arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c
index ab96a2d..11769b5 100644
--- a/arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c
+++ b/arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c
@@ -126,9 +126,6 @@ static irqreturn_t hwbutton_handler(int irq, void *data)
 	struct hwbutton_interrupt *hirq = data;
 	unsigned long cic_ext = *CIC_EXT_CFG_REG;
 
-	if (irq != hirq->irq)
-		return IRQ_NONE;
-
 	if (CIC_EXT_IS_ACTIVE_HI(cic_ext, hirq->eirq)) {
 		/* Interrupt: pin is now HI */
 		CIC_EXT_SET_ACTIVE_LO(cic_ext, hirq->eirq);
@@ -164,7 +161,7 @@ static int msp_hwbutton_register(struct hwbutton_interrupt *hirq)
 	*CIC_EXT_CFG_REG = cic_ext;
 
 	return request_irq(hirq->irq, hwbutton_handler, IRQF_DISABLED,
-				hirq->name, (void *)hirq);
+			   hirq->name, hirq);
 }
 
 static int __init msp_hwbutton_setup(void)
diff --git a/drivers/net/cpmac.c b/drivers/net/cpmac.c
index 6fd95a2..91d1596 100644
--- a/drivers/net/cpmac.c
+++ b/drivers/net/cpmac.c
@@ -661,9 +661,6 @@ static irqreturn_t cpmac_irq(int irq, void *dev_id)
 	int queue;
 	u32 status;
 
-	if (!dev)
-		return IRQ_NONE;
-
 	priv = netdev_priv(dev);
 
 	status = cpmac_read(priv->regs, CPMAC_MAC_INT_VECTOR);
diff --git a/drivers/net/ucc_geth.c b/drivers/net/ucc_geth.c
index 9741d61..2243d34 100644
--- a/drivers/net/ucc_geth.c
+++ b/drivers/net/ucc_geth.c
@@ -3621,9 +3621,6 @@ static irqreturn_t ucc_geth_irq_handler(int irq, void *info)
 
 	ugeth_vdbg("%s: IN", __FUNCTION__);
 
-	if (!ugeth)
-		return IRQ_NONE;
-
 	uccf = ugeth->uccf;
 	ug_info = ugeth->ug_info;
 
diff --git a/drivers/net/wan/farsync.c b/drivers/net/wan/farsync.c
index 12dae8e..cf27bf4 100644
--- a/drivers/net/wan/farsync.c
+++ b/drivers/net/wan/farsync.c
@@ -1498,9 +1498,9 @@ do_bottom_half_rx(struct fst_card_info *card)
  *      Dev_id is our fst_card_info pointer
  */
 static irqreturn_t
-fst_intr(int irq, void *dev_id)
+fst_intr(int dummy, void *dev_id)
 {
-	struct fst_card_info *card;
+	struct fst_card_info *card = dev_id;
 	struct fst_port_info *port;
 	int rdidx;		/* Event buffer indices */
 	int wridx;
@@ -1509,17 +1509,12 @@ fst_intr(int irq, void *dev_id)
 	unsigned int do_card_interrupt;
 	unsigned int int_retry_count;
 
-	if ((card = dev_id) == NULL) {
-		dbg(DBG_INTR, "intr: spurious %d\n", irq);
-		return IRQ_NONE;
-	}
-
 	/*
 	 * Check to see if the interrupt was for this card
 	 * return if not
 	 * Note that the call to clear the interrupt is important
 	 */
-	dbg(DBG_INTR, "intr: %d %p\n", irq, card);
+	dbg(DBG_INTR, "intr: %d %p\n", card->irq, card);
 	if (card->state != FST_RUNNING) {
 		printk_err
 		    ("Interrupt received for card %d in a non running state (%d)\n",
-- 
1.5.2.4


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH] ARM: Misc minor interrupt handler cleanups
  2007-10-26  9:40 [PATCH] Remove pointless casts from void pointers, Jeff Garzik
  2007-10-26  9:40 ` [PATCH] Remove always-true tests in irq handlers Jeff Garzik
@ 2007-10-26  9:40 ` Jeff Garzik
  2007-10-26 21:56   ` Lennert Buytenhek
  2007-10-26  9:40 ` [PATCH] IA64, PPC, SPARC: minor irq " Jeff Garzik
                   ` (10 subsequent siblings)
  12 siblings, 1 reply; 20+ messages in thread
From: Jeff Garzik @ 2007-10-26  9:40 UTC (permalink / raw)
  To: LKML; +Cc: akpm, rmk, kernel

mach-integrator/pci_v3.c: no need to reference 'irq' arg, its constant

mach-omap1/pm.c: remove extra whitespace

arch/arm/mach-sa1100/ssp.c: remove braces around single C stmt

arch/arm/plat-omap/mcbsp.c:
	- remove pointless casts from void*
	- make longer lines more readable

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
 arch/arm/mach-integrator/pci_v3.c |    8 +++++---
 arch/arm/mach-omap1/pm.c          |    2 +-
 arch/arm/mach-sa1100/ssp.c        |    3 +--
 arch/arm/plat-omap/mcbsp.c        |   20 ++++++++++++--------
 4 files changed, 19 insertions(+), 14 deletions(-)

diff --git a/arch/arm/mach-integrator/pci_v3.c b/arch/arm/mach-integrator/pci_v3.c
index d4d8134..d55fa4e 100644
--- a/arch/arm/mach-integrator/pci_v3.c
+++ b/arch/arm/mach-integrator/pci_v3.c
@@ -440,7 +440,7 @@ v3_pci_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
 	return 1;
 }
 
-static irqreturn_t v3_irq(int irq, void *devid)
+static irqreturn_t v3_irq(int dummy, void *devid)
 {
 #ifdef CONFIG_DEBUG_LL
 	struct pt_regs *regs = get_irq_regs();
@@ -448,8 +448,10 @@ static irqreturn_t v3_irq(int irq, void *devid)
 	unsigned long instr = *(unsigned long *)pc;
 	char buf[128];
 
-	sprintf(buf, "V3 int %d: pc=0x%08lx [%08lx] LBFADDR=%08x LBFCODE=%02x ISTAT=%02x\n", irq,
-		pc, instr, __raw_readl(SC_LBFADDR), __raw_readl(SC_LBFCODE) & 255,
+	sprintf(buf, "V3 int %d: pc=0x%08lx [%08lx] LBFADDR=%08x LBFCODE=%02x "
+		"ISTAT=%02x\n", IRQ_AP_V3INT, pc, instr,
+		__raw_readl(SC_LBFADDR),
+		__raw_readl(SC_LBFCODE) & 255,
 		v3_readb(V3_LB_ISTAT));
 	printascii(buf);
 #endif
diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c
index 3bf01e2..94c299b 100644
--- a/arch/arm/mach-omap1/pm.c
+++ b/arch/arm/mach-omap1/pm.c
@@ -646,7 +646,7 @@ static void omap_pm_finish(void)
 }
 
 
-static irqreturn_t  omap_wakeup_interrupt(int irq, void *dev)
+static irqreturn_t omap_wakeup_interrupt(int irq, void *dev)
 {
 	return IRQ_HANDLED;
 }
diff --git a/arch/arm/mach-sa1100/ssp.c b/arch/arm/mach-sa1100/ssp.c
index 59703c6..06206ce 100644
--- a/arch/arm/mach-sa1100/ssp.c
+++ b/arch/arm/mach-sa1100/ssp.c
@@ -29,9 +29,8 @@ static irqreturn_t ssp_interrupt(int irq, void *dev_id)
 {
 	unsigned int status = Ser4SSSR;
 
-	if (status & SSSR_ROR) {
+	if (status & SSSR_ROR)
 		printk(KERN_WARNING "SSP: receiver overrun\n");
-	}
 
 	Ser4SSSR = SSSR_ROR;
 
diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
index f7b9ccd..2af5bd5 100644
--- a/arch/arm/plat-omap/mcbsp.c
+++ b/arch/arm/plat-omap/mcbsp.c
@@ -98,9 +98,10 @@ static void omap_mcbsp_dump_reg(u8 id)
 
 static irqreturn_t omap_mcbsp_tx_irq_handler(int irq, void *dev_id)
 {
-	struct omap_mcbsp * mcbsp_tx = (struct omap_mcbsp *)(dev_id);
+	struct omap_mcbsp *mcbsp_tx = dev_id;
 
-	DBG("TX IRQ callback : 0x%x\n", OMAP_MCBSP_READ(mcbsp_tx->io_base, SPCR2));
+	DBG("TX IRQ callback : 0x%x\n",
+	    OMAP_MCBSP_READ(mcbsp_tx->io_base, SPCR2));
 
 	complete(&mcbsp_tx->tx_irq_completion);
 	return IRQ_HANDLED;
@@ -108,9 +109,10 @@ static irqreturn_t omap_mcbsp_tx_irq_handler(int irq, void *dev_id)
 
 static irqreturn_t omap_mcbsp_rx_irq_handler(int irq, void *dev_id)
 {
-	struct omap_mcbsp * mcbsp_rx = (struct omap_mcbsp *)(dev_id);
+	struct omap_mcbsp *mcbsp_rx = dev_id;
 
-	DBG("RX IRQ callback : 0x%x\n", OMAP_MCBSP_READ(mcbsp_rx->io_base, SPCR2));
+	DBG("RX IRQ callback : 0x%x\n",
+	    OMAP_MCBSP_READ(mcbsp_rx->io_base, SPCR2));
 
 	complete(&mcbsp_rx->rx_irq_completion);
 	return IRQ_HANDLED;
@@ -118,9 +120,10 @@ static irqreturn_t omap_mcbsp_rx_irq_handler(int irq, void *dev_id)
 
 static void omap_mcbsp_tx_dma_callback(int lch, u16 ch_status, void *data)
 {
-	struct omap_mcbsp * mcbsp_dma_tx = (struct omap_mcbsp *)(data);
+	struct omap_mcbsp *mcbsp_dma_tx = data;
 
-	DBG("TX DMA callback : 0x%x\n", OMAP_MCBSP_READ(mcbsp_dma_tx->io_base, SPCR2));
+	DBG("TX DMA callback : 0x%x\n",
+	    OMAP_MCBSP_READ(mcbsp_dma_tx->io_base, SPCR2));
 
 	/* We can free the channels */
 	omap_free_dma(mcbsp_dma_tx->dma_tx_lch);
@@ -131,9 +134,10 @@ static void omap_mcbsp_tx_dma_callback(int lch, u16 ch_status, void *data)
 
 static void omap_mcbsp_rx_dma_callback(int lch, u16 ch_status, void *data)
 {
-	struct omap_mcbsp * mcbsp_dma_rx = (struct omap_mcbsp *)(data);
+	struct omap_mcbsp *mcbsp_dma_rx = data;
 
-	DBG("RX DMA callback : 0x%x\n", OMAP_MCBSP_READ(mcbsp_dma_rx->io_base, SPCR2));
+	DBG("RX DMA callback : 0x%x\n",
+	    OMAP_MCBSP_READ(mcbsp_dma_rx->io_base, SPCR2));
 
 	/* We can free the channels */
 	omap_free_dma(mcbsp_dma_rx->dma_rx_lch);
-- 
1.5.2.4


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH] IA64, PPC, SPARC: minor irq handler cleanups
  2007-10-26  9:40 [PATCH] Remove pointless casts from void pointers, Jeff Garzik
  2007-10-26  9:40 ` [PATCH] Remove always-true tests in irq handlers Jeff Garzik
  2007-10-26  9:40 ` [PATCH] ARM: Misc minor interrupt handler cleanups Jeff Garzik
@ 2007-10-26  9:40 ` Jeff Garzik
  2007-10-26  9:44   ` Kumar Gala
  2007-10-26  9:40 ` [PATCH] media/video/planb: fix obvious interrupt handling bugs Jeff Garzik
                   ` (9 subsequent siblings)
  12 siblings, 1 reply; 20+ messages in thread
From: Jeff Garzik @ 2007-10-26  9:40 UTC (permalink / raw)
  To: LKML; +Cc: akpm, davem, tony.luck, linux-ia64, paulus, benh, galak

ia64/sn/kernel/huberror.c:
	- remove pointless void* cast
	- add KERN_xxx prefix

ia64/sn/pci/tioce_provider.c: start functions at column zero

ppc/8xx_io/fec.c: kill prototype, remove extra whitespace

ppc/platforms/85xx/*
	'irq' argument in irq handler is used purely as a temporary
	variable.  Update the function to reflect this usage, changing
	the first arg's name from 'irq' to 'dummy'

ppc/platforms/sbc82xx.c: ditto

sparc/kernel/time.c: mark timer_interrupt() static (from DaveM)

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
 arch/ia64/sn/kernel/huberror.c               |    4 ++--
 arch/ia64/sn/pci/tioce_provider.c            |    6 ++++--
 arch/ppc/8xx_io/fec.c                        |    3 +--
 arch/ppc/platforms/85xx/mpc8560_ads.c        |    4 +++-
 arch/ppc/platforms/85xx/mpc85xx_cds_common.c |    4 +++-
 arch/ppc/platforms/85xx/stx_gp3.c            |    4 +++-
 arch/ppc/platforms/85xx/tqm85xx.c            |    4 +++-
 arch/ppc/platforms/sbc82xx.c                 |    4 +++-
 arch/sparc/kernel/time.c                     |    2 +-
 9 files changed, 23 insertions(+), 12 deletions(-)

diff --git a/arch/ia64/sn/kernel/huberror.c b/arch/ia64/sn/kernel/huberror.c
index b663168..fc217c3 100644
--- a/arch/ia64/sn/kernel/huberror.c
+++ b/arch/ia64/sn/kernel/huberror.c
@@ -187,8 +187,8 @@ void hub_error_init(struct hubdev_info *hubdev_info)
 {
 
 	if (request_irq(SGI_II_ERROR, hub_eint_handler, IRQF_SHARED,
-			"SN_hub_error", (void *)hubdev_info)) {
-		printk("hub_error_init: Failed to request_irq for 0x%p\n",
+			"SN_hub_error", hubdev_info)) {
+		printk(KERN_ERR "hub_error_init: Failed to request_irq for 0x%p\n",
 		    hubdev_info);
 		return;
 	}
diff --git a/arch/ia64/sn/pci/tioce_provider.c b/arch/ia64/sn/pci/tioce_provider.c
index cee9379..714d6df 100644
--- a/arch/ia64/sn/pci/tioce_provider.c
+++ b/arch/ia64/sn/pci/tioce_provider.c
@@ -655,7 +655,8 @@ tioce_dma(struct pci_dev *pdev, u64 paddr, size_t byte_count, int dma_flags)
  *
  * Simply call tioce_do_dma_map() to create a map with the barrier bit set
  * in the address.
- */ static u64
+ */
+static u64
 tioce_dma_consistent(struct pci_dev *pdev, u64 paddr, size_t byte_count, int dma_flags)
 {
 	return tioce_do_dma_map(pdev, paddr, byte_count, 1, dma_flags);
@@ -668,7 +669,8 @@ tioce_dma_consistent(struct pci_dev *pdev, u64 paddr, size_t byte_count, int dma
  *
  * Handle a CE error interrupt.  Simply a wrapper around a SAL call which
  * defers processing to the SGI prom.
- */ static irqreturn_t
+ */
+static irqreturn_t
 tioce_error_intr_handler(int irq, void *arg)
 {
 	struct tioce_common *soft = arg;
diff --git a/arch/ppc/8xx_io/fec.c b/arch/ppc/8xx_io/fec.c
index 0288279..b31897d 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);
 #ifdef	CONFIG_USE_MDIO
 static void fec_enet_mii(struct net_device *dev);
 #endif	/* CONFIG_USE_MDIO */
-static irqreturn_t fec_enet_interrupt(int irq, void * dev_id);
 #ifdef CONFIG_FEC_PACKETHOOK
 static void  fec_enet_tx(struct net_device *dev, __u32 regval);
 static void  fec_enet_rx(struct net_device *dev, __u32 regval);
@@ -472,7 +471,7 @@ fec_timeout(struct net_device *dev)
  * This is called from the MPC core interrupt.
  */
 static	irqreturn_t
-fec_enet_interrupt(int irq, void * dev_id)
+fec_enet_interrupt(int irq, void *dev_id)
 {
 	struct	net_device *dev = dev_id;
 	volatile fec_t	*fecp;
diff --git a/arch/ppc/platforms/85xx/mpc8560_ads.c b/arch/ppc/platforms/85xx/mpc8560_ads.c
index 3a06046..9426293 100644
--- a/arch/ppc/platforms/85xx/mpc8560_ads.c
+++ b/arch/ppc/platforms/85xx/mpc8560_ads.c
@@ -211,8 +211,10 @@ mpc8560ads_setup_arch(void)
 #endif
 }
 
-static irqreturn_t cpm2_cascade(int irq, void *dev_id)
+static irqreturn_t cpm2_cascade(int dummy, void *dev_id)
 {
+	int irq;
+
 	while ((irq = cpm2_get_irq()) >= 0)
 		__do_IRQ(irq);
 	return IRQ_HANDLED;
diff --git a/arch/ppc/platforms/85xx/mpc85xx_cds_common.c b/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
index 2d59eb7..791fef0 100644
--- a/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
+++ b/arch/ppc/platforms/85xx/mpc85xx_cds_common.c
@@ -127,8 +127,10 @@ mpc85xx_cds_show_cpuinfo(struct seq_file *m)
 }
 
 #ifdef CONFIG_CPM2
-static irqreturn_t cpm2_cascade(int irq, void *dev_id)
+static irqreturn_t cpm2_cascade(int dummy, void *dev_id)
 {
+	int irq;
+
 	while((irq = cpm2_get_irq()) >= 0)
 		__do_IRQ(irq);
 	return IRQ_HANDLED;
diff --git a/arch/ppc/platforms/85xx/stx_gp3.c b/arch/ppc/platforms/85xx/stx_gp3.c
index b1f5b73..7444f85 100644
--- a/arch/ppc/platforms/85xx/stx_gp3.c
+++ b/arch/ppc/platforms/85xx/stx_gp3.c
@@ -156,8 +156,10 @@ gp3_setup_arch(void)
 	printk ("bi_immr_base = %8.8lx\n", binfo->bi_immr_base);
 }
 
-static irqreturn_t cpm2_cascade(int irq, void *dev_id)
+static irqreturn_t cpm2_cascade(int dummy, void *dev_id)
 {
+	int irq;
+
 	while ((irq = cpm2_get_irq()) >= 0)
 		__do_IRQ(irq);
 
diff --git a/arch/ppc/platforms/85xx/tqm85xx.c b/arch/ppc/platforms/85xx/tqm85xx.c
index 4ee2bd1..61e3429 100644
--- a/arch/ppc/platforms/85xx/tqm85xx.c
+++ b/arch/ppc/platforms/85xx/tqm85xx.c
@@ -181,8 +181,10 @@ tqm85xx_setup_arch(void)
 }
 
 #ifdef CONFIG_MPC8560
-static irqreturn_t cpm2_cascade(int irq, void *dev_id)
+static irqreturn_t cpm2_cascade(int dummy, void *dev_id)
 {
+	int irq;
+
 	while ((irq = cpm2_get_irq()) >= 0)
 		__do_IRQ(irq);
 	return IRQ_HANDLED;
diff --git a/arch/ppc/platforms/sbc82xx.c b/arch/ppc/platforms/sbc82xx.c
index cc0935c..0df6aac 100644
--- a/arch/ppc/platforms/sbc82xx.c
+++ b/arch/ppc/platforms/sbc82xx.c
@@ -121,8 +121,10 @@ struct hw_interrupt_type sbc82xx_i8259_ic = {
 	.end = sbc82xx_i8259_end_irq,
 };
 
-static irqreturn_t sbc82xx_i8259_demux(int irq, void *dev_id)
+static irqreturn_t sbc82xx_i8259_demux(int dummy, void *dev_id)
 {
+	int irq;
+
 	spin_lock(&sbc82xx_i8259_lock);
 
 	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 4bf78a5..2f4e61d 100644
--- a/arch/sparc/kernel/time.c
+++ b/arch/sparc/kernel/time.c
@@ -106,7 +106,7 @@ __volatile__ unsigned int *master_l10_limit;
 
 #define TICK_SIZE (tick_nsec / 1000)
 
-irqreturn_t timer_interrupt(int irq, void *dev_id)
+static irqreturn_t timer_interrupt(int dummy, void *dev_id)
 {
 	/* last time the cmos clock got updated */
 	static long last_rtc_update;
-- 
1.5.2.4


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH] media/video/planb: fix obvious interrupt handling bugs
  2007-10-26  9:40 [PATCH] Remove pointless casts from void pointers, Jeff Garzik
                   ` (2 preceding siblings ...)
  2007-10-26  9:40 ` [PATCH] IA64, PPC, SPARC: minor irq " Jeff Garzik
@ 2007-10-26  9:40 ` Jeff Garzik
  2007-10-26  9:40 ` [PATCH] drivers/net/irda/au1k_ir: fix obvious irq handler bugs Jeff Garzik
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 20+ messages in thread
From: Jeff Garzik @ 2007-10-26  9:40 UTC (permalink / raw)
  To: LKML; +Cc: akpm, mchehab

irq handlers have returned a return value for years now... catch up with
the times.

Also, ditch unneeded prototype.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
 drivers/media/video/planb.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/media/video/planb.c b/drivers/media/video/planb.c
index ce4b2f9..36047d4 100644
--- a/drivers/media/video/planb.c
+++ b/drivers/media/video/planb.c
@@ -91,7 +91,6 @@ static void planb_close(struct video_device *);
 static int planb_ioctl(struct video_device *, unsigned int, void *);
 static int planb_init_done(struct video_device *);
 static int planb_mmap(struct video_device *, const char *, unsigned long);
-static void planb_irq(int, void *);
 static void release_planb(void);
 int init_planbs(struct video_init *);
 
@@ -1315,7 +1314,7 @@ cmd_tab_data_end:
 	return c1;
 }
 
-static void planb_irq(int irq, void *dev_id)
+static irqreturn_t planb_irq(int irq, void *dev_id)
 {
 	unsigned int stat, astat;
 	struct planb *pb = (struct planb *)dev_id;
@@ -1358,13 +1357,14 @@ static void planb_irq(int irq, void *dev_id)
 		pb->frame_stat[fr] = GBUFFER_DONE;
 		pb->grabbing--;
 		wake_up_interruptible(&pb->capq);
-		return;
+		return IRQ_HANDLED;
 	}
 	/* incorrect interrupts? */
 	pb->intr_mask = PLANB_CLR_IRQ;
 	out_le32(&pb->planb_base->intr_stat, PLANB_CLR_IRQ);
 	printk(KERN_ERR "PlanB: IRQ lockup, cleared intrrupts"
 							" unconditionally\n");
+	return IRQ_HANDLED;
 }
 
 /*******************************
@@ -2090,7 +2090,7 @@ static int init_planb(struct planb *pb)
 	/* clear interrupt mask */
 	pb->intr_mask = PLANB_CLR_IRQ;
 
-	result = request_irq(pb->irq, planb_irq, 0, "PlanB", (void *)pb);
+	result = request_irq(pb->irq, planb_irq, 0, "PlanB", pb);
 	if (result < 0) {
 		if (result==-EINVAL)
 			printk(KERN_ERR "PlanB: Bad irq number (%d) "
-- 
1.5.2.4


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH] drivers/net/irda/au1k_ir: fix obvious irq handler bugs
  2007-10-26  9:40 [PATCH] Remove pointless casts from void pointers, Jeff Garzik
                   ` (3 preceding siblings ...)
  2007-10-26  9:40 ` [PATCH] media/video/planb: fix obvious interrupt handling bugs Jeff Garzik
@ 2007-10-26  9:40 ` Jeff Garzik
  2007-10-26  9:40 ` [PATCH] SCSI/gdth: kill unneeded 'irq' argument Jeff Garzik
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 20+ messages in thread
From: Jeff Garzik @ 2007-10-26  9:40 UTC (permalink / raw)
  To: LKML; +Cc: akpm, samuel, netdev

interrupt handlers return a return value these days.

Also, kill always-true test and unneeded void* cast.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
 drivers/net/irda/au1k_ir.c |   11 ++++-------
 1 files changed, 4 insertions(+), 7 deletions(-)

diff --git a/drivers/net/irda/au1k_ir.c b/drivers/net/irda/au1k_ir.c
index 4dbdfaa..a1e4508 100644
--- a/drivers/net/irda/au1k_ir.c
+++ b/drivers/net/irda/au1k_ir.c
@@ -627,19 +627,16 @@ static int au1k_irda_rx(struct net_device *dev)
 }
 
 
-void au1k_irda_interrupt(int irq, void *dev_id)
+static irqreturn_t au1k_irda_interrupt(int dummy, void *dev_id)
 {
-	struct net_device *dev = (struct net_device *) dev_id;
-
-	if (dev == NULL) {
-		printk(KERN_ERR "%s: isr: null dev ptr\n", dev->name);
-		return;
-	}
+	struct net_device *dev = dev_id;
 
 	writel(0, IR_INT_CLEAR); /* ack irda interrupts */
 
 	au1k_irda_rx(dev);
 	au1k_tx_ack(dev);
+
+	return IRQ_HANDLED;
 }
 
 
-- 
1.5.2.4


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH] SCSI/gdth: kill unneeded 'irq' argument
  2007-10-26  9:40 [PATCH] Remove pointless casts from void pointers, Jeff Garzik
                   ` (4 preceding siblings ...)
  2007-10-26  9:40 ` [PATCH] drivers/net/irda/au1k_ir: fix obvious irq handler bugs Jeff Garzik
@ 2007-10-26  9:40 ` Jeff Garzik
  2007-10-29  9:22   ` Boaz Harrosh
  2007-10-26  9:40 ` [PATCH] SCSI/sym53c416: kill pointless irq handler loop and test Jeff Garzik
                   ` (6 subsequent siblings)
  12 siblings, 1 reply; 20+ messages in thread
From: Jeff Garzik @ 2007-10-26  9:40 UTC (permalink / raw)
  To: LKML; +Cc: akpm, linux-scsi

Neither gdth_get_status() nor __gdth_interrupt() need their 'irq'
argument, so remove it.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
 drivers/scsi/gdth.c |   21 +++++++++------------
 1 files changed, 9 insertions(+), 12 deletions(-)

diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
index b253b8c..65c21b1 100644
--- a/drivers/scsi/gdth.c
+++ b/drivers/scsi/gdth.c
@@ -141,7 +141,7 @@
 static void gdth_delay(int milliseconds);
 static void gdth_eval_mapping(ulong32 size, ulong32 *cyls, int *heads, int *secs);
 static irqreturn_t gdth_interrupt(int irq, void *dev_id);
-static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, int irq,
+static irqreturn_t __gdth_interrupt(gdth_ha_str *ha,
                                     int gdth_from_wait, int* pIndex);
 static int gdth_sync_event(gdth_ha_str *ha, int service, unchar index,
                                                                Scsi_Cmnd *scp);
@@ -165,7 +165,6 @@ static int gdth_internal_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp);
 static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, ushort hdrive);
 
 static void gdth_enable_int(gdth_ha_str *ha);
-static unchar gdth_get_status(gdth_ha_str *ha, int irq);
 static int gdth_test_busy(gdth_ha_str *ha);
 static int gdth_get_cmd_index(gdth_ha_str *ha);
 static void gdth_release_event(gdth_ha_str *ha);
@@ -1334,14 +1333,12 @@ static void __init gdth_enable_int(gdth_ha_str *ha)
 }
 
 /* return IStatus if interrupt was from this card else 0 */
-static unchar gdth_get_status(gdth_ha_str *ha, int irq)
+static unchar gdth_get_status(gdth_ha_str *ha)
 {
     unchar IStatus = 0;
 
-    TRACE(("gdth_get_status() irq %d ctr_count %d\n", irq, gdth_ctr_count));
+    TRACE(("gdth_get_status() irq %d ctr_count %d\n", ha->irq, gdth_ctr_count));
 
-        if (ha->irq != (unchar)irq)             /* check IRQ */
-            return false;
         if (ha->type == GDT_EISA)
             IStatus = inb((ushort)ha->bmic + EDOORREG);
         else if (ha->type == GDT_ISA)
@@ -1523,7 +1520,7 @@ static int gdth_wait(gdth_ha_str *ha, int index, ulong32 time)
         return 1;                               /* no wait required */
 
     do {
-        __gdth_interrupt(ha, (int)ha->irq, true, &wait_index);
+        __gdth_interrupt(ha, true, &wait_index);
         if (wait_index == index) {
             answer_found = TRUE;
             break;
@@ -3036,7 +3033,7 @@ static void gdth_clear_events(void)
 
 /* SCSI interface functions */
 
-static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, int irq,
+static irqreturn_t __gdth_interrupt(gdth_ha_str *ha,
                                     int gdth_from_wait, int* pIndex)
 {
     gdt6m_dpram_str __iomem *dp6m_ptr = NULL;
@@ -3054,7 +3051,7 @@ static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, int irq,
     int act_int_coal = 0;       
 #endif
 
-    TRACE(("gdth_interrupt() IRQ %d\n",irq));
+    TRACE(("gdth_interrupt() IRQ %d\n", ha->irq));
 
     /* if polling and not from gdth_wait() -> return */
     if (gdth_polling) {
@@ -3067,7 +3064,7 @@ static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, int irq,
         spin_lock_irqsave(&ha->smp_lock, flags);
 
     /* search controller */
-    if (0 == (IStatus = gdth_get_status(ha, irq))) {
+    if (0 == (IStatus = gdth_get_status(ha))) {
         /* spurious interrupt */
         if (!gdth_polling)
             spin_unlock_irqrestore(&ha->smp_lock, flags);
@@ -3294,9 +3291,9 @@ static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, int irq,
 
 static irqreturn_t gdth_interrupt(int irq, void *dev_id)
 {
-	gdth_ha_str *ha = (gdth_ha_str *)dev_id;
+	gdth_ha_str *ha = dev_id;
 
-	return __gdth_interrupt(ha, irq, false, NULL);
+	return __gdth_interrupt(ha, false, NULL);
 }
 
 static int gdth_sync_event(gdth_ha_str *ha, int service, unchar index,
-- 
1.5.2.4


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH] SCSI/sym53c416: kill pointless irq handler loop and test
  2007-10-26  9:40 [PATCH] Remove pointless casts from void pointers, Jeff Garzik
                   ` (5 preceding siblings ...)
  2007-10-26  9:40 ` [PATCH] SCSI/gdth: kill unneeded 'irq' argument Jeff Garzik
@ 2007-10-26  9:40 ` Jeff Garzik
  2007-10-26  9:40 ` [PATCH] NETDRVR, USB: declance, lp486e, s3c2410_udc: minor irq handler cleanups Jeff Garzik
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 20+ messages in thread
From: Jeff Garzik @ 2007-10-26  9:40 UTC (permalink / raw)
  To: LKML; +Cc: akpm, linux-scsi

- kill pointless irq handler loop to find base address, it is already
  passed to irq handler via Scsi_Host.

- kill now-pointless !base test.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
 drivers/scsi/sym53c416.c |   16 +---------------
 1 files changed, 1 insertions(+), 15 deletions(-)

diff --git a/drivers/scsi/sym53c416.c b/drivers/scsi/sym53c416.c
index 90cee94..1f6fd16 100644
--- a/drivers/scsi/sym53c416.c
+++ b/drivers/scsi/sym53c416.c
@@ -328,27 +328,13 @@ static __inline__ unsigned int sym53c416_write(int base, unsigned char *buffer,
 static irqreturn_t sym53c416_intr_handle(int irq, void *dev_id)
 {
 	struct Scsi_Host *dev = dev_id;
-	int base = 0;
+	int base = dev->io_port;
 	int i;
 	unsigned long flags = 0;
 	unsigned char status_reg, pio_int_reg, int_reg;
 	struct scatterlist *sg;
 	unsigned int tot_trans = 0;
 
-	/* We search the base address of the host adapter which caused the interrupt */
-	/* FIXME: should pass dev_id sensibly as hosts[i] */
-	for(i = 0; i < host_index && !base; i++)
-		if(irq == hosts[i].irq)
-			base = hosts[i].base;
-	/* If no adapter found, we cannot handle the interrupt. Leave a message */
-	/* and continue. This should never happen...                            */
-	if(!base)
-	{
-		printk(KERN_ERR "sym53c416: No host adapter defined for interrupt %d\n", irq);
-		return IRQ_NONE;
-	}
-	/* Now we have the base address and we can start handling the interrupt */
-
 	spin_lock_irqsave(dev->host_lock,flags);
 	status_reg = inb(base + STATUS_REG);
 	pio_int_reg = inb(base + PIO_INT_REG);
-- 
1.5.2.4


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [PATCH] NETDRVR, USB: declance, lp486e, s3c2410_udc: minor irq handler cleanups
  2007-10-26  9:40 [PATCH] Remove pointless casts from void pointers, Jeff Garzik
                   ` (6 preceding siblings ...)
  2007-10-26  9:40 ` [PATCH] SCSI/sym53c416: kill pointless irq handler loop and test Jeff Garzik
@ 2007-10-26  9:40 ` Jeff Garzik
  2007-10-26 12:24 ` [PATCH] Remove pointless casts from void pointers, John W. Linville
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 20+ messages in thread
From: Jeff Garzik @ 2007-10-26  9:40 UTC (permalink / raw)
  To: LKML; +Cc: akpm, netdev, dbrownell

declance:
	- irq handlers do not take 'const int' as first arg
	- add KERN_ prefix

lp486e:
	- neaten irq handler top of function formatting
	- remove pointless void* casts

s3c2410_udc:
	- 'irq' argument is merely used in place of a constant;
	  replace its usage with that constant.

Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
---
 drivers/net/declance.c           |    6 +++---
 drivers/net/lp486e.c             |    9 ++++-----
 drivers/usb/gadget/s3c2410_udc.c |    4 ++--
 3 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/drivers/net/declance.c b/drivers/net/declance.c
index 00e0194..6b1e77c 100644
--- a/drivers/net/declance.c
+++ b/drivers/net/declance.c
@@ -719,15 +719,15 @@ out:
 	spin_unlock(&lp->lock);
 }
 
-static irqreturn_t lance_dma_merr_int(const int irq, void *dev_id)
+static irqreturn_t lance_dma_merr_int(int irq, void *dev_id)
 {
 	struct net_device *dev = dev_id;
 
-	printk("%s: DMA error\n", dev->name);
+	printk(KERN_ERR "%s: DMA error\n", dev->name);
 	return IRQ_HANDLED;
 }
 
-static irqreturn_t lance_interrupt(const int irq, void *dev_id)
+static irqreturn_t lance_interrupt(int irq, void *dev_id)
 {
 	struct net_device *dev = dev_id;
 	struct lance_private *lp = netdev_priv(dev);
diff --git a/drivers/net/lp486e.c b/drivers/net/lp486e.c
index c5095ec..0eff1a0 100644
--- a/drivers/net/lp486e.c
+++ b/drivers/net/lp486e.c
@@ -1144,14 +1144,13 @@ i596_handle_CU_completion(struct net_device *dev,
 }
 
 static irqreturn_t
-i596_interrupt (int irq, void *dev_instance) {
-	struct net_device *dev = (struct net_device *) dev_instance;
-	struct i596_private *lp;
+i596_interrupt (int irq, void *dev_instance)
+{
+	struct net_device *dev = dev_instance;
+	struct i596_private *lp = dev->priv;
 	unsigned short status, ack_cmd = 0;
 	int frames_in = 0;
 
-	lp = (struct i596_private *) dev->priv;
-
 	/*
 	 * The 82596 examines the command, performs the required action,
 	 * and then clears the SCB command word.
diff --git a/drivers/usb/gadget/s3c2410_udc.c b/drivers/usb/gadget/s3c2410_udc.c
index e3e90f8..1b07bc9 100644
--- a/drivers/usb/gadget/s3c2410_udc.c
+++ b/drivers/usb/gadget/s3c2410_udc.c
@@ -893,7 +893,7 @@ static void s3c2410_udc_handle_ep(struct s3c2410_ep *ep)
 /*
  *	s3c2410_udc_irq - interrupt handler
  */
-static irqreturn_t s3c2410_udc_irq(int irq, void *_dev)
+static irqreturn_t s3c2410_udc_irq(int dummy, void *_dev)
 {
 	struct s3c2410_udc *dev = _dev;
 	int usb_status;
@@ -1016,7 +1016,7 @@ static irqreturn_t s3c2410_udc_irq(int irq, void *_dev)
 		}
 	}
 
-	dprintk(DEBUG_VERBOSE, "irq: %d s3c2410_udc_done.\n", irq);
+	dprintk(DEBUG_VERBOSE, "irq: %d s3c2410_udc_done.\n", IRQ_USBD);
 
 	/* Restore old index */
 	udc_write(idx, S3C2410_UDC_INDEX_REG);
-- 
1.5.2.4


^ permalink raw reply related	[flat|nested] 20+ messages in thread

* Re: [PATCH] IA64, PPC, SPARC: minor irq handler cleanups
  2007-10-26  9:40 ` [PATCH] IA64, PPC, SPARC: minor irq " Jeff Garzik
@ 2007-10-26  9:44   ` Kumar Gala
  2007-10-26  9:49     ` Jeff Garzik
  0 siblings, 1 reply; 20+ messages in thread
From: Kumar Gala @ 2007-10-26  9:44 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: LKML, akpm, davem, tony.luck, linux-ia64, paulus, benh


On Oct 26, 2007, at 4:40 AM, Jeff Garzik wrote:

> ia64/sn/kernel/huberror.c:
> 	- remove pointless void* cast
> 	- add KERN_xxx prefix
>
> ia64/sn/pci/tioce_provider.c: start functions at column zero
>
> ppc/8xx_io/fec.c: kill prototype, remove extra whitespace
>
> ppc/platforms/85xx/*
> 	'irq' argument in irq handler is used purely as a temporary
> 	variable.  Update the function to reflect this usage, changing
> 	the first arg's name from 'irq' to 'dummy'
>
> ppc/platforms/sbc82xx.c: ditto
>
> sparc/kernel/time.c: mark timer_interrupt() static (from DaveM)
>
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
> ---
>  arch/ia64/sn/kernel/huberror.c               |    4 ++--
>  arch/ia64/sn/pci/tioce_provider.c            |    6 ++++--
>  arch/ppc/8xx_io/fec.c                        |    3 +--
>  arch/ppc/platforms/85xx/mpc8560_ads.c        |    4 +++-
>  arch/ppc/platforms/85xx/mpc85xx_cds_common.c |    4 +++-
>  arch/ppc/platforms/85xx/stx_gp3.c            |    4 +++-
>  arch/ppc/platforms/85xx/tqm85xx.c            |    4 +++-
>  arch/ppc/platforms/sbc82xx.c                 |    4 +++-
>  arch/sparc/kernel/time.c                     |    2 +-
>  9 files changed, 23 insertions(+), 12 deletions(-)

I haven't been following this with detail.  Is the intent that this  
would be for 2.6.24 or .25?

- k

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH] IA64, PPC, SPARC: minor irq handler cleanups
  2007-10-26  9:44   ` Kumar Gala
@ 2007-10-26  9:49     ` Jeff Garzik
  2007-10-26 14:55       ` Kumar Gala
  0 siblings, 1 reply; 20+ messages in thread
From: Jeff Garzik @ 2007-10-26  9:49 UTC (permalink / raw)
  To: Kumar Gala; +Cc: LKML, akpm, davem, tony.luck, linux-ia64, paulus, benh

Kumar Gala wrote:
> 
> On Oct 26, 2007, at 4:40 AM, Jeff Garzik wrote:
> 
>> ia64/sn/kernel/huberror.c:
>>     - remove pointless void* cast
>>     - add KERN_xxx prefix
>>
>> ia64/sn/pci/tioce_provider.c: start functions at column zero
>>
>> ppc/8xx_io/fec.c: kill prototype, remove extra whitespace
>>
>> ppc/platforms/85xx/*
>>     'irq' argument in irq handler is used purely as a temporary
>>     variable.  Update the function to reflect this usage, changing
>>     the first arg's name from 'irq' to 'dummy'
>>
>> ppc/platforms/sbc82xx.c: ditto
>>
>> sparc/kernel/time.c: mark timer_interrupt() static (from DaveM)
>>
>> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
>> ---
>>  arch/ia64/sn/kernel/huberror.c               |    4 ++--
>>  arch/ia64/sn/pci/tioce_provider.c            |    6 ++++--
>>  arch/ppc/8xx_io/fec.c                        |    3 +--
>>  arch/ppc/platforms/85xx/mpc8560_ads.c        |    4 +++-
>>  arch/ppc/platforms/85xx/mpc85xx_cds_common.c |    4 +++-
>>  arch/ppc/platforms/85xx/stx_gp3.c            |    4 +++-
>>  arch/ppc/platforms/85xx/tqm85xx.c            |    4 +++-
>>  arch/ppc/platforms/sbc82xx.c                 |    4 +++-
>>  arch/sparc/kernel/time.c                     |    2 +-
>>  9 files changed, 23 insertions(+), 12 deletions(-)
> 
> I haven't been following this with detail.  Is the intent that this 
> would be for 2.6.24 or .25?

These patches are all cleanups and minor fixes I found while iterating 
through each interrupt handler in the kernel, in pursuit of a related 
project.

So they can stand by themselves, and can integrate into whatever flow 
maintainers find most comfortable.

I'm not in any rush, but neither would I like them to sit forever...

	Jeff



^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH] Remove always-true tests in irq handlers
  2007-10-26  9:40 ` [PATCH] Remove always-true tests in irq handlers Jeff Garzik
@ 2007-10-26 12:02   ` Ralf Baechle
  0 siblings, 0 replies; 20+ messages in thread
From: Ralf Baechle @ 2007-10-26 12:02 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: LKML, akpm, tony.luck, linux-ia64, netdev

On Fri, Oct 26, 2007 at 05:40:24AM -0400, Jeff Garzik wrote:

> In these drivers, dev_id is always non-NULL.
> 
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
> ---
>  arch/ia64/hp/sim/simeth.c                   |    5 -----
>  arch/mips/pmc-sierra/msp71xx/msp_hwbutton.c |    5 +----

Acked-by: Ralf Baechle <ralf@linux-mips.org>

  Ralf

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH] Remove pointless casts from void pointers,
  2007-10-26  9:40 [PATCH] Remove pointless casts from void pointers, Jeff Garzik
                   ` (7 preceding siblings ...)
  2007-10-26  9:40 ` [PATCH] NETDRVR, USB: declance, lp486e, s3c2410_udc: minor irq handler cleanups Jeff Garzik
@ 2007-10-26 12:24 ` John W. Linville
  2007-10-26 13:38 ` Dmitry Torokhov
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 20+ messages in thread
From: John W. Linville @ 2007-10-26 12:24 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: LKML, akpm, rmk, kernel, tony.luck, jwboyer, benh, paulus,
	dmitry.torokhov, netdev, linux-scsi, linux-serial, linux-wireless,
	bryan.wu, adaplas

On Fri, Oct 26, 2007 at 05:40:22AM -0400, Jeff Garzik wrote:
> mostly in and around irq handlers.
> 
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
> ---

>  drivers/net/wireless/airo.c                |    5 +++--
>  drivers/net/wireless/hostap/hostap_hw.c    |    2 +-
>  drivers/net/wireless/libertas/if_cs.c      |    2 +-

ACK

-- 
John W. Linville
linville@tuxdriver.com

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH] Remove pointless casts from void pointers,
  2007-10-26  9:40 [PATCH] Remove pointless casts from void pointers, Jeff Garzik
                   ` (8 preceding siblings ...)
  2007-10-26 12:24 ` [PATCH] Remove pointless casts from void pointers, John W. Linville
@ 2007-10-26 13:38 ` Dmitry Torokhov
  2007-10-26 14:46 ` Josh Boyer
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 20+ messages in thread
From: Dmitry Torokhov @ 2007-10-26 13:38 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: LKML, akpm, rmk, kernel, tony.luck, jwboyer, benh, paulus, netdev,
	linux-scsi, linux-serial, linux-wireless, bryan.wu, adaplas

On 10/26/07, Jeff Garzik <jeff@garzik.org> wrote:
>  drivers/input/touchscreen/h3600_ts_input.c |    4 ++--

Acked-by: Dmitry Torokhov <dtor@mail.ru>

-- 
Dmitry

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH] Remove pointless casts from void pointers,
  2007-10-26  9:40 [PATCH] Remove pointless casts from void pointers, Jeff Garzik
                   ` (9 preceding siblings ...)
  2007-10-26 13:38 ` Dmitry Torokhov
@ 2007-10-26 14:46 ` Josh Boyer
  2007-10-26 14:55 ` Holger Schurig
  2007-10-26 21:58 ` Lennert Buytenhek
  12 siblings, 0 replies; 20+ messages in thread
From: Josh Boyer @ 2007-10-26 14:46 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: LKML, akpm, rmk, kernel, tony.luck, benh, paulus, dmitry.torokhov,
	netdev, linux-scsi, linux-serial, linux-wireless, bryan.wu,
	adaplas

On Fri, 26 Oct 2007 05:40:22 -0400 (EDT)
Jeff Garzik <jeff@garzik.org> wrote:

> mostly in and around irq handlers.
> 
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
> ---

>  drivers/serial/uartlite.c                  |    2 +-

Acked-by: Josh Boyer <jwboyer@linux.vnet.ibm.com

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH] Remove pointless casts from void pointers,
  2007-10-26  9:40 [PATCH] Remove pointless casts from void pointers, Jeff Garzik
                   ` (10 preceding siblings ...)
  2007-10-26 14:46 ` Josh Boyer
@ 2007-10-26 14:55 ` Holger Schurig
  2007-10-26 21:58 ` Lennert Buytenhek
  12 siblings, 0 replies; 20+ messages in thread
From: Holger Schurig @ 2007-10-26 14:55 UTC (permalink / raw)
  To: linux-wireless
  Cc: Jeff Garzik, LKML, akpm, rmk, kernel, tony.luck, jwboyer, benh,
	paulus, dmitry.torokhov, netdev, linux-scsi, linux-serial,
	bryan.wu, adaplas

>  drivers/net/wireless/libertas/if_cs.c      |    2 +-

ACK

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH] IA64, PPC, SPARC: minor irq handler cleanups
  2007-10-26  9:49     ` Jeff Garzik
@ 2007-10-26 14:55       ` Kumar Gala
  0 siblings, 0 replies; 20+ messages in thread
From: Kumar Gala @ 2007-10-26 14:55 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: LKML, akpm, davem, tony.luck, linux-ia64, paulus, benh


On Oct 26, 2007, at 4:49 AM, Jeff Garzik wrote:

> Kumar Gala wrote:
>> On Oct 26, 2007, at 4:40 AM, Jeff Garzik wrote:
>>> ia64/sn/kernel/huberror.c:
>>>     - remove pointless void* cast
>>>     - add KERN_xxx prefix
>>>
>>> ia64/sn/pci/tioce_provider.c: start functions at column zero
>>>
>>> ppc/8xx_io/fec.c: kill prototype, remove extra whitespace
>>>
>>> ppc/platforms/85xx/*
>>>     'irq' argument in irq handler is used purely as a temporary
>>>     variable.  Update the function to reflect this usage, changing
>>>     the first arg's name from 'irq' to 'dummy'
>>>
>>> ppc/platforms/sbc82xx.c: ditto
>>>
>>> sparc/kernel/time.c: mark timer_interrupt() static (from DaveM)
>>>
>>> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
>>> ---
>>>  arch/ia64/sn/kernel/huberror.c               |    4 ++--
>>>  arch/ia64/sn/pci/tioce_provider.c            |    6 ++++--
>>>  arch/ppc/8xx_io/fec.c                        |    3 +--
>>>  arch/ppc/platforms/85xx/mpc8560_ads.c        |    4 +++-
>>>  arch/ppc/platforms/85xx/mpc85xx_cds_common.c |    4 +++-
>>>  arch/ppc/platforms/85xx/stx_gp3.c            |    4 +++-
>>>  arch/ppc/platforms/85xx/tqm85xx.c            |    4 +++-
>>>  arch/ppc/platforms/sbc82xx.c                 |    4 +++-
>>>  arch/sparc/kernel/time.c                     |    2 +-
>>>  9 files changed, 23 insertions(+), 12 deletions(-)
>> I haven't been following this with detail.  Is the intent that  
>> this would be for 2.6.24 or .25?
>
> These patches are all cleanups and minor fixes I found while  
> iterating through each interrupt handler in the kernel, in pursuit  
> of a related project.
>
> So they can stand by themselves, and can integrate into whatever  
> flow maintainers find most comfortable.
>
> I'm not in any rush, but neither would I like them to sit forever...

Ok. Not to be a pain, but it would be easier if this one patch might  
be easier if it was split down the arch lines so each maintainer can  
deal with it.

I say this especially for the ppc code because the intent in 2.6.25  
is to actually try and remove some of the files you are fixing up for  
their arch/powerpc variants.

- k

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH] ARM: Misc minor interrupt handler cleanups
  2007-10-26  9:40 ` [PATCH] ARM: Misc minor interrupt handler cleanups Jeff Garzik
@ 2007-10-26 21:56   ` Lennert Buytenhek
  0 siblings, 0 replies; 20+ messages in thread
From: Lennert Buytenhek @ 2007-10-26 21:56 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: LKML, akpm, rmk, kernel

On Fri, Oct 26, 2007 at 05:40:25AM -0400, Jeff Garzik wrote:

> mach-integrator/pci_v3.c: no need to reference 'irq' arg, its constant
> 
> mach-omap1/pm.c: remove extra whitespace
> 
> arch/arm/mach-sa1100/ssp.c: remove braces around single C stmt
> 
> arch/arm/plat-omap/mcbsp.c:
> 	- remove pointless casts from void*
> 	- make longer lines more readable
> 
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>

FWIW

Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>


> ---
>  arch/arm/mach-integrator/pci_v3.c |    8 +++++---
>  arch/arm/mach-omap1/pm.c          |    2 +-
>  arch/arm/mach-sa1100/ssp.c        |    3 +--
>  arch/arm/plat-omap/mcbsp.c        |   20 ++++++++++++--------
>  4 files changed, 19 insertions(+), 14 deletions(-)
> 
> diff --git a/arch/arm/mach-integrator/pci_v3.c b/arch/arm/mach-integrator/pci_v3.c
> index d4d8134..d55fa4e 100644
> --- a/arch/arm/mach-integrator/pci_v3.c
> +++ b/arch/arm/mach-integrator/pci_v3.c
> @@ -440,7 +440,7 @@ v3_pci_fault(unsigned long addr, unsigned int fsr, struct pt_regs *regs)
>  	return 1;
>  }
>  
> -static irqreturn_t v3_irq(int irq, void *devid)
> +static irqreturn_t v3_irq(int dummy, void *devid)
>  {
>  #ifdef CONFIG_DEBUG_LL
>  	struct pt_regs *regs = get_irq_regs();
> @@ -448,8 +448,10 @@ static irqreturn_t v3_irq(int irq, void *devid)
>  	unsigned long instr = *(unsigned long *)pc;
>  	char buf[128];
>  
> -	sprintf(buf, "V3 int %d: pc=0x%08lx [%08lx] LBFADDR=%08x LBFCODE=%02x ISTAT=%02x\n", irq,
> -		pc, instr, __raw_readl(SC_LBFADDR), __raw_readl(SC_LBFCODE) & 255,
> +	sprintf(buf, "V3 int %d: pc=0x%08lx [%08lx] LBFADDR=%08x LBFCODE=%02x "
> +		"ISTAT=%02x\n", IRQ_AP_V3INT, pc, instr,
> +		__raw_readl(SC_LBFADDR),
> +		__raw_readl(SC_LBFCODE) & 255,
>  		v3_readb(V3_LB_ISTAT));
>  	printascii(buf);
>  #endif
> diff --git a/arch/arm/mach-omap1/pm.c b/arch/arm/mach-omap1/pm.c
> index 3bf01e2..94c299b 100644
> --- a/arch/arm/mach-omap1/pm.c
> +++ b/arch/arm/mach-omap1/pm.c
> @@ -646,7 +646,7 @@ static void omap_pm_finish(void)
>  }
>  
>  
> -static irqreturn_t  omap_wakeup_interrupt(int irq, void *dev)
> +static irqreturn_t omap_wakeup_interrupt(int irq, void *dev)
>  {
>  	return IRQ_HANDLED;
>  }
> diff --git a/arch/arm/mach-sa1100/ssp.c b/arch/arm/mach-sa1100/ssp.c
> index 59703c6..06206ce 100644
> --- a/arch/arm/mach-sa1100/ssp.c
> +++ b/arch/arm/mach-sa1100/ssp.c
> @@ -29,9 +29,8 @@ static irqreturn_t ssp_interrupt(int irq, void *dev_id)
>  {
>  	unsigned int status = Ser4SSSR;
>  
> -	if (status & SSSR_ROR) {
> +	if (status & SSSR_ROR)
>  		printk(KERN_WARNING "SSP: receiver overrun\n");
> -	}
>  
>  	Ser4SSSR = SSSR_ROR;
>  
> diff --git a/arch/arm/plat-omap/mcbsp.c b/arch/arm/plat-omap/mcbsp.c
> index f7b9ccd..2af5bd5 100644
> --- a/arch/arm/plat-omap/mcbsp.c
> +++ b/arch/arm/plat-omap/mcbsp.c
> @@ -98,9 +98,10 @@ static void omap_mcbsp_dump_reg(u8 id)
>  
>  static irqreturn_t omap_mcbsp_tx_irq_handler(int irq, void *dev_id)
>  {
> -	struct omap_mcbsp * mcbsp_tx = (struct omap_mcbsp *)(dev_id);
> +	struct omap_mcbsp *mcbsp_tx = dev_id;
>  
> -	DBG("TX IRQ callback : 0x%x\n", OMAP_MCBSP_READ(mcbsp_tx->io_base, SPCR2));
> +	DBG("TX IRQ callback : 0x%x\n",
> +	    OMAP_MCBSP_READ(mcbsp_tx->io_base, SPCR2));
>  
>  	complete(&mcbsp_tx->tx_irq_completion);
>  	return IRQ_HANDLED;
> @@ -108,9 +109,10 @@ static irqreturn_t omap_mcbsp_tx_irq_handler(int irq, void *dev_id)
>  
>  static irqreturn_t omap_mcbsp_rx_irq_handler(int irq, void *dev_id)
>  {
> -	struct omap_mcbsp * mcbsp_rx = (struct omap_mcbsp *)(dev_id);
> +	struct omap_mcbsp *mcbsp_rx = dev_id;
>  
> -	DBG("RX IRQ callback : 0x%x\n", OMAP_MCBSP_READ(mcbsp_rx->io_base, SPCR2));
> +	DBG("RX IRQ callback : 0x%x\n",
> +	    OMAP_MCBSP_READ(mcbsp_rx->io_base, SPCR2));
>  
>  	complete(&mcbsp_rx->rx_irq_completion);
>  	return IRQ_HANDLED;
> @@ -118,9 +120,10 @@ static irqreturn_t omap_mcbsp_rx_irq_handler(int irq, void *dev_id)
>  
>  static void omap_mcbsp_tx_dma_callback(int lch, u16 ch_status, void *data)
>  {
> -	struct omap_mcbsp * mcbsp_dma_tx = (struct omap_mcbsp *)(data);
> +	struct omap_mcbsp *mcbsp_dma_tx = data;
>  
> -	DBG("TX DMA callback : 0x%x\n", OMAP_MCBSP_READ(mcbsp_dma_tx->io_base, SPCR2));
> +	DBG("TX DMA callback : 0x%x\n",
> +	    OMAP_MCBSP_READ(mcbsp_dma_tx->io_base, SPCR2));
>  
>  	/* We can free the channels */
>  	omap_free_dma(mcbsp_dma_tx->dma_tx_lch);
> @@ -131,9 +134,10 @@ static void omap_mcbsp_tx_dma_callback(int lch, u16 ch_status, void *data)
>  
>  static void omap_mcbsp_rx_dma_callback(int lch, u16 ch_status, void *data)
>  {
> -	struct omap_mcbsp * mcbsp_dma_rx = (struct omap_mcbsp *)(data);
> +	struct omap_mcbsp *mcbsp_dma_rx = data;
>  
> -	DBG("RX DMA callback : 0x%x\n", OMAP_MCBSP_READ(mcbsp_dma_rx->io_base, SPCR2));
> +	DBG("RX DMA callback : 0x%x\n",
> +	    OMAP_MCBSP_READ(mcbsp_dma_rx->io_base, SPCR2));
>  
>  	/* We can free the channels */
>  	omap_free_dma(mcbsp_dma_rx->dma_rx_lch);
> -- 
> 1.5.2.4

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH] Remove pointless casts from void pointers,
  2007-10-26  9:40 [PATCH] Remove pointless casts from void pointers, Jeff Garzik
                   ` (11 preceding siblings ...)
  2007-10-26 14:55 ` Holger Schurig
@ 2007-10-26 21:58 ` Lennert Buytenhek
  12 siblings, 0 replies; 20+ messages in thread
From: Lennert Buytenhek @ 2007-10-26 21:58 UTC (permalink / raw)
  To: Jeff Garzik
  Cc: LKML, akpm, rmk, kernel, tony.luck, jwboyer, benh, paulus,
	dmitry.torokhov, netdev, linux-scsi, linux-serial, linux-wireless,
	bryan.wu, adaplas

On Fri, Oct 26, 2007 at 05:40:22AM -0400, Jeff Garzik wrote:

>  arch/arm/mach-pxa/ssp.c                    |    2 +-
>  arch/arm/mach-s3c2410/usb-simtec.c         |    2 +-
>  arch/arm/plat-omap/mailbox.c               |    2 +-

FWIW

Acked-by: Lennert Buytenhek <buytenh@wantstofly.org>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* Re: [PATCH] SCSI/gdth: kill unneeded 'irq' argument
  2007-10-26  9:40 ` [PATCH] SCSI/gdth: kill unneeded 'irq' argument Jeff Garzik
@ 2007-10-29  9:22   ` Boaz Harrosh
  0 siblings, 0 replies; 20+ messages in thread
From: Boaz Harrosh @ 2007-10-29  9:22 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: LKML, akpm, linux-scsi

On Fri, Oct 26 2007 at 11:40 +0200, Jeff Garzik <jeff@garzik.org> wrote:
> Neither gdth_get_status() nor __gdth_interrupt() need their 'irq'
> argument, so remove it.
> 
> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
> ---
>  drivers/scsi/gdth.c |   21 +++++++++------------
>  1 files changed, 9 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/scsi/gdth.c b/drivers/scsi/gdth.c
> index b253b8c..65c21b1 100644
> --- a/drivers/scsi/gdth.c
> +++ b/drivers/scsi/gdth.c
> @@ -141,7 +141,7 @@
>  static void gdth_delay(int milliseconds);
>  static void gdth_eval_mapping(ulong32 size, ulong32 *cyls, int *heads, int *secs);
>  static irqreturn_t gdth_interrupt(int irq, void *dev_id);
> -static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, int irq,
> +static irqreturn_t __gdth_interrupt(gdth_ha_str *ha,
>                                      int gdth_from_wait, int* pIndex);
>  static int gdth_sync_event(gdth_ha_str *ha, int service, unchar index,
>                                                                 Scsi_Cmnd *scp);
> @@ -165,7 +165,6 @@ static int gdth_internal_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp);
>  static int gdth_fill_cache_cmd(gdth_ha_str *ha, Scsi_Cmnd *scp, ushort hdrive);
>  
>  static void gdth_enable_int(gdth_ha_str *ha);
> -static unchar gdth_get_status(gdth_ha_str *ha, int irq);
>  static int gdth_test_busy(gdth_ha_str *ha);
>  static int gdth_get_cmd_index(gdth_ha_str *ha);
>  static void gdth_release_event(gdth_ha_str *ha);
> @@ -1334,14 +1333,12 @@ static void __init gdth_enable_int(gdth_ha_str *ha)
>  }
>  
>  /* return IStatus if interrupt was from this card else 0 */
> -static unchar gdth_get_status(gdth_ha_str *ha, int irq)
> +static unchar gdth_get_status(gdth_ha_str *ha)
>  {
>      unchar IStatus = 0;
>  
> -    TRACE(("gdth_get_status() irq %d ctr_count %d\n", irq, gdth_ctr_count));
> +    TRACE(("gdth_get_status() irq %d ctr_count %d\n", ha->irq, gdth_ctr_count));
>  
> -        if (ha->irq != (unchar)irq)             /* check IRQ */
> -            return false;
>          if (ha->type == GDT_EISA)
>              IStatus = inb((ushort)ha->bmic + EDOORREG);
>          else if (ha->type == GDT_ISA)
> @@ -1523,7 +1520,7 @@ static int gdth_wait(gdth_ha_str *ha, int index, ulong32 time)
>          return 1;                               /* no wait required */
>  
>      do {
> -        __gdth_interrupt(ha, (int)ha->irq, true, &wait_index);
> +        __gdth_interrupt(ha, true, &wait_index);
>          if (wait_index == index) {
>              answer_found = TRUE;
>              break;
> @@ -3036,7 +3033,7 @@ static void gdth_clear_events(void)
>  
>  /* SCSI interface functions */
>  
> -static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, int irq,
> +static irqreturn_t __gdth_interrupt(gdth_ha_str *ha,
>                                      int gdth_from_wait, int* pIndex)
>  {
>      gdt6m_dpram_str __iomem *dp6m_ptr = NULL;
> @@ -3054,7 +3051,7 @@ static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, int irq,
>      int act_int_coal = 0;       
>  #endif
>  
> -    TRACE(("gdth_interrupt() IRQ %d\n",irq));
> +    TRACE(("gdth_interrupt() IRQ %d\n", ha->irq));
>  
>      /* if polling and not from gdth_wait() -> return */
>      if (gdth_polling) {
> @@ -3067,7 +3064,7 @@ static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, int irq,
>          spin_lock_irqsave(&ha->smp_lock, flags);
>  
>      /* search controller */
> -    if (0 == (IStatus = gdth_get_status(ha, irq))) {
> +    if (0 == (IStatus = gdth_get_status(ha))) {
>          /* spurious interrupt */
>          if (!gdth_polling)
>              spin_unlock_irqrestore(&ha->smp_lock, flags);
> @@ -3294,9 +3291,9 @@ static irqreturn_t __gdth_interrupt(gdth_ha_str *ha, int irq,
>  
>  static irqreturn_t gdth_interrupt(int irq, void *dev_id)
>  {
> -	gdth_ha_str *ha = (gdth_ha_str *)dev_id;
> +	gdth_ha_str *ha = dev_id;
>  
> -	return __gdth_interrupt(ha, irq, false, NULL);
> +	return __gdth_interrupt(ha, false, NULL);
>  }
>  
>  static int gdth_sync_event(gdth_ha_str *ha, int service, unchar index,
ACK
I've done the last heavy lifting of gdth_interrupt. And I second this patch.
the irq was just redundant information to the ha pointer. Good riddance.

Boaz
 

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2007-10-29  9:54 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-10-26  9:40 [PATCH] Remove pointless casts from void pointers, Jeff Garzik
2007-10-26  9:40 ` [PATCH] Remove always-true tests in irq handlers Jeff Garzik
2007-10-26 12:02   ` Ralf Baechle
2007-10-26  9:40 ` [PATCH] ARM: Misc minor interrupt handler cleanups Jeff Garzik
2007-10-26 21:56   ` Lennert Buytenhek
2007-10-26  9:40 ` [PATCH] IA64, PPC, SPARC: minor irq " Jeff Garzik
2007-10-26  9:44   ` Kumar Gala
2007-10-26  9:49     ` Jeff Garzik
2007-10-26 14:55       ` Kumar Gala
2007-10-26  9:40 ` [PATCH] media/video/planb: fix obvious interrupt handling bugs Jeff Garzik
2007-10-26  9:40 ` [PATCH] drivers/net/irda/au1k_ir: fix obvious irq handler bugs Jeff Garzik
2007-10-26  9:40 ` [PATCH] SCSI/gdth: kill unneeded 'irq' argument Jeff Garzik
2007-10-29  9:22   ` Boaz Harrosh
2007-10-26  9:40 ` [PATCH] SCSI/sym53c416: kill pointless irq handler loop and test Jeff Garzik
2007-10-26  9:40 ` [PATCH] NETDRVR, USB: declance, lp486e, s3c2410_udc: minor irq handler cleanups Jeff Garzik
2007-10-26 12:24 ` [PATCH] Remove pointless casts from void pointers, John W. Linville
2007-10-26 13:38 ` Dmitry Torokhov
2007-10-26 14:46 ` Josh Boyer
2007-10-26 14:55 ` Holger Schurig
2007-10-26 21:58 ` Lennert Buytenhek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox