staging: comedi: sparse warning in insn_rw_emulate_bits()
authorIan Abbott <abbotti@mev.co.uk>
Tue, 18 Sep 2012 18:46:59 +0000 (19:46 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Sep 2012 10:26:12 +0000 (11:26 +0100)
commit9f82e95773f0f02cfc948c8346a61d161f4eb61b
tree4b74878fcfbbbaf5f9e98051b99e5a8e3cd88e64
parentdc881f294eb957bded69b5e7f2f72831e2d00ac4
staging: comedi: sparse warning in insn_rw_emulate_bits()

`insn_rw_emulate_bits()` is used to emulate the `INSN_READ` and
`INSN_WRITE` comedi instructions for subdevices that don't have an
`insn_read()` or `insn_write()` handler but do have an `insn_bits()`
handler.

The function fills in a temporary `struct comedi_insn` called `new_insn`
to pass to the subdevice's `insn_bits()` handler.  In doing so, it sets
the `new_insn.data` pointer to point to a temporary data array.  This
results in a warning from "sparse" because the `data` pointer in `struct
comedi_insn` has the `__user` tag.  The subdevice's `insn_bits()`
handler ignores it anyway as it gets passed a pointer to the temporary
data array in a separate parameter.  Don't bother setting
`new_insn.data`; just leave it set to `NULL` (done by an earlier
`memset()`).

Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/comedi/drivers.c