Commit 6ba8dfef authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman

staging: comedi: me4000: remove struct me4000_ai_info

The me4000_aio_info in the boardinfo struct is used to indicate
the number of analog input channels and a couple other details
about them. Remove the extra struct and absorb the data into the
boardinfo struct.
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 898f5191
...@@ -68,46 +68,36 @@ static const struct me4000_board me4000_boards[] = { ...@@ -68,46 +68,36 @@ static const struct me4000_board me4000_boards[] = {
{ {
.name = "ME-4650", .name = "ME-4650",
.device_id = 0x4650, .device_id = 0x4650,
.ai = { .ai_nchan = 16,
.count = 16,
},
.dio_nchan = 32, .dio_nchan = 32,
}, { }, {
.name = "ME-4660", .name = "ME-4660",
.device_id = 0x4660, .device_id = 0x4660,
.ai = { .ai_nchan = 32,
.count = 32, .ai_diff_nchan = 16,
.diff_count = 16,
},
.dio_nchan = 32, .dio_nchan = 32,
.has_counter = 1, .has_counter = 1,
}, { }, {
.name = "ME-4660i", .name = "ME-4660i",
.device_id = 0x4661, .device_id = 0x4661,
.ai = { .ai_nchan = 32,
.count = 32, .ai_diff_nchan = 16,
.diff_count = 16,
},
.dio_nchan = 32, .dio_nchan = 32,
.has_counter = 1, .has_counter = 1,
}, { }, {
.name = "ME-4660s", .name = "ME-4660s",
.device_id = 0x4662, .device_id = 0x4662,
.ai = { .ai_nchan = 32,
.count = 32, .ai_diff_nchan = 16,
.sh_count = 8, .ai_sh_nchan = 8,
.diff_count = 16,
},
.dio_nchan = 32, .dio_nchan = 32,
.has_counter = 1, .has_counter = 1,
}, { }, {
.name = "ME-4660is", .name = "ME-4660is",
.device_id = 0x4663, .device_id = 0x4663,
.ai = { .ai_nchan = 32,
.count = 32, .ai_diff_nchan = 16,
.sh_count = 8, .ai_sh_nchan = 8,
.diff_count = 16,
},
.dio_nchan = 32, .dio_nchan = 32,
.has_counter = 1, .has_counter = 1,
}, { }, {
...@@ -116,11 +106,9 @@ static const struct me4000_board me4000_boards[] = { ...@@ -116,11 +106,9 @@ static const struct me4000_board me4000_boards[] = {
.ao = { .ao = {
.count = 4, .count = 4,
}, },
.ai = { .ai_nchan = 32,
.count = 32, .ai_diff_nchan = 16,
.diff_count = 16, .ex_trig_analog = 1,
.ex_trig_analog = 1,
},
.dio_nchan = 32, .dio_nchan = 32,
.has_counter = 1, .has_counter = 1,
}, { }, {
...@@ -129,11 +117,9 @@ static const struct me4000_board me4000_boards[] = { ...@@ -129,11 +117,9 @@ static const struct me4000_board me4000_boards[] = {
.ao = { .ao = {
.count = 4, .count = 4,
}, },
.ai = { .ai_nchan = 32,
.count = 32, .ai_diff_nchan = 16,
.diff_count = 16, .ex_trig_analog = 1,
.ex_trig_analog = 1,
},
.dio_nchan = 32, .dio_nchan = 32,
.has_counter = 1, .has_counter = 1,
}, { }, {
...@@ -142,12 +128,10 @@ static const struct me4000_board me4000_boards[] = { ...@@ -142,12 +128,10 @@ static const struct me4000_board me4000_boards[] = {
.ao = { .ao = {
.count = 4, .count = 4,
}, },
.ai = { .ai_nchan = 32,
.count = 32, .ai_diff_nchan = 16,
.sh_count = 8, .ai_sh_nchan = 8,
.diff_count = 16, .ex_trig_analog = 1,
.ex_trig_analog = 1,
},
.dio_nchan = 32, .dio_nchan = 32,
.has_counter = 1, .has_counter = 1,
}, { }, {
...@@ -156,12 +140,10 @@ static const struct me4000_board me4000_boards[] = { ...@@ -156,12 +140,10 @@ static const struct me4000_board me4000_boards[] = {
.ao = { .ao = {
.count = 4, .count = 4,
}, },
.ai = { .ai_nchan = 32,
.count = 32, .ai_diff_nchan = 16,
.sh_count = 8, .ai_sh_nchan = 8,
.diff_count = 16, .ex_trig_analog = 1,
.ex_trig_analog = 1,
},
.dio_nchan = 32, .dio_nchan = 32,
.has_counter = 1, .has_counter = 1,
}, { }, {
...@@ -171,11 +153,9 @@ static const struct me4000_board me4000_boards[] = { ...@@ -171,11 +153,9 @@ static const struct me4000_board me4000_boards[] = {
.count = 4, .count = 4,
.fifo_count = 4, .fifo_count = 4,
}, },
.ai = { .ai_nchan = 32,
.count = 32, .ai_diff_nchan = 16,
.diff_count = 16, .ex_trig_analog = 1,
.ex_trig_analog = 1,
},
.dio_nchan = 32, .dio_nchan = 32,
.has_counter = 1, .has_counter = 1,
}, { }, {
...@@ -185,11 +165,9 @@ static const struct me4000_board me4000_boards[] = { ...@@ -185,11 +165,9 @@ static const struct me4000_board me4000_boards[] = {
.count = 4, .count = 4,
.fifo_count = 4, .fifo_count = 4,
}, },
.ai = { .ai_nchan = 32,
.count = 32, .ai_diff_nchan = 16,
.diff_count = 16, .ex_trig_analog = 1,
.ex_trig_analog = 1,
},
.dio_nchan = 32, .dio_nchan = 32,
.has_counter = 1, .has_counter = 1,
}, { }, {
...@@ -199,12 +177,10 @@ static const struct me4000_board me4000_boards[] = { ...@@ -199,12 +177,10 @@ static const struct me4000_board me4000_boards[] = {
.count = 4, .count = 4,
.fifo_count = 4, .fifo_count = 4,
}, },
.ai = { .ai_nchan = 32,
.count = 32, .ai_diff_nchan = 16,
.sh_count = 8, .ai_sh_nchan = 8,
.diff_count = 16, .ex_trig_analog = 1,
.ex_trig_analog = 1,
},
.dio_nchan = 32, .dio_nchan = 32,
.has_counter = 1, .has_counter = 1,
}, { }, {
...@@ -214,12 +190,10 @@ static const struct me4000_board me4000_boards[] = { ...@@ -214,12 +190,10 @@ static const struct me4000_board me4000_boards[] = {
.count = 4, .count = 4,
.fifo_count = 4, .fifo_count = 4,
}, },
.ai = { .ai_nchan = 32,
.count = 32, .ai_diff_nchan = 16,
.sh_count = 8, .ai_sh_nchan = 8,
.diff_count = 16, .ex_trig_analog = 1,
.ex_trig_analog = 1,
},
.dio_nchan = 32, .dio_nchan = 32,
.has_counter = 1, .has_counter = 1,
}, },
...@@ -809,7 +783,7 @@ static int me4000_ai_insn_read(struct comedi_device *dev, ...@@ -809,7 +783,7 @@ static int me4000_ai_insn_read(struct comedi_device *dev,
switch (aref) { switch (aref) {
case AREF_GROUND: case AREF_GROUND:
case AREF_COMMON: case AREF_COMMON:
if (chan >= thisboard->ai.count) { if (chan >= thisboard->ai_nchan) {
printk(KERN_ERR printk(KERN_ERR
"comedi%d: me4000: me4000_ai_insn_read(): " "comedi%d: me4000: me4000_ai_insn_read(): "
"Analog input is not available\n", dev->minor); "Analog input is not available\n", dev->minor);
...@@ -827,7 +801,7 @@ static int me4000_ai_insn_read(struct comedi_device *dev, ...@@ -827,7 +801,7 @@ static int me4000_ai_insn_read(struct comedi_device *dev,
return -EINVAL; return -EINVAL;
} }
if (chan >= thisboard->ai.diff_count) { if (chan >= thisboard->ai_diff_nchan) {
printk(KERN_ERR printk(KERN_ERR
"comedi%d: me4000: me4000_ai_insn_read(): " "comedi%d: me4000: me4000_ai_insn_read(): "
"Analog input is not available\n", dev->minor); "Analog input is not available\n", dev->minor);
...@@ -949,7 +923,7 @@ static int ai_check_chanlist(struct comedi_device *dev, ...@@ -949,7 +923,7 @@ static int ai_check_chanlist(struct comedi_device *dev,
if (aref == SDF_DIFF) { if (aref == SDF_DIFF) {
for (i = 0; i < cmd->chanlist_len; i++) { for (i = 0; i < cmd->chanlist_len; i++) {
if (CR_CHAN(cmd->chanlist[i]) >= if (CR_CHAN(cmd->chanlist[i]) >=
thisboard->ai.diff_count) { thisboard->ai_diff_nchan) {
printk(KERN_ERR printk(KERN_ERR
"comedi%d: me4000: ai_check_chanlist():" "comedi%d: me4000: ai_check_chanlist():"
" Channel number to high\n", dev->minor); " Channel number to high\n", dev->minor);
...@@ -958,7 +932,7 @@ static int ai_check_chanlist(struct comedi_device *dev, ...@@ -958,7 +932,7 @@ static int ai_check_chanlist(struct comedi_device *dev,
} }
} else { } else {
for (i = 0; i < cmd->chanlist_len; i++) { for (i = 0; i < cmd->chanlist_len; i++) {
if (CR_CHAN(cmd->chanlist[i]) >= thisboard->ai.count) { if (CR_CHAN(cmd->chanlist[i]) >= thisboard->ai_nchan) {
printk(KERN_ERR printk(KERN_ERR
"comedi%d: me4000: ai_check_chanlist(): " "comedi%d: me4000: ai_check_chanlist(): "
"Channel number to high\n", dev->minor); "Channel number to high\n", dev->minor);
...@@ -2157,11 +2131,11 @@ static int me4000_attach(struct comedi_device *dev, struct comedi_devconfig *it) ...@@ -2157,11 +2131,11 @@ static int me4000_attach(struct comedi_device *dev, struct comedi_devconfig *it)
s = &dev->subdevices[0]; s = &dev->subdevices[0];
if (thisboard->ai.count) { if (thisboard->ai_nchan) {
s->type = COMEDI_SUBD_AI; s->type = COMEDI_SUBD_AI;
s->subdev_flags = s->subdev_flags =
SDF_READABLE | SDF_COMMON | SDF_GROUND | SDF_DIFF; SDF_READABLE | SDF_COMMON | SDF_GROUND | SDF_DIFF;
s->n_chan = thisboard->ai.count; s->n_chan = thisboard->ai_nchan;
s->maxdata = 0xFFFF; /* 16 bit ADC */ s->maxdata = 0xFFFF; /* 16 bit ADC */
s->len_chanlist = ME4000_AI_CHANNEL_LIST_COUNT; s->len_chanlist = ME4000_AI_CHANNEL_LIST_COUNT;
s->range_table = &me4000_ai_range; s->range_table = &me4000_ai_range;
......
...@@ -261,18 +261,14 @@ struct me4000_ao_info { ...@@ -261,18 +261,14 @@ struct me4000_ao_info {
int fifo_count; int fifo_count;
}; };
struct me4000_ai_info {
int count;
int sh_count;
int diff_count;
int ex_trig_analog;
};
struct me4000_board { struct me4000_board {
const char *name; const char *name;
unsigned short device_id; unsigned short device_id;
struct me4000_ao_info ao; struct me4000_ao_info ao;
struct me4000_ai_info ai; int ai_nchan;
int ai_diff_nchan;
int ai_sh_nchan;
int ex_trig_analog;
int dio_nchan; int dio_nchan;
int has_counter; int has_counter;
}; };
......
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