staging: comedi: addi_apci_3501: absorb i_APCI3501_Reset()
This driver only has one 'reset' function. Absorb the i_APCI3501_Reset() function from hwdrv_apci3501.c into the driver. Rename i_ADDI_Reset() to apci3501_reset() so that the function has namespace associated with the driver. 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
e54ae8f6d4
commit
678a4d3ab1
@ -468,58 +468,6 @@ static int i_APCI3501_ReadTimerCounterWatchdog(struct comedi_device *dev,
|
||||
return insn->n;
|
||||
}
|
||||
|
||||
/*
|
||||
+----------------------------------------------------------------------------+
|
||||
| Function Name : int i_APCI3501_Reset(struct comedi_device *dev) |
|
||||
| |
|
||||
+----------------------------------------------------------------------------+
|
||||
| Task :Resets the registers of the card |
|
||||
+----------------------------------------------------------------------------+
|
||||
| Input Parameters : |
|
||||
+----------------------------------------------------------------------------+
|
||||
| Output Parameters : -- |
|
||||
+----------------------------------------------------------------------------+
|
||||
| Return Value : |
|
||||
| |
|
||||
+----------------------------------------------------------------------------+
|
||||
*/
|
||||
|
||||
static int i_APCI3501_Reset(struct comedi_device *dev)
|
||||
{
|
||||
struct addi_private *devpriv = dev->private;
|
||||
int i_Count = 0, i_temp = 0;
|
||||
unsigned int ul_Command1 = 0, ul_Polarity, ul_DAC_Ready = 0;
|
||||
|
||||
outl(0x0, devpriv->iobase + APCI3501_DIGITAL_OP);
|
||||
outl(1, devpriv->iobase + APCI3501_ANALOG_OUTPUT +
|
||||
APCI3501_AO_VOLT_MODE);
|
||||
|
||||
ul_Polarity = 0x80000000;
|
||||
|
||||
for (i_Count = 0; i_Count <= 7; i_Count++) {
|
||||
ul_DAC_Ready = inl(devpriv->iobase + APCI3501_ANALOG_OUTPUT);
|
||||
|
||||
while (ul_DAC_Ready == 0) {
|
||||
ul_DAC_Ready =
|
||||
inl(devpriv->iobase + APCI3501_ANALOG_OUTPUT);
|
||||
ul_DAC_Ready = (ul_DAC_Ready >> 8) & 1;
|
||||
}
|
||||
|
||||
if (ul_DAC_Ready) {
|
||||
/* Output the Value on the output channels. */
|
||||
ul_Command1 =
|
||||
(unsigned int) ((unsigned int) (i_Count & 0xFF) |
|
||||
(unsigned int) ((i_temp << 0x8) & 0x7FFFFF00L) |
|
||||
(unsigned int) (ul_Polarity));
|
||||
outl(ul_Command1,
|
||||
devpriv->iobase + APCI3501_ANALOG_OUTPUT +
|
||||
APCI3501_AO_PROG);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
+----------------------------------------------------------------------------+
|
||||
| Function Name : static void v_APCI3501_Interrupt |
|
||||
|
@ -19,7 +19,6 @@ static const struct addi_board apci3501_boardtypes[] = {
|
||||
.i_AoMaxdata = 16383,
|
||||
.pr_AoRangelist = &range_apci3501_ao,
|
||||
.interrupt = v_APCI3501_Interrupt,
|
||||
.reset = i_APCI3501_Reset,
|
||||
.ao_config = i_APCI3501_ConfigAnalogOutput,
|
||||
.ao_write = i_APCI3501_WriteAnalogOutput,
|
||||
},
|
||||
@ -85,11 +84,39 @@ 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 apci3501_reset(struct comedi_device *dev)
|
||||
{
|
||||
const struct addi_board *this_board = comedi_board(dev);
|
||||
struct addi_private *devpriv = dev->private;
|
||||
int i_Count = 0, i_temp = 0;
|
||||
unsigned int ul_Command1 = 0, ul_Polarity, ul_DAC_Ready = 0;
|
||||
|
||||
outl(0x0, devpriv->iobase + APCI3501_DIGITAL_OP);
|
||||
outl(1, devpriv->iobase + APCI3501_ANALOG_OUTPUT +
|
||||
APCI3501_AO_VOLT_MODE);
|
||||
|
||||
ul_Polarity = 0x80000000;
|
||||
|
||||
for (i_Count = 0; i_Count <= 7; i_Count++) {
|
||||
ul_DAC_Ready = inl(devpriv->iobase + APCI3501_ANALOG_OUTPUT);
|
||||
|
||||
while (ul_DAC_Ready == 0) {
|
||||
ul_DAC_Ready =
|
||||
inl(devpriv->iobase + APCI3501_ANALOG_OUTPUT);
|
||||
ul_DAC_Ready = (ul_DAC_Ready >> 8) & 1;
|
||||
}
|
||||
|
||||
if (ul_DAC_Ready) {
|
||||
/* Output the Value on the output channels. */
|
||||
ul_Command1 =
|
||||
(unsigned int) ((unsigned int) (i_Count & 0xFF) |
|
||||
(unsigned int) ((i_temp << 0x8) & 0x7FFFFF00L) |
|
||||
(unsigned int) (ul_Polarity));
|
||||
outl(ul_Command1,
|
||||
devpriv->iobase + APCI3501_ANALOG_OUTPUT +
|
||||
APCI3501_AO_PROG);
|
||||
}
|
||||
}
|
||||
|
||||
this_board->reset(dev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -256,7 +283,7 @@ static int apci3501_auto_attach(struct comedi_device *dev,
|
||||
s->type = COMEDI_SUBD_UNUSED;
|
||||
}
|
||||
|
||||
i_ADDI_Reset(dev);
|
||||
apci3501_reset(dev);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -267,7 +294,7 @@ static void apci3501_detach(struct comedi_device *dev)
|
||||
|
||||
if (devpriv) {
|
||||
if (dev->iobase)
|
||||
i_ADDI_Reset(dev);
|
||||
apci3501_reset(dev);
|
||||
if (dev->irq)
|
||||
free_irq(dev->irq, dev);
|
||||
if (devpriv->dw_AiBase)
|
||||
|
Loading…
Reference in New Issue
Block a user