staging: comedi: ni_tio: absorb ni_tio_counter_status()
authorH Hartley Sweeten <hsweeten@visionengravers.com>
Thu, 24 Jul 2014 17:14:57 +0000 (10:14 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 27 Jul 2014 18:16:48 +0000 (11:16 -0700)
This function is only called to handle the INSN_CONFIG_GET_COUNTER_STATUS
instruction. For aesthetics, absorb the code into ni_tio_insn_config().

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_tio.c

index d099f542b796bc20cec6e8c9907e3302037b7d97..f0578484fba4decc26a4f18967f1732598c3d9d6 100644 (file)
@@ -205,21 +205,6 @@ static void ni_tio_reset_count_and_disarm(struct ni_gpct *counter)
        write_register(counter, Gi_Reset_Bit(cidx), NITIO_RESET_REG(cidx));
 }
 
-static unsigned int ni_tio_counter_status(struct ni_gpct *counter)
-{
-       unsigned cidx = counter->counter_index;
-       const unsigned bits = read_register(counter,
-                                           NITIO_SHARED_STATUS_REG(cidx));
-       unsigned int status = 0;
-
-       if (bits & Gi_Armed_Bit(cidx)) {
-               status |= COMEDI_COUNTER_ARMED;
-               if (bits & Gi_Counting_Bit(cidx))
-                       status |= COMEDI_COUNTER_COUNTING;
-       }
-       return status;
-}
-
 static void ni_tio_set_sync_mode(struct ni_gpct *counter, int force_alt_sync)
 {
        struct ni_gpct_device *counter_dev = counter->counter_dev;
@@ -1282,6 +1267,8 @@ int ni_tio_insn_config(struct comedi_device *dev,
                       unsigned int *data)
 {
        struct ni_gpct *counter = s->private;
+       unsigned cidx = counter->counter_index;
+       unsigned status;
 
        switch (data[0]) {
        case INSN_CONFIG_SET_COUNTER_MODE:
@@ -1292,7 +1279,13 @@ int ni_tio_insn_config(struct comedi_device *dev,
                ni_tio_arm(counter, 0, 0);
                return 0;
        case INSN_CONFIG_GET_COUNTER_STATUS:
-               data[1] = ni_tio_counter_status(counter);
+               data[1] = 0;
+               status = read_register(counter, NITIO_SHARED_STATUS_REG(cidx));
+               if (status & Gi_Armed_Bit(cidx)) {
+                       data[1] |= COMEDI_COUNTER_ARMED;
+                       if (status & Gi_Counting_Bit(cidx))
+                               data[1] |= COMEDI_COUNTER_COUNTING;
+               }
                data[2] = COMEDI_COUNTER_ARMED | COMEDI_COUNTER_COUNTING;
                return 0;
        case INSN_CONFIG_SET_CLOCK_SRC: