equal
deleted
inserted
replaced
1401 ) |
1401 ) |
1402 { |
1402 { |
1403 ec_master_t *m; |
1403 ec_master_t *m; |
1404 int ret = 0; |
1404 int ret = 0; |
1405 |
1405 |
1406 m = ecrt_request_master(master->index); |
1406 m = ecrt_request_master_err(master->index); |
1407 if (IS_ERR(m)) { |
1407 if (IS_ERR(m)) { |
1408 ret = PTR_ERR(m); |
1408 ret = PTR_ERR(m); |
1409 } else { |
1409 } else { |
1410 priv->requested = 1; |
1410 priv->requested = 1; |
1411 } |
1411 } |
1426 ec_domain_t *domain; |
1426 ec_domain_t *domain; |
1427 |
1427 |
1428 if (unlikely(!priv->requested)) |
1428 if (unlikely(!priv->requested)) |
1429 return -EPERM; |
1429 return -EPERM; |
1430 |
1430 |
1431 domain = ecrt_master_create_domain(master); |
1431 domain = ecrt_master_create_domain_err(master); |
1432 if (!domain) |
1432 if (IS_ERR(domain)) |
1433 return -ENOMEM; |
1433 return PTR_ERR(domain); |
1434 |
1434 |
1435 return domain->index; |
1435 return domain->index; |
1436 } |
1436 } |
1437 |
1437 |
1438 /*****************************************************************************/ |
1438 /*****************************************************************************/ |
1453 |
1453 |
1454 if (copy_from_user(&data, (void __user *) arg, sizeof(data))) { |
1454 if (copy_from_user(&data, (void __user *) arg, sizeof(data))) { |
1455 return -EFAULT; |
1455 return -EFAULT; |
1456 } |
1456 } |
1457 |
1457 |
1458 sc = ecrt_master_slave_config(master, data.alias, data.position, |
1458 sc = ecrt_master_slave_config_err(master, data.alias, data.position, |
1459 data.vendor_id, data.product_code); |
1459 data.vendor_id, data.product_code); |
1460 if (!sc) |
1460 if (IS_ERR(sc)) |
1461 return -ENODEV; // FIXME |
1461 return PTR_ERR(sc); |
1462 |
1462 |
1463 data.config_index = 0; |
1463 data.config_index = 0; |
1464 |
1464 |
1465 if (down_interruptible(&master->master_sem)) |
1465 if (down_interruptible(&master->master_sem)) |
1466 return -EINTR; |
1466 return -EINTR; |
1910 data.voe_index++; |
1910 data.voe_index++; |
1911 } |
1911 } |
1912 |
1912 |
1913 up(&master->master_sem); |
1913 up(&master->master_sem); |
1914 |
1914 |
1915 voe = ecrt_slave_config_create_voe_handler(sc, data.size); |
1915 voe = ecrt_slave_config_create_voe_handler_err(sc, data.size); |
1916 if (!voe) |
1916 if (IS_ERR(voe)) |
1917 return -ENOMEM; |
1917 return PTR_ERR(voe); |
1918 |
1918 |
1919 if (copy_to_user((void __user *) arg, &data, sizeof(data))) |
1919 if (copy_to_user((void __user *) arg, &data, sizeof(data))) |
1920 return -EFAULT; |
1920 return -EFAULT; |
1921 |
1921 |
1922 return 0; |
1922 return 0; |