Commit 23e3cce3 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: cb_pcidas: simplify the boardinfo

The boardinfo values 'has_ai_trig_gated' and 'has_ai_trig_invert'
are both only set for the "1602" versions of the boards supported
by this driver.

Simplify the boardinfo, and the code, by replacing these two
variables with one "is_1602" variable.
Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 4466fc45
...@@ -250,8 +250,7 @@ struct cb_pcidas_board { ...@@ -250,8 +250,7 @@ struct cb_pcidas_board {
const struct comedi_lrange *ranges; const struct comedi_lrange *ranges;
enum trimpot_model trimpot; enum trimpot_model trimpot;
unsigned has_dac08:1; unsigned has_dac08:1;
unsigned has_ai_trig_gated:1; /* Tells if the AI trigger can be gated */ unsigned is_1602:1;
unsigned has_ai_trig_invert:1; /* Tells if the AI trigger can be inverted */
}; };
static const struct cb_pcidas_board cb_pcidas_boards[] = { static const struct cb_pcidas_board cb_pcidas_boards[] = {
...@@ -269,8 +268,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = { ...@@ -269,8 +268,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
.ranges = &cb_pcidas_ranges, .ranges = &cb_pcidas_ranges,
.trimpot = AD8402, .trimpot = AD8402,
.has_dac08 = 1, .has_dac08 = 1,
.has_ai_trig_gated = 1, .is_1602 = 1,
.has_ai_trig_invert = 1,
}, },
{ {
.name = "pci-das1200", .name = "pci-das1200",
...@@ -285,8 +283,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = { ...@@ -285,8 +283,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
.ranges = &cb_pcidas_ranges, .ranges = &cb_pcidas_ranges,
.trimpot = AD7376, .trimpot = AD7376,
.has_dac08 = 0, .has_dac08 = 0,
.has_ai_trig_gated = 0, .is_1602 = 0,
.has_ai_trig_invert = 0,
}, },
{ {
.name = "pci-das1602/12", .name = "pci-das1602/12",
...@@ -302,8 +299,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = { ...@@ -302,8 +299,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
.ranges = &cb_pcidas_ranges, .ranges = &cb_pcidas_ranges,
.trimpot = AD7376, .trimpot = AD7376,
.has_dac08 = 0, .has_dac08 = 0,
.has_ai_trig_gated = 1, .is_1602 = 1,
.has_ai_trig_invert = 1,
}, },
{ {
.name = "pci-das1200/jr", .name = "pci-das1200/jr",
...@@ -318,8 +314,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = { ...@@ -318,8 +314,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
.ranges = &cb_pcidas_ranges, .ranges = &cb_pcidas_ranges,
.trimpot = AD7376, .trimpot = AD7376,
.has_dac08 = 0, .has_dac08 = 0,
.has_ai_trig_gated = 0, .is_1602 = 0,
.has_ai_trig_invert = 0,
}, },
{ {
.name = "pci-das1602/16/jr", .name = "pci-das1602/16/jr",
...@@ -334,8 +329,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = { ...@@ -334,8 +329,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
.ranges = &cb_pcidas_ranges, .ranges = &cb_pcidas_ranges,
.trimpot = AD8402, .trimpot = AD8402,
.has_dac08 = 1, .has_dac08 = 1,
.has_ai_trig_gated = 1, .is_1602 = 1,
.has_ai_trig_invert = 1,
}, },
{ {
.name = "pci-das1000", .name = "pci-das1000",
...@@ -350,8 +344,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = { ...@@ -350,8 +344,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
.ranges = &cb_pcidas_ranges, .ranges = &cb_pcidas_ranges,
.trimpot = AD7376, .trimpot = AD7376,
.has_dac08 = 0, .has_dac08 = 0,
.has_ai_trig_gated = 0, .is_1602 = 0,
.has_ai_trig_invert = 0,
}, },
{ {
.name = "pci-das1001", .name = "pci-das1001",
...@@ -366,8 +359,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = { ...@@ -366,8 +359,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
.ranges = &cb_pcidas_alt_ranges, .ranges = &cb_pcidas_alt_ranges,
.trimpot = AD7376, .trimpot = AD7376,
.has_dac08 = 0, .has_dac08 = 0,
.has_ai_trig_gated = 0, .is_1602 = 0,
.has_ai_trig_invert = 0,
}, },
{ {
.name = "pci-das1002", .name = "pci-das1002",
...@@ -382,8 +374,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = { ...@@ -382,8 +374,7 @@ static const struct cb_pcidas_board cb_pcidas_boards[] = {
.ranges = &cb_pcidas_ranges, .ranges = &cb_pcidas_ranges,
.trimpot = AD7376, .trimpot = AD7376,
.has_dac08 = 0, .has_dac08 = 0,
.has_ai_trig_gated = 0, .is_1602 = 0,
.has_ai_trig_invert = 0,
}, },
}; };
...@@ -938,8 +929,7 @@ static int cb_pcidas_ai_cmdtest(struct comedi_device *dev, ...@@ -938,8 +929,7 @@ static int cb_pcidas_ai_cmdtest(struct comedi_device *dev,
~(CR_FLAGS_MASK & ~(CR_EDGE | CR_INVERT)); ~(CR_FLAGS_MASK & ~(CR_EDGE | CR_INVERT));
err++; err++;
} }
if (!thisboard->has_ai_trig_invert && if (!thisboard->is_1602 && (cmd->start_arg & CR_INVERT)) {
(cmd->start_arg & CR_INVERT)) {
cmd->start_arg &= (CR_FLAGS_MASK & ~CR_INVERT); cmd->start_arg &= (CR_FLAGS_MASK & ~CR_INVERT);
err++; err++;
} }
...@@ -1118,11 +1108,12 @@ static int cb_pcidas_ai_cmd(struct comedi_device *dev, ...@@ -1118,11 +1108,12 @@ static int cb_pcidas_ai_cmd(struct comedi_device *dev,
bits |= SW_TRIGGER; bits |= SW_TRIGGER;
else if (cmd->start_src == TRIG_EXT) { else if (cmd->start_src == TRIG_EXT) {
bits |= EXT_TRIGGER | TGEN | XTRCL; bits |= EXT_TRIGGER | TGEN | XTRCL;
if (thisboard->has_ai_trig_invert if (thisboard->is_1602) {
&& (cmd->start_arg & CR_INVERT)) if (cmd->start_arg & CR_INVERT)
bits |= TGPOL; bits |= TGPOL;
if (thisboard->has_ai_trig_gated && (cmd->start_arg & CR_EDGE)) if (cmd->start_arg & CR_EDGE)
bits |= TGSEL; bits |= TGSEL;
}
} else { } else {
comedi_error(dev, "bug!"); comedi_error(dev, "bug!");
return -1; return -1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment