equal
deleted
inserted
replaced
605 |
605 |
606 if (alias_requested) { |
606 if (alias_requested) { |
607 for (i = alias_slave_index + 1; i < master->slave_count; i++) { |
607 for (i = alias_slave_index + 1; i < master->slave_count; i++) { |
608 slave = master->slaves + i; |
608 slave = master->slaves + i; |
609 if (!slave->type || slave->type->bus_coupler) break; |
609 if (!slave->type || slave->type->bus_coupler) break; |
610 if (i - alias_slave_index - 1 == second) return slave; |
610 if (i - alias_slave_index == second) return slave; |
611 } |
611 } |
612 EC_ERR("Slave address \"%s\" - Bus coupler %i has no %lu. slave" |
612 EC_ERR("Slave address \"%s\" - Bus coupler %i has no %lu. slave" |
613 " following!\n", address, |
613 " following!\n", address, |
614 (master->slaves + alias_slave_index)->ring_position, |
614 (master->slaves + alias_slave_index)->ring_position, |
615 second); |
615 second); |
618 else { |
618 else { |
619 coupler_idx = -1; |
619 coupler_idx = -1; |
620 slave_idx = 0; |
620 slave_idx = 0; |
621 for (i = 0; i < master->slave_count; i++, slave_idx++) { |
621 for (i = 0; i < master->slave_count; i++, slave_idx++) { |
622 slave = master->slaves + i; |
622 slave = master->slaves + i; |
623 if (!slave->type) continue; // FIXME |
623 if (!slave->type) continue; |
624 if (slave->type->bus_coupler) { |
624 if (slave->type->bus_coupler) { |
625 coupler_idx++; |
625 coupler_idx++; |
626 slave_idx = 0; |
626 slave_idx = 0; |
627 } |
627 } |
628 if (coupler_idx == first && slave_idx == second) return slave; |
628 if (coupler_idx == first && slave_idx == second) return slave; |