169 if (down_interruptible(&master->master_sem)) |
169 if (down_interruptible(&master->master_sem)) |
170 return -EINTR; |
170 return -EINTR; |
171 data.slave_count = master->slave_count; |
171 data.slave_count = master->slave_count; |
172 data.config_count = ec_master_config_count(master); |
172 data.config_count = ec_master_config_count(master); |
173 data.domain_count = ec_master_domain_count(master); |
173 data.domain_count = ec_master_domain_count(master); |
|
174 #ifdef EC_EOE |
174 data.eoe_handler_count = ec_master_eoe_handler_count(master); |
175 data.eoe_handler_count = ec_master_eoe_handler_count(master); |
|
176 #endif |
175 data.phase = (uint8_t) master->phase; |
177 data.phase = (uint8_t) master->phase; |
176 data.scan_busy = master->scan_busy; |
178 data.scan_busy = master->scan_busy; |
177 up(&master->master_sem); |
179 up(&master->master_sem); |
178 |
180 |
179 if (down_interruptible(&master->device_sem)) |
181 if (down_interruptible(&master->device_sem)) |
1439 return 0; |
1441 return 0; |
1440 } |
1442 } |
1441 |
1443 |
1442 /*****************************************************************************/ |
1444 /*****************************************************************************/ |
1443 |
1445 |
|
1446 #ifdef EC_EOE |
|
1447 |
1444 /** Get EoE handler information. |
1448 /** Get EoE handler information. |
1445 */ |
1449 */ |
1446 int ec_cdev_ioctl_eoe_handler( |
1450 int ec_cdev_ioctl_eoe_handler( |
1447 ec_master_t *master, /**< EtherCAT master. */ |
1451 ec_master_t *master, /**< EtherCAT master. */ |
1448 unsigned long arg /**< ioctl() argument. */ |
1452 unsigned long arg /**< ioctl() argument. */ |
3226 return ec_cdev_ioctl_config_pdo(master, arg); |
3232 return ec_cdev_ioctl_config_pdo(master, arg); |
3227 case EC_IOCTL_CONFIG_PDO_ENTRY: |
3233 case EC_IOCTL_CONFIG_PDO_ENTRY: |
3228 return ec_cdev_ioctl_config_pdo_entry(master, arg); |
3234 return ec_cdev_ioctl_config_pdo_entry(master, arg); |
3229 case EC_IOCTL_CONFIG_SDO: |
3235 case EC_IOCTL_CONFIG_SDO: |
3230 return ec_cdev_ioctl_config_sdo(master, arg); |
3236 return ec_cdev_ioctl_config_sdo(master, arg); |
|
3237 #ifdef EC_EOE |
3231 case EC_IOCTL_EOE_HANDLER: |
3238 case EC_IOCTL_EOE_HANDLER: |
3232 return ec_cdev_ioctl_eoe_handler(master, arg); |
3239 return ec_cdev_ioctl_eoe_handler(master, arg); |
|
3240 #endif |
3233 case EC_IOCTL_REQUEST: |
3241 case EC_IOCTL_REQUEST: |
3234 if (!(filp->f_mode & FMODE_WRITE)) |
3242 if (!(filp->f_mode & FMODE_WRITE)) |
3235 return -EPERM; |
3243 return -EPERM; |
3236 return ec_cdev_ioctl_request(master, arg, priv); |
3244 return ec_cdev_ioctl_request(master, arg, priv); |
3237 case EC_IOCTL_CREATE_DOMAIN: |
3245 case EC_IOCTL_CREATE_DOMAIN: |