aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH Hartley Sweeten <hsweeten@visionengravers.com>2015-05-01 14:58:32 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2015-05-09 19:05:03 +0200
commitf496471df95ef0a218d5ad8af9d6954f88c7072f (patch)
treea34d262f3a418743919470ae87ff2a27d98e80be
parentstaging: comedi: ni_stc.h: tidy up M_Offset_* values (diff)
staging: comedi: ni_stc.h: reg_type is not needed by MSeries_AI_Config_Bank_Bits()
This helper function sets the bits in the M_Offset_AI_Config_FIFO_Data register to select the correct bank to configure a given analog output channel. The NI M Series boards are defined by the boardinfo to have 16, 32, or 80 channels. Only 2 of the M Series boards have 80 channels, those boards happen to have a reg_type of ni_reg_622x. The bank for the 16 and 32 channel boards is selected by the 'channel & 0x30' calculation (comedi channels 0 to 15 or 31). This also selects the bank for the first 64 channels of the 80 channel boards. The additional '|= 0x400' sets the bank to access the extra channels (comedi channels >= 63). Since all the non ni_reg_622x boards have at most 32 channels, the extra check of the 'reg_type' is not required in this function. Remove it as well as the parameter. 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>
-rw-r--r--drivers/staging/comedi/drivers/ni_mio_common.c3
-rw-r--r--drivers/staging/comedi/drivers/ni_stc.h10
2 files changed, 5 insertions, 8 deletions
diff --git a/drivers/staging/comedi/drivers/ni_mio_common.c b/drivers/staging/comedi/drivers/ni_mio_common.c
index c1b1d7c95982..7e038a27fec0 100644
--- a/drivers/staging/comedi/drivers/ni_mio_common.c
+++ b/drivers/staging/comedi/drivers/ni_mio_common.c
@@ -1808,8 +1808,7 @@ static void ni_m_series_load_channelgain_list(struct comedi_device *dev,
break;
}
config_bits |= MSeries_AI_Config_Channel_Bits(chan);
- config_bits |=
- MSeries_AI_Config_Bank_Bits(board->reg_type, chan);
+ config_bits |= MSeries_AI_Config_Bank_Bits(chan);
config_bits |= MSeries_AI_Config_Gain_Bits(range_code);
if (i == n_chan - 1)
config_bits |= MSeries_AI_Config_Last_Channel_Bit;
diff --git a/drivers/staging/comedi/drivers/ni_stc.h b/drivers/staging/comedi/drivers/ni_stc.h
index 2efd1ec84cc5..aca6e5c34080 100644
--- a/drivers/staging/comedi/drivers/ni_stc.h
+++ b/drivers/staging/comedi/drivers/ni_stc.h
@@ -990,14 +990,12 @@ static inline unsigned MSeries_AI_Config_Channel_Bits(unsigned channel)
return channel & 0xf;
}
-static inline unsigned MSeries_AI_Config_Bank_Bits(enum ni_reg_type reg_type,
- unsigned channel)
+static inline unsigned MSeries_AI_Config_Bank_Bits(unsigned channel)
{
unsigned bits = channel & 0x30;
- if (reg_type == ni_reg_622x) {
- if (channel & 0x40)
- bits |= 0x400;
- }
+
+ if (channel & 0x40)
+ bits |= 0x400;
return bits;
}