forked from luck/tmp_suning_uos_patched
staging: comedi: das08: rename DAS08_OP() and DAS08_DO_MASK
The `DAS08_DO_MASK` macro is a bitmask for the control register corresponding to the digital output channels (except on "JR" boards). Rename it to `DAS08_CONTROL_DO_MASK` and add a comment. The `DAS08_OP(x)` macro takes a bitvector of the desired digital output channel states and returns the corresponding bits for the control register (except on "JR" boards). Rename it to `DAS08_CONTROL_DO(x)` and add a comment. Signed-off-by: Ian Abbott <abbotti@mev.co.uk> Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
6a3a22bcad
commit
11e8457f02
|
@ -75,8 +75,9 @@
|
|||
#define DAS08_CONTROL_MUX_MASK 0x7 /* multiplexor channel mask */
|
||||
#define DAS08_CONTROL_MUX(x) ((x) & DAS08_CONTROL_MUX_MASK) /* mux channel */
|
||||
#define DAS08_CONTROL_INTE BIT(3) /* interrupt enable (not "JR" boards) */
|
||||
#define DAS08_DO_MASK 0xf0
|
||||
#define DAS08_OP(x) (((x) << 4) & DAS08_DO_MASK)
|
||||
#define DAS08_CONTROL_DO_MASK 0xf0 /* digital outputs mask (not "JR") */
|
||||
/* digital outputs (not "JR" boards) */
|
||||
#define DAS08_CONTROL_DO(x) (((x) << 4) & DAS08_CONTROL_DO_MASK)
|
||||
|
||||
/*
|
||||
cio-das08jr.pdf
|
||||
|
@ -307,8 +308,8 @@ static int das08_do_wbits(struct comedi_device *dev,
|
|||
if (comedi_dio_update_state(s, data)) {
|
||||
/* prevent race with setting of analog input mux */
|
||||
spin_lock(&dev->spinlock);
|
||||
devpriv->do_mux_bits &= ~DAS08_DO_MASK;
|
||||
devpriv->do_mux_bits |= DAS08_OP(s->state);
|
||||
devpriv->do_mux_bits &= ~DAS08_CONTROL_DO_MASK;
|
||||
devpriv->do_mux_bits |= DAS08_CONTROL_DO(s->state);
|
||||
outb(devpriv->do_mux_bits, dev->iobase + DAS08_CONTROL_REG);
|
||||
spin_unlock(&dev->spinlock);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user