equal
deleted
inserted
replaced
695 */ |
695 */ |
696 |
696 |
697 void ec_fsm_master_state_scan_slaves(ec_fsm_master_t *fsm /**< master state machine */) |
697 void ec_fsm_master_state_scan_slaves(ec_fsm_master_t *fsm /**< master state machine */) |
698 { |
698 { |
699 ec_master_t *master = fsm->master; |
699 ec_master_t *master = fsm->master; |
700 ec_slave_t *slave = fsm->slave; |
700 ec_slave_t *slave; |
701 |
701 |
702 if (ec_fsm_slave_exec(&fsm->fsm_slave)) // execute slave state machine |
702 if (ec_fsm_slave_exec(&fsm->fsm_slave)) // execute slave state machine |
703 return; |
703 return; |
704 |
704 |
705 // another slave to fetch? |
705 // another slave to fetch? |
706 if (slave->list.next != &master->slaves) { |
706 if (fsm->slave->list.next != &master->slaves) { |
707 fsm->slave = list_entry(fsm->slave->list.next, ec_slave_t, list); |
707 fsm->slave = list_entry(fsm->slave->list.next, ec_slave_t, list); |
708 ec_fsm_slave_start_scan(&fsm->fsm_slave, slave); |
708 ec_fsm_slave_start_scan(&fsm->fsm_slave, fsm->slave); |
709 ec_fsm_slave_exec(&fsm->fsm_slave); // execute immediately |
709 ec_fsm_slave_exec(&fsm->fsm_slave); // execute immediately |
710 return; |
710 return; |
711 } |
711 } |
712 |
712 |
713 EC_INFO("Bus scanning completed.\n"); |
713 EC_INFO("Bus scanning completed.\n"); |