The boards supported by this driver either have 12-bit or 16-bit analog
inputs. For aesthetics, replace the 'ai_maxdata' member in the boardinfo
with a bit-field flag, 'ai_is_16bit', and refactor the subdevice init to
use the new member.
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 boardtype {
const char *name; /* board name */
int device_id; /* PCI device ID of card */
- int ai_maxdata; /* resolution of A/D */
+ unsigned int ai_is_16bit:1;
unsigned int is_hg:1;
};
{
.name = "pci9118dg",
.device_id = 0x80d9,
- .ai_maxdata = 0x0fff,
}, {
.name = "pci9118hg",
.device_id = 0x80d9,
- .ai_maxdata = 0x0fff,
.is_hg = 1,
}, {
.name = "pci9118hr",
.device_id = 0x80d9,
- .ai_maxdata = 0xffff,
+ .ai_is_16bit = 1,
},
};
else
s->n_chan = 16;
- s->maxdata = this_board->ai_maxdata;
+ s->maxdata = this_board->ai_is_16bit ? 0xffff : 0x0fff;
s->range_table = this_board->is_hg ? &pci9118hg_ai_range
: &pci9118_ai_range;
s->insn_read = pci9118_insn_read_ai;