The addi-data drivers use send_sig() to let the user know when an interrupt has occurred. The "standard" way to do this in the comedi subsystem is to have a subdevice that supports asynchronous commands and use comedi_event() to signal the user. Remove the send_sig() usage in this driver. Signed-off-by: Chase Southwood <chase.southwood@xxxxxxxxx> Cc: Ian Abbott <abbotti@xxxxxxxxx> Cc: H Hartley Sweeten <hsweeten@xxxxxxxxxxxxxxxxxxx> --- .../comedi/drivers/addi-data/hwdrv_apci1564.c | 23 ---------------------- 1 file changed, 23 deletions(-) diff --git a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci1564.c b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci1564.c index a38ccf9..847cf4c 100644 --- a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci1564.c +++ b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci1564.c @@ -108,8 +108,6 @@ static int apci1564_cos_insn_config(struct comedi_device *dev, { struct addi_private *devpriv = dev->private; - devpriv->tsk_Current = current; - /* Set the digital input logic */ if (data[0] == ADDIDATA_ENABLE) { data[2] = data[2] << 4; @@ -166,7 +164,6 @@ static int apci1564_do_config(struct comedi_device *dev, outl(ul_Command, devpriv->i_IobaseAmcc + APCI1564_DO_INT_CTRL_REG); ui_InterruptData = inl(devpriv->i_IobaseAmcc + APCI1564_DO_INT_CTRL_REG); - devpriv->tsk_Current = current; return insn->n; } @@ -189,7 +186,6 @@ static int apci1564_timer_config(struct comedi_device *dev, struct addi_private *devpriv = dev->private; unsigned int ul_Command1 = 0; - devpriv->tsk_Current = current; if (data[0] == ADDIDATA_WATCHDOG) { devpriv->b_TimerSelectMode = ADDIDATA_WATCHDOG; @@ -436,8 +432,6 @@ static void apci1564_interrupt(int irq, void *d) ui_InterruptStatus_1564 = inl(devpriv->i_IobaseAmcc + APCI1564_DI_INT_STATUS_REG); ui_InterruptStatus_1564 = ui_InterruptStatus_1564 & 0X000FFFF0; - /* send signal to the sample */ - send_sig(SIGIO, devpriv->tsk_Current, 0); /* enable the interrupt */ outl(ui_DI, devpriv->i_IobaseAmcc + APCI1564_DI_IRQ_REG); return; @@ -451,8 +445,6 @@ static void apci1564_interrupt(int irq, void *d) /* Disable the Interrupt */ outl(0x0, devpriv->i_IobaseAmcc + APCI1564_DO_INT_CTRL_REG); - /* Sends signal to user space */ - send_sig(SIGIO, devpriv->tsk_Current, 0); } if (ui_Timer == 1) { @@ -463,9 +455,6 @@ static void apci1564_interrupt(int irq, void *d) ul_Command2 = inl(devpriv->i_IobaseAmcc + APCI1564_TIMER_CTRL_REG); outl(0x0, devpriv->i_IobaseAmcc + APCI1564_TIMER_CTRL_REG); - /* Send a signal to from kernel to user space */ - send_sig(SIGIO, devpriv->tsk_Current, 0); - /* Enable Timer Interrupt */ outl(ul_Command2, devpriv->i_IobaseAmcc + APCI1564_TIMER_CTRL_REG); @@ -482,9 +471,6 @@ static void apci1564_interrupt(int irq, void *d) outl(0x0, dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER1)); - /* Send a signal to from kernel to user space */ - send_sig(SIGIO, devpriv->tsk_Current, 0); - /* Enable Counter Interrupt */ outl(ul_Command2, dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER1)); @@ -501,9 +487,6 @@ static void apci1564_interrupt(int irq, void *d) outl(0x0, dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER2)); - /* Send a signal to from kernel to user space */ - send_sig(SIGIO, devpriv->tsk_Current, 0); - /* Enable Counter Interrupt */ outl(ul_Command2, dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER2)); @@ -520,9 +503,6 @@ static void apci1564_interrupt(int irq, void *d) outl(0x0, dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER3)); - /* Send a signal to from kernel to user space */ - send_sig(SIGIO, devpriv->tsk_Current, 0); - /* Enable Counter Interrupt */ outl(ul_Command2, dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER3)); @@ -539,9 +519,6 @@ static void apci1564_interrupt(int irq, void *d) outl(0x0, dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER4)); - /* Send a signal to from kernel to user space */ - send_sig(SIGIO, devpriv->tsk_Current, 0); - /* Enable Counter Interrupt */ outl(ul_Command2, dev->iobase + APCI1564_TCW_CTRL_REG(APCI1564_COUNTER4)); -- 1.9.0 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel