The init/reset of the hardware is a bit scattered in this function. For
aesthetics, move the init of the clock dividers so it happens early and
tidy up the code a bit.

Signed-off-by: H Hartley Sweeten <hswee...@visionengravers.com>
Cc: Ian Abbott <abbo...@mev.co.uk>
Cc: Greg Kroah-Hartman <gr...@linuxfoundation.org>
---
 drivers/staging/comedi/drivers/ni_mio_common.c | 27 ++++++++++++--------------
 1 file changed, 12 insertions(+), 15 deletions(-)

diff --git a/drivers/staging/comedi/drivers/ni_mio_common.c 
b/drivers/staging/comedi/drivers/ni_mio_common.c
index dc5f927..6d1754f 100644
--- a/drivers/staging/comedi/drivers/ni_mio_common.c
+++ b/drivers/staging/comedi/drivers/ni_mio_common.c
@@ -5499,6 +5499,18 @@ static int ni_E_init(struct comedi_device *dev,
                return -EINVAL;
        }
 
+       /* initialize clock dividers */
+       devpriv->clock_and_fout = Slow_Internal_Time_Divide_By_2 |
+                                 Slow_Internal_Timebase |
+                                 Clock_To_Board_Divide_By_2 |
+                                 Clock_To_Board;
+       if (!devpriv->is_6xxx) {
+               /* BEAM is this needed for PCI-6143 ?? */
+               devpriv->clock_and_fout |= (AI_Output_Divide_By_2 |
+                                           AO_Output_Divide_By_2);
+       }
+       ni_stc_writew(dev, devpriv->clock_and_fout, Clock_and_FOUT_Register);
+
        ret = comedi_alloc_subdevices(dev, NI_NUM_SUBDEVICES);
        if (ret)
                return ret;
@@ -5770,21 +5782,6 @@ static int ni_E_init(struct comedi_device *dev,
        /* ai configuration */
        s = &dev->subdevices[NI_AI_SUBDEV];
        ni_ai_reset(dev, s);
-       if (!devpriv->is_6xxx) {
-               /*  BEAM is this needed for PCI-6143 ?? */
-               devpriv->clock_and_fout =
-                   Slow_Internal_Time_Divide_By_2 |
-                   Slow_Internal_Timebase |
-                   Clock_To_Board_Divide_By_2 |
-                   Clock_To_Board |
-                   AI_Output_Divide_By_2 | AO_Output_Divide_By_2;
-       } else {
-               devpriv->clock_and_fout =
-                   Slow_Internal_Time_Divide_By_2 |
-                   Slow_Internal_Timebase |
-                   Clock_To_Board_Divide_By_2 | Clock_To_Board;
-       }
-       ni_stc_writew(dev, devpriv->clock_and_fout, Clock_and_FOUT_Register);
 
        /* analog output configuration */
        s = &dev->subdevices[NI_AO_SUBDEV];
-- 
1.9.3

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to