summaryrefslogtreecommitdiff
path: root/drivers/staging/comedi/drivers/addi_apci_2200.c
diff options
context:
space:
mode:
authorH Hartley Sweeten <hsweeten@visionengravers.com>2013-01-17 17:37:38 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-18 12:49:24 -0800
commitfb1e4e2e0b8a5b57ca861b6fc6d9f4af0bbb568e (patch)
tree12750576a6b9aa14cab4f946e661c9d753d62f4f /drivers/staging/comedi/drivers/addi_apci_2200.c
parentdf9f604d407231566b64799a9e1a0c6de8065dc6 (diff)
staging: comedi: addi_apci_2200: absorb i_APCI2200_Reset()
This is the only 'reset' function used by the driver, remove it from the boardinfo and absorb the code from hwdrv_apci2200.c into the driver. Rename the CamelCase function i_ADDI_Reset() to apci2200_reset(). Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/staging/comedi/drivers/addi_apci_2200.c')
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_2200.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/drivers/staging/comedi/drivers/addi_apci_2200.c b/drivers/staging/comedi/drivers/addi_apci_2200.c
index 77c8fe5ba312..632013643085 100644
--- a/drivers/staging/comedi/drivers/addi_apci_2200.c
+++ b/drivers/staging/comedi/drivers/addi_apci_2200.c
@@ -17,7 +17,6 @@ static const struct addi_board apci2200_boardtypes[] = {
.i_NbrDiChannel = 8,
.i_NbrDoChannel = 16,
.i_Timer = 1,
- .reset = i_APCI2200_Reset,
.di_bits = apci2200_di_insn_bits,
.do_bits = apci2200_do_insn_bits,
.timer_config = i_APCI2200_ConfigWatchdog,
@@ -35,11 +34,18 @@ static irqreturn_t v_ADDI_Interrupt(int irq, void *d)
return IRQ_RETVAL(1);
}
-static int i_ADDI_Reset(struct comedi_device *dev)
+static int apci2200_reset(struct comedi_device *dev)
{
- const struct addi_board *this_board = comedi_board(dev);
+ struct addi_private *devpriv = dev->private;
+
+ outw(0x0, devpriv->iobase + APCI2200_DIGITAL_OP);
+ outw(0x0, devpriv->iobase + APCI2200_WATCHDOG +
+ APCI2200_WATCHDOG_ENABLEDISABLE);
+ outw(0x0, devpriv->iobase + APCI2200_WATCHDOG +
+ APCI2200_WATCHDOG_RELOAD_VALUE);
+ outw(0x0, devpriv->iobase + APCI2200_WATCHDOG +
+ APCI2200_WATCHDOG_RELOAD_VALUE + 2);
- this_board->reset(dev);
return 0;
}
@@ -207,7 +213,7 @@ static int apci2200_auto_attach(struct comedi_device *dev,
s = &dev->subdevices[6];
s->type = COMEDI_SUBD_UNUSED;
- i_ADDI_Reset(dev);
+ apci2200_reset(dev);
return 0;
}
@@ -218,7 +224,7 @@ static void apci2200_detach(struct comedi_device *dev)
if (devpriv) {
if (dev->iobase)
- i_ADDI_Reset(dev);
+ apci2200_reset(dev);
if (dev->irq)
free_irq(dev->irq, dev);
if (devpriv->dw_AiBase)