diff -r 593272e5a169 -r e898451c054a master/fsm_master.h --- a/master/fsm_master.h Fri Apr 06 23:30:35 2012 +0200 +++ b/master/fsm_master.h Fri Apr 06 23:35:05 2012 +0200 @@ -115,12 +115,19 @@ unsigned int retries; /**< retries on datagram timeout. */ void (*state)(ec_fsm_master_t *); /**< master state function */ + ec_device_index_t dev_idx; /**< Current device index (for scanning etc.). + */ int idle; /**< state machine is in idle phase */ unsigned long scan_jiffies; /**< beginning of slave scanning */ - uint8_t link_state; /**< Last main device link state. */ - unsigned int slaves_responding; /**< number of responding slaves */ + uint8_t link_state[EC_NUM_DEVICES]; /**< Last link state for every device. + */ + unsigned int slaves_responding[EC_NUM_DEVICES]; /**< Number of responding + slaves for every device. + */ unsigned int rescan_required; /**< A bus rescan is required. */ - ec_slave_state_t slave_states; /**< states of responding slaves */ + ec_slave_state_t slave_states[EC_NUM_DEVICES]; /**< AL states of + responding slaves for + every device. */ ec_slave_t *slave; /**< current slave */ ec_sii_write_request_t *sii_request; /**< SII write request */ off_t sii_index; /**< index to SII write request data */