OSDN Git Service

staging: comedi: ni_stc.h: tidy up AI_Output_Control_Register and bits
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Fri, 1 May 2015 21:59:16 +0000 (14:59 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 9 May 2015 17:05:11 +0000 (19:05 +0200)
Rename the CamelCase. Use the BIT() macro to define the bits.

Tidy up the programming of this register un ni_ai_reset() by using a
local variable to set the common bits then writing the register in the
common code path.

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/ni_mio_common.c
drivers/staging/comedi/drivers/ni_stc.h

index fcb8362..20557b5 100644 (file)
@@ -355,7 +355,7 @@ static const struct mio_regmap m_series_stc_write_regmap[] = {
        [NISTC_IO_BIDIR_PIN_REG]        = { 0x172, 2 },
        [NISTC_RTSI_TRIG_DIR_REG]       = { 0x174, 2 },
        [NISTC_INT_CTRL_REG]            = { 0x176, 2 },
-       [AI_Output_Control_Register]    = { 0x178, 2 },
+       [NISTC_AI_OUT_CTRL_REG]         = { 0x178, 2 },
        [Analog_Trigger_Etc_Register]   = { 0x17a, 2 },
        [AI_START_STOP_Select_Register] = { 0x17c, 2 },
        [AI_Trigger_Select_Register]    = { 0x17e, 2 },
@@ -1608,6 +1608,7 @@ static int ni_ao_setup_MITE_dma(struct comedi_device *dev)
 static int ni_ai_reset(struct comedi_device *dev, struct comedi_subdevice *s)
 {
        struct ni_private *devpriv = dev->private;
+       unsigned ai_out_ctrl;
 
        ni_release_ai_mite_channel(dev);
        /* ai configuration */
@@ -1633,65 +1634,45 @@ static int ni_ai_reset(struct comedi_device *dev, struct comedi_subdevice *s)
        ni_stc_writew(dev, 0, NISTC_AI_MODE2_REG);
        /* generate FIFO interrupts on non-empty */
        ni_stc_writew(dev, (0 << 6) | 0x0000, AI_Mode_3_Register);
+
+       ai_out_ctrl = NISTC_AI_OUT_CTRL_SCAN_IN_PROG_SEL(3) |
+                     NISTC_AI_OUT_CTRL_EXTMUX_CLK_SEL(0) |
+                     NISTC_AI_OUT_CTRL_LOCALMUX_CLK_SEL(2) |
+                     NISTC_AI_OUT_CTRL_SC_TC_SEL(3);
        if (devpriv->is_611x) {
                ni_stc_writew(dev,
                              AI_SHIFTIN_Pulse_Width |
                              AI_SOC_Polarity |
                              AI_LOCALMUX_CLK_Pulse_Width,
                              AI_Personal_Register);
-               ni_stc_writew(dev,
-                             AI_SCAN_IN_PROG_Output_Select(3) |
-                             AI_EXTMUX_CLK_Output_Select(0) |
-                             AI_LOCALMUX_CLK_Output_Select(2) |
-                             AI_SC_TC_Output_Select(3) |
-                             AI_CONVERT_Output_Select
-                             (AI_CONVERT_Output_Enable_High),
-                             AI_Output_Control_Register);
+               ai_out_ctrl |= NISTC_AI_OUT_CTRL_CONVERT_HIGH;
        } else if (devpriv->is_6143) {
                ni_stc_writew(dev, AI_SHIFTIN_Pulse_Width |
                                   AI_SOC_Polarity |
                                   AI_LOCALMUX_CLK_Pulse_Width,
                              AI_Personal_Register);
-               ni_stc_writew(dev,
-                             AI_SCAN_IN_PROG_Output_Select(3) |
-                             AI_EXTMUX_CLK_Output_Select(0) |
-                             AI_LOCALMUX_CLK_Output_Select(2) |
-                             AI_SC_TC_Output_Select(3) |
-                             AI_CONVERT_Output_Select
-                             (AI_CONVERT_Output_Enable_Low),
-                             AI_Output_Control_Register);
+               ai_out_ctrl |= NISTC_AI_OUT_CTRL_CONVERT_LOW;
        } else {
-               unsigned ai_output_control_bits;
-
                ni_stc_writew(dev,
                              AI_SHIFTIN_Pulse_Width |
                              AI_SOC_Polarity |
                              AI_CONVERT_Pulse_Width |
                              AI_LOCALMUX_CLK_Pulse_Width,
                              AI_Personal_Register);
-               ai_output_control_bits =
-                   AI_SCAN_IN_PROG_Output_Select(3) |
-                   AI_EXTMUX_CLK_Output_Select(0) |
-                   AI_LOCALMUX_CLK_Output_Select(2) |
-                   AI_SC_TC_Output_Select(3);
                if (devpriv->is_622x)
-                       ai_output_control_bits |=
-                           AI_CONVERT_Output_Select
-                           (AI_CONVERT_Output_Enable_High);
+                       ai_out_ctrl |= NISTC_AI_OUT_CTRL_CONVERT_HIGH;
                else
-                       ai_output_control_bits |=
-                           AI_CONVERT_Output_Select
-                           (AI_CONVERT_Output_Enable_Low);
-               ni_stc_writew(dev, ai_output_control_bits,
-                             AI_Output_Control_Register);
+                       ai_out_ctrl |= NISTC_AI_OUT_CTRL_CONVERT_LOW;
        }
+       ni_stc_writew(dev, ai_out_ctrl, NISTC_AI_OUT_CTRL_REG);
+
        /* the following registers should not be changed, because there
         * are no backup registers in devpriv.  If you want to change
         * any of these, add a backup register and other appropriate code:
         *      NISTC_AI_MODE1_REG
         *      AI_Mode_3_Register
         *      AI_Personal_Register
-        *      AI_Output_Control_Register
+        *      NISTC_AI_OUT_CTRL_REG
         */
 
        /* clear interrupts */
index 5004691..69156af 100644 (file)
 #define NISTC_INT_CTRL_3PIN_INT                BIT(1)
 #define NISTC_INT_CTRL_INT_POL         BIT(0)
 
+#define NISTC_AI_OUT_CTRL_REG          60
+#define NISTC_AI_OUT_CTRL_START_SEL    BIT(10)
+#define NISTC_AI_OUT_CTRL_SCAN_IN_PROG_SEL(x)  (((x) & 0x3) << 8)
+#define NISTC_AI_OUT_CTRL_EXTMUX_CLK_SEL(x)    (((x) & 0x3) << 6)
+#define NISTC_AI_OUT_CTRL_LOCALMUX_CLK_SEL(x)  (((x) & 0x3) << 4)
+#define NISTC_AI_OUT_CTRL_SC_TC_SEL(x)         (((x) & 0x3) << 2)
+#define NISTC_AI_OUT_CTRL_CONVERT_SEL(x)       (((x) & 0x3) << 0)
+#define NISTC_AI_OUT_CTRL_CONVERT_HIGH_Z       NISTC_AI_OUT_CTRL_CONVERT_SEL(0)
+#define NISTC_AI_OUT_CTRL_CONVERT_GND          NISTC_AI_OUT_CTRL_CONVERT_SEL(1)
+#define NISTC_AI_OUT_CTRL_CONVERT_LOW          NISTC_AI_OUT_CTRL_CONVERT_SEL(2)
+#define NISTC_AI_OUT_CTRL_CONVERT_HIGH         NISTC_AI_OUT_CTRL_CONVERT_SEL(3)
+
 #define AI_Status_1_Register           2
 #define Interrupt_A_St                         0x8000
 #define AI_FIFO_Full_St                                0x4000
@@ -353,24 +365,6 @@ enum Joint_Status_2_Bits {
 #define AO_BC_Save_Registers           18
 #define AO_UC_Save_Registers           20
 
-#define AI_Output_Control_Register     60
-#define AI_START_Output_Select                 _bit10
-#define AI_SCAN_IN_PROG_Output_Select(x)       (((x) & 0x3) << 8)
-#define AI_EXTMUX_CLK_Output_Select(x)         (((x) & 0x3) << 6)
-#define AI_LOCALMUX_CLK_Output_Select(x)       ((x)<<4)
-#define AI_SC_TC_Output_Select(x)              ((x)<<2)
-enum ai_convert_output_selection {
-       AI_CONVERT_Output_High_Z = 0,
-       AI_CONVERT_Output_Ground = 1,
-       AI_CONVERT_Output_Enable_Low = 2,
-       AI_CONVERT_Output_Enable_High = 3
-};
-static unsigned AI_CONVERT_Output_Select(enum ai_convert_output_selection
-                                        selection)
-{
-       return selection & 0x3;
-}
-
 #define AI_START_STOP_Select_Register  62
 #define AI_START_Polarity                      _bit15
 #define AI_STOP_Polarity                       _bit14