master/slave.c
changeset 292 2cf6ae0a2419
parent 291 0b1f877cf3f1
child 293 14aeb79aa992
equal deleted inserted replaced
291:0b1f877cf3f1 292:2cf6ae0a2419
  1420                                  )
  1420                                  )
  1421 {
  1421 {
  1422     ec_slave_t *slave = container_of(kobj, ec_slave_t, kobj);
  1422     ec_slave_t *slave = container_of(kobj, ec_slave_t, kobj);
  1423 
  1423 
  1424     if (attr == &attr_state) {
  1424     if (attr == &attr_state) {
  1425         if (!strcmp(buffer, "INIT\n")) {
  1425         if (!strcmp(buffer, "INIT\n"))
  1426             slave->requested_state = EC_SLAVE_STATE_INIT;
  1426             slave->requested_state = EC_SLAVE_STATE_INIT;
  1427             slave->error_flag = 0;
  1427         else if (!strcmp(buffer, "PREOP\n"))
  1428             return size;
       
  1429         }
       
  1430         else if (!strcmp(buffer, "PREOP\n")) {
       
  1431             slave->requested_state = EC_SLAVE_STATE_PREOP;
  1428             slave->requested_state = EC_SLAVE_STATE_PREOP;
  1432             slave->error_flag = 0;
  1429         else if (!strcmp(buffer, "SAVEOP\n"))
  1433             return size;
       
  1434         }
       
  1435         else if (!strcmp(buffer, "SAVEOP\n")) {
       
  1436             slave->requested_state = EC_SLAVE_STATE_SAVEOP;
  1430             slave->requested_state = EC_SLAVE_STATE_SAVEOP;
  1437             slave->error_flag = 0;
  1431         else if (!strcmp(buffer, "OP\n"))
  1438             return size;
       
  1439         }
       
  1440         else if (!strcmp(buffer, "OP\n")) {
       
  1441             slave->requested_state = EC_SLAVE_STATE_OP;
  1432             slave->requested_state = EC_SLAVE_STATE_OP;
  1442             slave->error_flag = 0;
  1433         else {
  1443             return size;
  1434             EC_ERR("Invalid slave state \"%s\"!\n", buffer);
  1444         }
  1435             return -EINVAL;
  1445 
  1436         }
  1446         EC_ERR("Failed to set slave state!\n");
  1437 
       
  1438         EC_INFO("Accepted new state %s for slave %i.\n",
       
  1439                 buffer, slave->ring_position);
       
  1440         slave->error_flag = 0;
       
  1441         return size;
  1447     }
  1442     }
  1448     else if (attr == &attr_eeprom) {
  1443     else if (attr == &attr_eeprom) {
  1449         if (!ec_slave_write_eeprom(slave, buffer, size))
  1444         if (!ec_slave_write_eeprom(slave, buffer, size))
  1450             return size;
  1445             return size;
  1451     }
  1446     }