Commit 3b9323b4 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: addi_apci_1516: absorb i_APCI1516_Reset()

The same low-level reset function is used by all the boards supported
by this driver. Remove it from the boardinfo and absorb the function
from hwdrv_apci1516.c directly into the driver.

Rename the CamelCase function i_ADDI_Reset() to apci1516_reset().
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ece790f6
...@@ -229,29 +229,3 @@ static int i_APCI1516_ReadWatchdog(struct comedi_device *dev, ...@@ -229,29 +229,3 @@ static int i_APCI1516_ReadWatchdog(struct comedi_device *dev,
data[0] = inw(devpriv->i_IobaseAddon + APCI1516_WDOG_STATUS_REG) & 0x1; data[0] = inw(devpriv->i_IobaseAddon + APCI1516_WDOG_STATUS_REG) & 0x1;
return insn->n; return insn->n;
} }
/*
+----------------------------------------------------------------------------+
| Function Name : int i_APCI1516_Reset(struct comedi_device *dev) | |
+----------------------------------------------------------------------------+
| Task :resets all the registers |
+----------------------------------------------------------------------------+
| Input Parameters : struct comedi_device *dev
+----------------------------------------------------------------------------+
| Output Parameters : -- |
+----------------------------------------------------------------------------+
| Return Value : |
| |
+----------------------------------------------------------------------------+
*/
static int i_APCI1516_Reset(struct comedi_device *dev)
{
struct addi_private *devpriv = dev->private;
outw(0x0, devpriv->iobase + APCI1516_DO_REG);
outw(0x0, devpriv->i_IobaseAddon + APCI1516_WDOG_CTRL_REG);
outw(0x0, devpriv->i_IobaseAddon + APCI1516_WDOG_RELOAD_LSB_REG);
outw(0x0, devpriv->i_IobaseAddon + APCI1516_WDOG_RELOAD_MSB_REG);
return 0;
}
...@@ -16,7 +16,6 @@ static const struct addi_board apci1516_boardtypes[] = { ...@@ -16,7 +16,6 @@ static const struct addi_board apci1516_boardtypes[] = {
.i_PCIEeprom = ADDIDATA_EEPROM, .i_PCIEeprom = ADDIDATA_EEPROM,
.pc_EepromChip = ADDIDATA_S5920, .pc_EepromChip = ADDIDATA_S5920,
.i_NbrDiChannel = 16, .i_NbrDiChannel = 16,
.reset = i_APCI1516_Reset,
.di_bits = apci1516_di_insn_bits, .di_bits = apci1516_di_insn_bits,
}, { }, {
.pc_DriverName = "apci1516", .pc_DriverName = "apci1516",
...@@ -30,7 +29,6 @@ static const struct addi_board apci1516_boardtypes[] = { ...@@ -30,7 +29,6 @@ static const struct addi_board apci1516_boardtypes[] = {
.i_NbrDiChannel = 8, .i_NbrDiChannel = 8,
.i_NbrDoChannel = 8, .i_NbrDoChannel = 8,
.i_Timer = 1, .i_Timer = 1,
.reset = i_APCI1516_Reset,
.di_bits = apci1516_di_insn_bits, .di_bits = apci1516_di_insn_bits,
.do_bits = apci1516_do_insn_bits, .do_bits = apci1516_do_insn_bits,
.timer_config = i_APCI1516_ConfigWatchdog, .timer_config = i_APCI1516_ConfigWatchdog,
...@@ -47,7 +45,6 @@ static const struct addi_board apci1516_boardtypes[] = { ...@@ -47,7 +45,6 @@ static const struct addi_board apci1516_boardtypes[] = {
.pc_EepromChip = ADDIDATA_S5920, .pc_EepromChip = ADDIDATA_S5920,
.i_NbrDoChannel = 16, .i_NbrDoChannel = 16,
.i_Timer = 1, .i_Timer = 1,
.reset = i_APCI1516_Reset,
.do_bits = apci1516_do_insn_bits, .do_bits = apci1516_do_insn_bits,
.timer_config = i_APCI1516_ConfigWatchdog, .timer_config = i_APCI1516_ConfigWatchdog,
.timer_write = i_APCI1516_StartStopWriteWatchdog, .timer_write = i_APCI1516_StartStopWriteWatchdog,
...@@ -64,11 +61,15 @@ static irqreturn_t v_ADDI_Interrupt(int irq, void *d) ...@@ -64,11 +61,15 @@ static irqreturn_t v_ADDI_Interrupt(int irq, void *d)
return IRQ_RETVAL(1); return IRQ_RETVAL(1);
} }
static int i_ADDI_Reset(struct comedi_device *dev) static int apci1516_reset(struct comedi_device *dev)
{ {
const struct addi_board *this_board = comedi_board(dev); struct addi_private *devpriv = dev->private;
outw(0x0, devpriv->iobase + APCI1516_DO_REG);
outw(0x0, devpriv->i_IobaseAddon + APCI1516_WDOG_CTRL_REG);
outw(0x0, devpriv->i_IobaseAddon + APCI1516_WDOG_RELOAD_LSB_REG);
outw(0x0, devpriv->i_IobaseAddon + APCI1516_WDOG_RELOAD_MSB_REG);
this_board->reset(dev);
return 0; return 0;
} }
...@@ -236,7 +237,7 @@ static int __devinit apci1516_auto_attach(struct comedi_device *dev, ...@@ -236,7 +237,7 @@ static int __devinit apci1516_auto_attach(struct comedi_device *dev,
s = &dev->subdevices[6]; s = &dev->subdevices[6];
s->type = COMEDI_SUBD_UNUSED; s->type = COMEDI_SUBD_UNUSED;
i_ADDI_Reset(dev); apci1516_reset(dev);
return 0; return 0;
} }
...@@ -247,7 +248,7 @@ static void apci1516_detach(struct comedi_device *dev) ...@@ -247,7 +248,7 @@ static void apci1516_detach(struct comedi_device *dev)
if (devpriv) { if (devpriv) {
if (dev->iobase) if (dev->iobase)
i_ADDI_Reset(dev); apci1516_reset(dev);
if (dev->irq) if (dev->irq)
free_irq(dev->irq, dev); free_irq(dev->irq, dev);
if (devpriv->dw_AiBase) if (devpriv->dw_AiBase)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment