equal
deleted
inserted
replaced
1676 |
1676 |
1677 /*****************************************************************************/ |
1677 /*****************************************************************************/ |
1678 |
1678 |
1679 /** Set max. number of databytes in a cycle |
1679 /** Set max. number of databytes in a cycle |
1680 */ |
1680 */ |
1681 int ec_cdev_ioctl_set_max_cycle_size( |
1681 int ec_cdev_ioctl_set_send_interval( |
1682 ec_master_t *master, /**< EtherCAT master. */ |
1682 ec_master_t *master, /**< EtherCAT master. */ |
1683 unsigned long arg, /**< ioctl() argument. */ |
1683 unsigned long arg, /**< ioctl() argument. */ |
1684 ec_cdev_priv_t *priv /**< Private data structure of file handle. */ |
1684 ec_cdev_priv_t *priv /**< Private data structure of file handle. */ |
1685 ) |
1685 ) |
1686 { |
1686 { |
1687 size_t max_cycle_size; |
1687 size_t send_interval; |
1688 |
1688 |
1689 if (copy_from_user(&max_cycle_size, (void __user *) arg, sizeof(max_cycle_size))) { |
1689 if (copy_from_user(&send_interval, (void __user *) arg, sizeof(send_interval))) { |
1690 return -EFAULT; |
1690 return -EFAULT; |
1691 } |
1691 } |
1692 |
1692 |
1693 if (down_interruptible(&master->master_sem)) |
1693 if (down_interruptible(&master->master_sem)) |
1694 return -EINTR; |
1694 return -EINTR; |
1695 master->max_queue_size = max_cycle_size; |
1695 ec_master_set_send_interval(master,send_interval); |
1696 up(&master->master_sem); |
1696 up(&master->master_sem); |
1697 |
1697 |
1698 return 0; |
1698 return 0; |
1699 } |
1699 } |
1700 |
1700 |
3490 if (!(filp->f_mode & FMODE_WRITE)) |
3490 if (!(filp->f_mode & FMODE_WRITE)) |
3491 return -EPERM; |
3491 return -EPERM; |
3492 return ec_cdev_ioctl_voe_exec(master, arg, priv); |
3492 return ec_cdev_ioctl_voe_exec(master, arg, priv); |
3493 case EC_IOCTL_VOE_DATA: |
3493 case EC_IOCTL_VOE_DATA: |
3494 return ec_cdev_ioctl_voe_data(master, arg, priv); |
3494 return ec_cdev_ioctl_voe_data(master, arg, priv); |
3495 case EC_IOCTL_SET_MAX_CYCLE_SIZE: |
3495 case EC_IOCTL_SET_SEND_INTERVAL: |
3496 if (!(filp->f_mode & FMODE_WRITE)) |
3496 if (!(filp->f_mode & FMODE_WRITE)) |
3497 return -EPERM; |
3497 return -EPERM; |
3498 return ec_cdev_ioctl_set_max_cycle_size(master,arg,priv); |
3498 return ec_cdev_ioctl_set_send_interval(master,arg,priv); |
3499 default: |
3499 default: |
3500 return -ENOTTY; |
3500 return -ENOTTY; |
3501 } |
3501 } |
3502 } |
3502 } |
3503 |
3503 |