master/cdev.c
changeset 1531 6c5478400e28
parent 1530 96629de2202b
child 1535 0c484ee12d89
equal deleted inserted replaced
1530:96629de2202b 1531:6c5478400e28
  1646     return 0;
  1646     return 0;
  1647 }
  1647 }
  1648 
  1648 
  1649 /*****************************************************************************/
  1649 /*****************************************************************************/
  1650 
  1650 
       
  1651 /** Deactivates the master.
       
  1652  */
       
  1653 int ec_cdev_ioctl_deactivate(
       
  1654         ec_master_t *master, /**< EtherCAT master. */
       
  1655         unsigned long arg, /**< ioctl() argument. */
       
  1656         ec_cdev_priv_t *priv /**< Private data structure of file handle. */
       
  1657         )
       
  1658 {
       
  1659     if (unlikely(!priv->requested))
       
  1660         return -EPERM;
       
  1661 
       
  1662     ecrt_master_deactivate(master);
       
  1663     return 0;
       
  1664 }
       
  1665 
       
  1666 /*****************************************************************************/
       
  1667 
  1651 /** Send frames.
  1668 /** Send frames.
  1652  */
  1669  */
  1653 int ec_cdev_ioctl_send(
  1670 int ec_cdev_ioctl_send(
  1654         ec_master_t *master, /**< EtherCAT master. */
  1671         ec_master_t *master, /**< EtherCAT master. */
  1655         unsigned long arg, /**< ioctl() argument. */
  1672         unsigned long arg, /**< ioctl() argument. */
  3261             return ec_cdev_ioctl_create_slave_config(master, arg, priv);
  3278             return ec_cdev_ioctl_create_slave_config(master, arg, priv);
  3262         case EC_IOCTL_ACTIVATE:
  3279         case EC_IOCTL_ACTIVATE:
  3263             if (!(filp->f_mode & FMODE_WRITE))
  3280             if (!(filp->f_mode & FMODE_WRITE))
  3264                 return -EPERM;
  3281                 return -EPERM;
  3265             return ec_cdev_ioctl_activate(master, arg, priv);
  3282             return ec_cdev_ioctl_activate(master, arg, priv);
       
  3283         case EC_IOCTL_DEACTIVATE:
       
  3284             if (!(filp->f_mode & FMODE_WRITE))
       
  3285                 return -EPERM;
       
  3286             return ec_cdev_ioctl_deactivate(master, arg, priv);
  3266         case EC_IOCTL_SEND:
  3287         case EC_IOCTL_SEND:
  3267             if (!(filp->f_mode & FMODE_WRITE))
  3288             if (!(filp->f_mode & FMODE_WRITE))
  3268                 return -EPERM;
  3289                 return -EPERM;
  3269             return ec_cdev_ioctl_send(master, arg, priv);
  3290             return ec_cdev_ioctl_send(master, arg, priv);
  3270         case EC_IOCTL_RECEIVE:
  3291         case EC_IOCTL_RECEIVE: