summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH Hartley Sweeten <hsweeten@visionengravers.com>2013-01-23 12:38:21 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-01-25 12:00:28 -0800
commit678a4d3ab159b776a7cb9c8ca9fdaf5498f3423a (patch)
treefb7850926d8f98807625997e0a91c28a07b4431e
parente54ae8f6d4920a6734b909a44a601e0d722a84ac (diff)
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>
-rw-r--r--drivers/staging/comedi/drivers/addi-data/hwdrv_apci3501.c52
-rw-r--r--drivers/staging/comedi/drivers/addi_apci_3501.c39
2 files changed, 33 insertions, 58 deletions
diff --git a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3501.c b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3501.c
index 4ecdb9e20f4f..733c7933f79f 100644
--- a/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3501.c
+++ b/drivers/staging/comedi/drivers/addi-data/hwdrv_apci3501.c
@@ -470,58 +470,6 @@ static int i_APCI3501_ReadTimerCounterWatchdog(struct comedi_device *dev,
/*
+----------------------------------------------------------------------------+
-| 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 |
| (int irq , void *d) |
+----------------------------------------------------------------------------+
diff --git a/drivers/staging/comedi/drivers/addi_apci_3501.c b/drivers/staging/comedi/drivers/addi_apci_3501.c
index 5d1433966dcb..d6a96bd0f1d7 100644
--- a/drivers/staging/comedi/drivers/addi_apci_3501.c
+++ b/drivers/staging/comedi/drivers/addi_apci_3501.c
@@ -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)