Lines Matching refs:fi
91 fsm_instance *fi;
118 * @param fi Pointer to an FSM, previously created with init_fsm.
120 extern void kfree_fsm(fsm_instance *fi);
124 fsm_print_history(fsm_instance *fi);
127 fsm_record_history(fsm_instance *fi, int state, int event);
135 * @param fi Pointer to FSM which should receive the event.
144 fsm_event(fsm_instance *fi, int event, void *arg)
147 int state = atomic_read(&fi->state);
149 if ((state >= fi->f->nr_states) ||
150 (event >= fi->f->nr_events) ) {
152 fi->name, (long)state,(long)fi->f->nr_states, event,
153 (long)fi->f->nr_events);
155 fsm_print_history(fi);
159 r = fi->f->jumpmatrix[fi->f->nr_states * event + state];
163 fi->name, fi->f->state_names[state],
164 fi->f->event_names[event]);
167 fsm_record_history(fi, state, event);
169 r(fi, event, arg);
174 fi->name, fi->f->event_names[event],
175 fi->f->state_names[state]);
178 fsm_print_history(fi);
188 * @param fi Pointer to FSM
192 fsm_newstate(fsm_instance *fi, int newstate)
194 atomic_set(&fi->state,newstate);
196 fsm_record_history(fi, newstate, -1);
199 printk(KERN_DEBUG "fsm(%s): New state %s\n", fi->name,
200 fi->f->state_names[newstate]);
202 wake_up(&fi->wait_q);
208 * @param fi Pointer to FSM
213 fsm_getstate(fsm_instance *fi)
215 return atomic_read(&fi->state);
221 * @param fi Pointer to FSM
225 extern const char *fsm_getstate_str(fsm_instance *fi);
231 * @param fi Pointer to FSM
234 extern void fsm_settimer(fsm_instance *fi, fsm_timer *);
246 * @param timer The timer to be added. The field fi of that timer