equal
deleted
inserted
replaced
476 if (ec_master_debug_level(master, (unsigned int) arg)) { |
476 if (ec_master_debug_level(master, (unsigned int) arg)) { |
477 retval = -EINVAL; |
477 retval = -EINVAL; |
478 } |
478 } |
479 break; |
479 break; |
480 |
480 |
|
481 case EC_IOCTL_SLAVE_STATE: |
|
482 { |
|
483 ec_ioctl_slave_state_t data; |
|
484 ec_slave_t *slave; |
|
485 |
|
486 if (copy_from_user(&data, (void __user *) arg, sizeof(data))) { |
|
487 retval = -EFAULT; |
|
488 break; |
|
489 } |
|
490 |
|
491 if (!(slave = ec_master_find_slave( |
|
492 master, 0, data.slave_position))) { |
|
493 EC_ERR("Slave %u does not exist!\n", data.slave_position); |
|
494 retval = -EINVAL; |
|
495 break; |
|
496 } |
|
497 |
|
498 ec_slave_request_state(slave, data.requested_state); |
|
499 break; |
|
500 } |
|
501 |
481 default: |
502 default: |
482 retval = -ENOIOCTLCMD; |
503 retval = -ENOIOCTLCMD; |
483 } |
504 } |
484 |
505 |
485 return retval; |
506 return retval; |