equal
deleted
inserted
replaced
2007 return 0; |
2007 return 0; |
2008 } |
2008 } |
2009 |
2009 |
2010 /*****************************************************************************/ |
2010 /*****************************************************************************/ |
2011 |
2011 |
|
2012 /** Reset configuration. |
|
2013 */ |
|
2014 int ec_cdev_ioctl_reset( |
|
2015 ec_master_t *master, /**< EtherCAT master. */ |
|
2016 unsigned long arg, /**< ioctl() argument. */ |
|
2017 ec_cdev_priv_t *priv /**< Private data structure of file handle. */ |
|
2018 ) |
|
2019 { |
|
2020 if (unlikely(!priv->requested)) |
|
2021 return -EPERM; |
|
2022 |
|
2023 ec_mutex_lock(&master->master_mutex); |
|
2024 ecrt_master_reset(master); |
|
2025 ec_mutex_unlock(&master->master_mutex); |
|
2026 return 0; |
|
2027 } |
|
2028 |
|
2029 /*****************************************************************************/ |
|
2030 |
2012 /** Configure a sync manager. |
2031 /** Configure a sync manager. |
2013 */ |
2032 */ |
2014 int ec_cdev_ioctl_sc_sync( |
2033 int ec_cdev_ioctl_sc_sync( |
2015 ec_master_t *master, /**< EtherCAT master. */ |
2034 ec_master_t *master, /**< EtherCAT master. */ |
2016 unsigned long arg, /**< ioctl() argument. */ |
2035 unsigned long arg, /**< ioctl() argument. */ |
3721 return ec_cdev_ioctl_sync_mon_queue(master, arg, priv); |
3740 return ec_cdev_ioctl_sync_mon_queue(master, arg, priv); |
3722 case EC_IOCTL_SYNC_MON_PROCESS: |
3741 case EC_IOCTL_SYNC_MON_PROCESS: |
3723 if (!(filp->f_mode & FMODE_WRITE)) |
3742 if (!(filp->f_mode & FMODE_WRITE)) |
3724 return -EPERM; |
3743 return -EPERM; |
3725 return ec_cdev_ioctl_sync_mon_process(master, arg, priv); |
3744 return ec_cdev_ioctl_sync_mon_process(master, arg, priv); |
|
3745 case EC_IOCTL_RESET: |
|
3746 if (!(filp->f_mode & FMODE_WRITE)) |
|
3747 return -EPERM; |
|
3748 return ec_cdev_ioctl_reset(master, arg, priv); |
3726 case EC_IOCTL_SC_SYNC: |
3749 case EC_IOCTL_SC_SYNC: |
3727 if (!(filp->f_mode & FMODE_WRITE)) |
3750 if (!(filp->f_mode & FMODE_WRITE)) |
3728 return -EPERM; |
3751 return -EPERM; |
3729 return ec_cdev_ioctl_sc_sync(master, arg, priv); |
3752 return ec_cdev_ioctl_sc_sync(master, arg, priv); |
3730 case EC_IOCTL_SC_WATCHDOG: |
3753 case EC_IOCTL_SC_WATCHDOG: |