diff -r 1a7067207637 -r 7bc131b92039 master/fsm_master.h --- a/master/fsm_master.h Fri Aug 10 15:08:44 2007 +0000 +++ b/master/fsm_master.h Fri Aug 10 15:27:08 2007 +0000 @@ -51,6 +51,23 @@ /*****************************************************************************/ +/** + * EEPROM write request. + */ + +typedef struct +{ + struct list_head list; + ec_slave_t *slave; + off_t offset; + size_t size; + const uint16_t *words; + ec_request_state_t state; +} +ec_eeprom_write_request_t; + +/*****************************************************************************/ + typedef struct ec_fsm_master ec_fsm_master_t; /**< \see ec_fsm_master */ /** @@ -64,13 +81,19 @@ unsigned int retries; /**< retries on datagram timeout. */ void (*state)(ec_fsm_master_t *); /**< master state function */ + int idle; /**< state machine is in idle phase */ + unsigned long scan_jiffies; /**< beginning of slave scanning */ unsigned int slaves_responding; /**< number of responding slaves */ unsigned int topology_change_pending; /**< bus topology changed */ ec_slave_state_t slave_states; /**< states of responding slaves */ unsigned int validate; /**< non-zero, if validation to do */ + unsigned int tainted; /**< non-zero, if the current bus topology does + not meet the initial conditions */ + unsigned int config_error; /**< error during slave configuration */ ec_slave_t *slave; /**< current slave */ + ec_eeprom_write_request_t *eeprom_request; /**< EEPROM write request */ + off_t eeprom_index; /**< index to EEPROM write request data */ ec_sdo_request_t *sdo_request; /**< SDO request to process */ - uint16_t sii_offset; ec_fsm_slave_t fsm_slave; /**< slave state machine */ ec_fsm_sii_t fsm_sii; /**< SII state machine */ @@ -84,8 +107,8 @@ void ec_fsm_master_clear(ec_fsm_master_t *); int ec_fsm_master_exec(ec_fsm_master_t *); -int ec_fsm_master_running(ec_fsm_master_t *); -int ec_fsm_master_success(ec_fsm_master_t *); +int ec_fsm_master_running(const ec_fsm_master_t *); +int ec_fsm_master_idle(const ec_fsm_master_t *); /*****************************************************************************/