Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ebf33d04 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Greg Kroah-Hartman
Browse files

staging: comedi: das08: remove do_bits from private data



Use the subdevice 'state' variable instead of carrying the state of
the output channels in the private data.

Use comedi_dio_update_state() to handle the boilerplate code to update
the subdevice s->state.

Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Reviewed-by: default avatarIan Abbott <abbotti@mev.co.uk>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6f617e54
Loading
Loading
Loading
Loading
+5 −9
Original line number Diff line number Diff line
@@ -316,17 +316,13 @@ static int das08jr_di_rbits(struct comedi_device *dev,

static int das08jr_do_wbits(struct comedi_device *dev,
			    struct comedi_subdevice *s,
			    struct comedi_insn *insn, unsigned int *data)
			    struct comedi_insn *insn,
			    unsigned int *data)
{
	struct das08_private_struct *devpriv = dev->private;

	/*  null bits we are going to set */
	devpriv->do_bits &= ~data[0];
	/*  set new bit values */
	devpriv->do_bits |= data[0] & data[1];
	outb(devpriv->do_bits, dev->iobase + DAS08JR_DIO);
	if (comedi_dio_update_state(s, data))
		outb(s->state, dev->iobase + DAS08JR_DIO);

	data[1] = devpriv->do_bits;
	data[1] = s->state;

	return insn->n;
}
+0 −1
Original line number Diff line number Diff line
@@ -41,7 +41,6 @@ struct das08_board_struct {

struct das08_private_struct {
	unsigned int do_mux_bits;	/*  bits for do/mux register on boards without separate do register */
	unsigned int do_bits;	/*  bits for do register on boards with register dedicated to digital out only */
	const unsigned int *pg_gainlist;
	unsigned int ao_readback[2];	/* assume 2 AO channels */
};