summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChase Southwood <chase.southwood@gmail.com>2014-07-31 20:56:47 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-08-01 15:37:22 -0700
commitb9aaea39f65e242303103b5283abeaefd8e538a4 (patch)
tree51d7879f9306484e1470c2bd5ba445eb2294a8d2
parent6347fc88ec4453934a5428e21051ff95cad01180 (diff)
staging: comedi: addi_apci_1564: remove diagnostic interrupt support code
As per Ian, at this point in time it is not worth implementing an async command interface for diagnostic interrupts for this board. As this is the case, this patch removes the code which supports such interrupts as it is now unused. This includes removing apci1564_do_read(), which was the insn_read operation for the digital output subdevice, since all it was doing was reading the current diagnostic interrupt type and returning it in 'data'. This doesn't follow the comedi API and this operation can be emulated by the comedi core anyway since the insn_bits operation follows the comedi API. So it is safe to simply remove this function. Signed-off-by: Chase Southwood <chase.southwood@gmail.com> Reviewed-by: Ian Abbott <abbotti@mev.co.uk> Cc: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/staging/comedi/drivers/addi-data/hwdrv_apci1564.c14
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_1564.c18
2 files changed, 0 insertions, 32 deletions
diff --git a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci1564.c b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci1564.c
index a1730e9e7135..8a613ae0acba 100644
--- a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci1564.c
+++ b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci1564.c
@@ -340,17 +340,3 @@ static int apci1564_timer_read(struct comedi_device *dev,
}
return insn->n;
}
-
-/*
- * Reads the interrupt status register
- */
-static int apci1564_do_read(struct comedi_device *dev,
- struct comedi_subdevice *s,
- struct comedi_insn *insn,
- unsigned int *data)
-{
- struct apci1564_private *devpriv = dev->private;
-
- *data = devpriv->do_int_type;
- return insn->n;
-}
diff --git a/drivers/staging/comedi/drivers/addi_apci_1564.c b/drivers/staging/comedi/drivers/addi_apci_1564.c
index 819255b2d67c..543cb074213a 100644
--- a/drivers/staging/comedi/drivers/addi_apci_1564.c
+++ b/drivers/staging/comedi/drivers/addi_apci_1564.c
@@ -13,7 +13,6 @@ struct apci1564_private {
unsigned int mode1; /* riding-edge/high level channels */
unsigned int mode2; /* falling-edge/low level channels */
unsigned int ctrl; /* interrupt mode OR (edge) . AND (level) */
- unsigned int do_int_type;
unsigned char timer_select_mode;
unsigned char mode_select_register;
struct task_struct *tsk_current;
@@ -25,8 +24,6 @@ static int apci1564_reset(struct comedi_device *dev)
{
struct apci1564_private *devpriv = dev->private;
- devpriv->do_int_type = 0;
-
/* Disable the input interrupts and reset status register */
outl(0x0, devpriv->amcc_iobase + APCI1564_DI_IRQ_REG);
inl(devpriv->amcc_iobase + APCI1564_DI_INT_STATUS_REG);
@@ -83,20 +80,6 @@ static irqreturn_t apci1564_interrupt(int irq, void *d)
outl(status, devpriv->amcc_iobase + APCI1564_DI_IRQ_REG);
}
- status = inl(devpriv->amcc_iobase + APCI1564_DO_IRQ_REG);
- if (status & 0x01) {
- /* Check for Digital Output interrupt Type */
- /* 1: VCC interrupt */
- /* 2: CC interrupt */
- devpriv->do_int_type = inl(devpriv->amcc_iobase +
- APCI1564_DO_INT_STATUS_REG) & 0x3;
- /* Disable the Interrupt */
- outl(0x0, devpriv->amcc_iobase + APCI1564_DO_INT_CTRL_REG);
-
- /* Sends signal to user space */
- send_sig(SIGIO, devpriv->tsk_current, 0);
- }
-
status = inl(devpriv->amcc_iobase + APCI1564_TIMER_IRQ_REG);
if (status & 0x01) {
/* Disable Timer Interrupt */
@@ -407,7 +390,6 @@ static int apci1564_auto_attach(struct comedi_device *dev,
s->range_table = &range_digital;
s->insn_config = apci1564_do_config;
s->insn_bits = apci1564_do_insn_bits;
- s->insn_read = apci1564_do_read;
/* Change-Of-State (COS) interrupt subdevice */
s = &dev->subdevices[2];