This simple function is only called by ni_660x_dio_insn_config().

Signed-off-by: H Hartley Sweeten <[email protected]>
Cc: Ian Abbott <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
---
 drivers/staging/comedi/drivers/ni_660x.c | 16 +++++-----------
 1 file changed, 5 insertions(+), 11 deletions(-)

diff --git a/drivers/staging/comedi/drivers/ni_660x.c 
b/drivers/staging/comedi/drivers/ni_660x.c
index cdadc0b..360d873e 100644
--- a/drivers/staging/comedi/drivers/ni_660x.c
+++ b/drivers/staging/comedi/drivers/ni_660x.c
@@ -1114,22 +1114,13 @@ static int ni_660x_set_pfi_routing(struct comedi_device 
*dev, unsigned chan,
        return 0;
 }
 
-static void ni660x_config_filter(struct comedi_device *dev,
-                                unsigned pfi_channel,
-                                enum ni_gpct_filter_select filter)
-{
-       unsigned bits = ni_660x_read_register(dev, 0, IOConfigReg(pfi_channel));
-       bits &= ~pfi_input_select_mask(pfi_channel);
-       bits |= pfi_input_select_bits(pfi_channel, filter);
-       ni_660x_write_register(dev, 0, bits, IOConfigReg(pfi_channel));
-}
-
 static int ni_660x_dio_insn_config(struct comedi_device *dev,
                                   struct comedi_subdevice *s,
                                   struct comedi_insn *insn, unsigned int *data)
 {
        struct ni_660x_private *devpriv = dev->private;
        int chan = CR_CHAN(insn->chanspec);
+       unsigned int val;
 
        /* The input or output configuration of each digital line is
         * configured by a special insn_config instruction.  chanspec
@@ -1158,7 +1149,10 @@ static int ni_660x_dio_insn_config(struct comedi_device 
*dev,
                data[1] = devpriv->pfi_output_selects[chan];
                break;
        case INSN_CONFIG_FILTER:
-               ni660x_config_filter(dev, chan, data[1]);
+               val = ni_660x_read_register(dev, 0, IOConfigReg(chan));
+               val &= ~pfi_input_select_mask(chan);
+               val |= pfi_input_select_bits(chan, data[1]);
+               ni_660x_write_register(dev, 0, val, IOConfigReg(chan));
                break;
        default:
                return -EINVAL;
-- 
1.7.11

_______________________________________________
devel mailing list
[email protected]
http://driverdev.linuxdriverproject.org/mailman/listinfo/devel

Reply via email to