- for (l = sdi->channels; l; l = l->next) {
- ch = (struct sr_channel *)l->data;
- channelbit = 1 << (ch->index);
-
- if (!ch->enabled || !ch->trigger)
- continue;
-
- if (devc->cur_samplerate >= SR_MHZ(100)) {
- /* Fast trigger support. */
- if (trigger_set) {
- sr_err("Only a single pin trigger in 100 and "
- "200MHz mode is supported.");
- return SR_ERR;
- }
- if (ch->trigger[0] == 'f')
- devc->trigger.fallingmask |= channelbit;
- else if (ch->trigger[0] == 'r')
- devc->trigger.risingmask |= channelbit;
- else {
- sr_err("Only rising/falling trigger in 100 "
- "and 200MHz mode is supported.");
- return SR_ERR;
- }
-
- ++trigger_set;
- } else {
- /* Simple trigger support (event). */
- if (ch->trigger[0] == '1') {
- devc->trigger.simplevalue |= channelbit;
- devc->trigger.simplemask |= channelbit;
- }
- else if (ch->trigger[0] == '0') {
- devc->trigger.simplevalue &= ~channelbit;
- devc->trigger.simplemask |= channelbit;
- }
- else if (ch->trigger[0] == 'f') {
- devc->trigger.fallingmask |= channelbit;