staging: comedi: me_daq: fix me_ao_insn_write()
authorH Hartley Sweeten <hartleys@visionengravers.com>
Thu, 25 Oct 2012 22:09:47 +0000 (15:09 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 26 Oct 2012 16:20:02 +0000 (09:20 -0700)
commit14d09f79d7b792d20131bc2f25a3d8a8e7cd593f
tree326af699ccab8b527428b82a164f88daead24f67
parent91b0da570722faf2e6a06f999e789405161943b5
staging: comedi: me_daq: fix me_ao_insn_write()

This function is supposed to write to a single analog output channel.
The channel number is packed in insn->chanspec, which is an unsigned
int, and unpacked using the CR_CHAN() macro.

Currently this function is trying to use the chanspec as an array.
This works only if a single value is written.

Fix the function so that the desired channel is determined and all
the data is written to that channel.

Also, fix the return. The comedi core expects insn_read functions to
return the number of data values (insn->n).

Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Cc: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers/me_daq.c