diff options
Diffstat (limited to 'drivers/scsi/bfa/include/cs/bfa_sm.h')
| -rw-r--r-- | drivers/scsi/bfa/include/cs/bfa_sm.h | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/scsi/bfa/include/cs/bfa_sm.h b/drivers/scsi/bfa/include/cs/bfa_sm.h index b0a92baf665..11fba9082f0 100644 --- a/drivers/scsi/bfa/include/cs/bfa_sm.h +++ b/drivers/scsi/bfa/include/cs/bfa_sm.h @@ -23,6 +23,14 @@  #define __BFA_SM_H__  typedef void (*bfa_sm_t)(void *sm, int event); +/** + * oc - object class eg. bfa_ioc + * st - state, eg. reset + * otype - object type, eg. struct bfa_ioc_s + * etype - object type, eg. enum ioc_event + */ +#define bfa_sm_state_decl(oc, st, otype, etype)         \ +	static void oc ## _sm_ ## st(otype * fsm, etype event)  #define bfa_sm_set_state(_sm, _state)	((_sm)->sm = (bfa_sm_t)(_state))  #define bfa_sm_send_event(_sm, _event)	((_sm)->sm((_sm), (_event)))  |