staging: comedi: drivers: tidy up insn_rw_emulate_bits()
Tidy up this function and fix the checkpatch.pl issues: WARNING: Prefer 'unsigned int' to bare use of 'unsigned' 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>
This commit is contained in:
Родитель
9bc9e60e4f
Коммит
f91852ce61
|
@ -575,38 +575,35 @@ EXPORT_SYMBOL_GPL(comedi_handle_events);
|
||||||
|
|
||||||
static int insn_rw_emulate_bits(struct comedi_device *dev,
|
static int insn_rw_emulate_bits(struct comedi_device *dev,
|
||||||
struct comedi_subdevice *s,
|
struct comedi_subdevice *s,
|
||||||
struct comedi_insn *insn, unsigned int *data)
|
struct comedi_insn *insn,
|
||||||
|
unsigned int *data)
|
||||||
{
|
{
|
||||||
struct comedi_insn new_insn;
|
struct comedi_insn _insn;
|
||||||
|
unsigned int chan = CR_CHAN(insn->chanspec);
|
||||||
|
unsigned int base_chan = (chan < 32) ? 0 : chan;
|
||||||
|
unsigned int _data[2];
|
||||||
int ret;
|
int ret;
|
||||||
static const unsigned channels_per_bitfield = 32;
|
|
||||||
|
|
||||||
unsigned chan = CR_CHAN(insn->chanspec);
|
memset(_data, 0, sizeof(_data));
|
||||||
const unsigned base_bitfield_channel =
|
memset(&_insn, 0, sizeof(_insn));
|
||||||
(chan < channels_per_bitfield) ? 0 : chan;
|
_insn.insn = INSN_BITS;
|
||||||
unsigned int new_data[2];
|
_insn.chanspec = base_chan;
|
||||||
|
_insn.n = 2;
|
||||||
memset(new_data, 0, sizeof(new_data));
|
_insn.subdev = insn->subdev;
|
||||||
memset(&new_insn, 0, sizeof(new_insn));
|
|
||||||
new_insn.insn = INSN_BITS;
|
|
||||||
new_insn.chanspec = base_bitfield_channel;
|
|
||||||
new_insn.n = 2;
|
|
||||||
new_insn.subdev = insn->subdev;
|
|
||||||
|
|
||||||
if (insn->insn == INSN_WRITE) {
|
if (insn->insn == INSN_WRITE) {
|
||||||
if (!(s->subdev_flags & SDF_WRITABLE))
|
if (!(s->subdev_flags & SDF_WRITABLE))
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
new_data[0] = 1 << (chan - base_bitfield_channel); /* mask */
|
_data[0] = 1 << (chan - base_chan); /* mask */
|
||||||
new_data[1] = data[0] ? (1 << (chan - base_bitfield_channel))
|
_data[1] = data[0] ? (1 << (chan - base_chan)) : 0; /* bits */
|
||||||
: 0; /* bits */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = s->insn_bits(dev, s, &new_insn, new_data);
|
ret = s->insn_bits(dev, s, &_insn, _data);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
if (insn->insn == INSN_READ)
|
if (insn->insn == INSN_READ)
|
||||||
data[0] = (new_data[1] >> (chan - base_bitfield_channel)) & 1;
|
data[0] = (_data[1] >> (chan - base_chan)) & 1;
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче