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: H Hartley Sweeten <hsweeten@visionengravers.com> Cc: Ian Abbott <abbotti@mev.co.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
ece790f6cf
commit
3b9323b43d
|
@ -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[] = {
|
||||||
.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[] = {
|
||||||
.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[] = {
|
||||||
.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)
|
||||||
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,
|
||||||
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)
|
||||||
|
|
||||||
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)
|
||||||
|
|
Loading…
Reference in New Issue