diff options
| author | 2015-05-01 14:58:32 -0700 | |
|---|---|---|
| committer | 2015-05-09 19:05:03 +0200 | |
| commit | f496471df95ef0a218d5ad8af9d6954f88c7072f (patch) | |
| tree | a34d262f3a418743919470ae87ff2a27d98e80be | |
| parent | staging: 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.c | 3 | ||||
| -rw-r--r-- | drivers/staging/comedi/drivers/ni_stc.h | 10 |
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; } |
