return -EINVAL;
}
+ /* The insn data is a mask in data[0] and the new data
+ * in data[1], each channel cooresponding to a bit. */
if(data[0]) {
- s->state &= ~data[0];
- s->state |= data[0] & data[1];
+ s->state &= ~data[0]; // Get old value
+ s->state |= data[0] & data[1]; // Write new value to it
iowrite8(s->state, devpriv->BAR0_io + DOUT_reg);
}