There are two boards supported by this driver. One with 16-bit analog
inputs and the other 12-bit analog inputs.
Add a bit field flag, 'ai_is_16bit', to the boardinfo and remove the
'i_AiMaxdata' member. Use the new flag to initialize tne analog input
subdevice maxdata correctly.
For aesthetics, adjust the whitespace in the boardinfo declaration.
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>
struct apci3120_board {
const char *name;
- int i_AiMaxdata;
+ unsigned int ai_is_16bit:1;
unsigned int has_ao:1;
};
static const struct apci3120_board apci3120_boardtypes[] = {
[BOARD_APCI3120] = {
- .name = "apci3120",
- .i_AiMaxdata = 0xffff,
- .has_ao = 1,
+ .name = "apci3120",
+ .ai_is_16bit = 1,
+ .has_ao = 1,
},
[BOARD_APCI3001] = {
- .name = "apci3001",
- .i_AiMaxdata = 0xfff,
+ .name = "apci3001",
},
};
SDF_READABLE | SDF_COMMON | SDF_GROUND
| SDF_DIFF;
s->n_chan = 16;
- s->maxdata = this_board->i_AiMaxdata;
+ s->maxdata = this_board->ai_is_16bit ? 0xffff : 0x0fff;
s->len_chanlist = s->n_chan;
s->range_table = &range_apci3120_ai;