struct {
/* if non-negative, this subdev has an interrupt asic */
int asic;
- /* if nonnegative, the first channel id for interrupts */
- int first_chan;
/*
* the number of asic channels in this
* subdev that have interrutps
mytrig = triggered >> subpriv->intr.asic_chan;
mytrig &= ((0x1 << subpriv->intr.num_asic_chans) - 1);
- mytrig <<= subpriv->intr.first_chan;
if (!(mytrig & subpriv->intr.enabled_mask))
goto done;
<< CR_CHAN(cmd->chanlist[n]);
}
}
- bits &= ((0x1 << subpriv->intr.num_asic_chans) -
- 1) << subpriv->intr.first_chan;
+ bits &= ((0x1 << subpriv->intr.num_asic_chans) - 1);
subpriv->intr.enabled_mask = bits;
/* set pol and enab intrs for this subdev.. */
s->insn_config = pcmuio_dio_insn_config;
s->n_chan = min(chans_left, MAX_CHANS_PER_SUBDEV);
subpriv->intr.asic = -1;
- subpriv->intr.first_chan = -1;
subpriv->intr.asic_chan = -1;
subpriv->intr.num_asic_chans = -1;
subpriv->intr.active = 0;
subpriv->intr.asic = asic;
subpriv->intr.active = 0;
subpriv->intr.stop_count = 0;
- subpriv->intr.first_chan = byte_no * 8;
subpriv->intr.asic_chan = thisasic_chanct;
- subpriv->intr.num_asic_chans =
- s->n_chan - subpriv->intr.first_chan;
+ subpriv->intr.num_asic_chans = s->n_chan;
dev->read_subdev = s;
s->subdev_flags |= SDF_CMD_READ;
s->cancel = pcmuio_cancel;