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