Lines Matching refs:chan
248 struct pcbit_chan *chan; in pcbit_fsm_timer() local
250 chan = (struct pcbit_chan *) data; in pcbit_fsm_timer()
252 del_timer(&chan->fsm_timer); in pcbit_fsm_timer()
253 chan->fsm_timer.function = NULL; in pcbit_fsm_timer()
255 dev = chan2dev(chan); in pcbit_fsm_timer()
262 pcbit_fsm_event(dev, chan, EV_TIMER, NULL); in pcbit_fsm_timer()
266 void pcbit_fsm_event(struct pcbit_dev *dev, struct pcbit_chan *chan, in pcbit_fsm_event() argument
276 if (action->init == chan->fsm_state && action->event == event) in pcbit_fsm_event()
283 event, chan->fsm_state); in pcbit_fsm_event()
287 if (chan->fsm_timer.function) { in pcbit_fsm_event()
288 del_timer(&chan->fsm_timer); in pcbit_fsm_event()
289 chan->fsm_timer.function = NULL; in pcbit_fsm_event()
292 chan->fsm_state = action->final; in pcbit_fsm_event()
294 pcbit_state_change(dev, chan, action->init, event, action->final); in pcbit_fsm_event()
297 if (tentry->init == chan->fsm_state) in pcbit_fsm_event()
301 init_timer(&chan->fsm_timer); in pcbit_fsm_event()
302 chan->fsm_timer.function = &pcbit_fsm_timer; in pcbit_fsm_event()
303 chan->fsm_timer.data = (ulong) chan; in pcbit_fsm_event()
304 chan->fsm_timer.expires = jiffies + tentry->timeout * HZ; in pcbit_fsm_event()
305 add_timer(&chan->fsm_timer); in pcbit_fsm_event()
311 action->callb(dev, chan, data); in pcbit_fsm_event()