use `int` as return type for ecrt_soe_request_*

See #101
This commit is contained in:
Bjarne von Horn 2024-02-09 11:39:48 +01:00
parent 885b8717e1
commit 8c30331e6e
5 changed files with 44 additions and 34 deletions

View File

@ -2078,6 +2078,9 @@ ec_request_state_t ecrt_sdo_request_state(
* *
* \ingroup ApplicationInterfaceRT * \ingroup ApplicationInterfaceRT
* \return 0 on success, otherwise negative error code. * \return 0 on success, otherwise negative error code.
* \retval -EINVAL Invalid input data, e.g. data size == 0.
* \retval -ENOMEM Reserved memory in ecrt_slave_config_create_sdo_request()
* too small.
*/ */
EC_PUBLIC_API int ecrt_sdo_request_write( EC_PUBLIC_API int ecrt_sdo_request_write(
ec_sdo_request_t *req /**< SDO request. */ ec_sdo_request_t *req /**< SDO request. */
@ -2117,8 +2120,9 @@ EC_PUBLIC_API int ecrt_sdo_request_read(
* set via ecrt_slave_config_create_soe_request(). * set via ecrt_slave_config_create_soe_request().
* *
* \ingroup ApplicationInterfaceRT * \ingroup ApplicationInterfaceRT
* \return 0 on success, otherwise negative error code.
*/ */
EC_PUBLIC_API void ecrt_soe_request_idn( EC_PUBLIC_API int ecrt_soe_request_idn(
ec_soe_request_t *req, /**< IDN request. */ ec_soe_request_t *req, /**< IDN request. */
uint8_t drive_no, /**< SDO index. */ uint8_t drive_no, /**< SDO index. */
uint16_t idn /**< SoE IDN. */ uint16_t idn /**< SoE IDN. */
@ -2134,8 +2138,9 @@ EC_PUBLIC_API void ecrt_soe_request_idn(
* *
* The timeout should be defined in non-realtime context, but can also be * The timeout should be defined in non-realtime context, but can also be
* changed afterwards. * changed afterwards.
* \return 0 on success, otherwise negative error code.
*/ */
EC_PUBLIC_API void ecrt_soe_request_timeout( EC_PUBLIC_API int ecrt_soe_request_timeout(
ec_soe_request_t *req, /**< SoE request. */ ec_soe_request_t *req, /**< SoE request. */
uint32_t timeout /**< Timeout in milliseconds. Zero means no uint32_t timeout /**< Timeout in milliseconds. Zero means no
timeout. */ timeout. */
@ -2213,8 +2218,12 @@ EC_PUBLIC_API ec_request_state_t ecrt_soe_request_state(
* activation). * activation).
* *
* \ingroup ApplicationInterfaceRT * \ingroup ApplicationInterfaceRT
* \return 0 on success, otherwise negative error code.
* \retval -EINVAL Invalid input data, e.g. data size == 0.
* \retval -ENOMEM Reserved memory in ecrt_slave_config_create_soe_request()
* too small.
*/ */
EC_PUBLIC_API void ecrt_soe_request_write( EC_PUBLIC_API int ecrt_soe_request_write(
ec_soe_request_t *req /**< SoE request. */ ec_soe_request_t *req /**< SoE request. */
); );
@ -2231,8 +2240,9 @@ EC_PUBLIC_API void ecrt_soe_request_write(
* activation). * activation).
* *
* \ingroup ApplicationInterfaceRT * \ingroup ApplicationInterfaceRT
* \return 0 on success, otherwise negative error code.
*/ */
EC_PUBLIC_API void ecrt_soe_request_read( EC_PUBLIC_API int ecrt_soe_request_read(
ec_soe_request_t *req /**< SoE request. */ ec_soe_request_t *req /**< SoE request. */
); );

View File

@ -48,7 +48,7 @@ void ec_soe_request_clear(ec_soe_request_t *req)
* Application interface. * Application interface.
****************************************************************************/ ****************************************************************************/
void ecrt_soe_request_idn(ec_soe_request_t *req, uint8_t drive_no, int ecrt_soe_request_idn(ec_soe_request_t *req, uint8_t drive_no,
uint16_t idn) uint16_t idn)
{ {
ec_ioctl_soe_request_t data; ec_ioctl_soe_request_t data;
@ -61,14 +61,14 @@ void ecrt_soe_request_idn(ec_soe_request_t *req, uint8_t drive_no,
ret = ioctl(req->config->master->fd, EC_IOCTL_SOE_REQUEST_IDN, &data); ret = ioctl(req->config->master->fd, EC_IOCTL_SOE_REQUEST_IDN, &data);
if (EC_IOCTL_IS_ERROR(ret)) { if (EC_IOCTL_IS_ERROR(ret)) {
fprintf(stderr, "Failed to set SoE request IDN: %s\n", return -EC_IOCTL_ERRNO(ret);
strerror(EC_IOCTL_ERRNO(ret)));
} }
return 0;
} }
/****************************************************************************/ /****************************************************************************/
void ecrt_soe_request_timeout(ec_soe_request_t *req, uint32_t timeout) int ecrt_soe_request_timeout(ec_soe_request_t *req, uint32_t timeout)
{ {
ec_ioctl_soe_request_t data; ec_ioctl_soe_request_t data;
int ret; int ret;
@ -79,9 +79,9 @@ void ecrt_soe_request_timeout(ec_soe_request_t *req, uint32_t timeout)
ret = ioctl(req->config->master->fd, EC_IOCTL_SOE_REQUEST_TIMEOUT, &data); ret = ioctl(req->config->master->fd, EC_IOCTL_SOE_REQUEST_TIMEOUT, &data);
if (EC_IOCTL_IS_ERROR(ret)) { if (EC_IOCTL_IS_ERROR(ret)) {
fprintf(stderr, "Failed to set SoE request timeout: %s\n", return -EC_IOCTL_ERRNO(ret);
strerror(EC_IOCTL_ERRNO(ret)));
} }
return 0;
} }
/****************************************************************************/ /****************************************************************************/
@ -139,7 +139,7 @@ ec_request_state_t ecrt_soe_request_state(ec_soe_request_t *req)
/****************************************************************************/ /****************************************************************************/
void ecrt_soe_request_read(ec_soe_request_t *req) int ecrt_soe_request_read(ec_soe_request_t *req)
{ {
ec_ioctl_soe_request_t data; ec_ioctl_soe_request_t data;
int ret; int ret;
@ -149,14 +149,14 @@ void ecrt_soe_request_read(ec_soe_request_t *req)
ret = ioctl(req->config->master->fd, EC_IOCTL_SOE_REQUEST_READ, &data); ret = ioctl(req->config->master->fd, EC_IOCTL_SOE_REQUEST_READ, &data);
if (EC_IOCTL_IS_ERROR(ret)) { if (EC_IOCTL_IS_ERROR(ret)) {
fprintf(stderr, "Failed to command an SoE read operation : %s\n", return -EC_IOCTL_ERRNO(ret);
strerror(EC_IOCTL_ERRNO(ret)));
} }
return 0;
} }
/****************************************************************************/ /****************************************************************************/
void ecrt_soe_request_write(ec_soe_request_t *req) int ecrt_soe_request_write(ec_soe_request_t *req)
{ {
ec_ioctl_soe_request_t data; ec_ioctl_soe_request_t data;
int ret; int ret;
@ -168,9 +168,9 @@ void ecrt_soe_request_write(ec_soe_request_t *req)
ret = ioctl(req->config->master->fd, EC_IOCTL_SOE_REQUEST_WRITE, &data); ret = ioctl(req->config->master->fd, EC_IOCTL_SOE_REQUEST_WRITE, &data);
if (EC_IOCTL_IS_ERROR(ret)) { if (EC_IOCTL_IS_ERROR(ret)) {
fprintf(stderr, "Failed to command an SDO write operation : %s\n", return -EC_IOCTL_ERRNO(ret);
strerror(EC_IOCTL_ERRNO(ret)));
} }
return 0;
} }
/****************************************************************************/ /****************************************************************************/

View File

@ -3703,8 +3703,7 @@ static ATTRIBUTES int ec_ioctl_soe_request_index(
return -ENOENT; return -ENOENT;
} }
ecrt_soe_request_idn(req, data.drive_no, data.idn); return ecrt_soe_request_idn(req, data.drive_no, data.idn);
return 0;
} }
/****************************************************************************/ /****************************************************************************/
@ -3740,8 +3739,7 @@ static ATTRIBUTES int ec_ioctl_soe_request_timeout(
return -ENOENT; return -ENOENT;
} }
ecrt_soe_request_timeout(req, data.timeout); return ecrt_soe_request_timeout(req, data.timeout);
return 0;
} }
/****************************************************************************/ /****************************************************************************/
@ -3824,8 +3822,7 @@ static ATTRIBUTES int ec_ioctl_soe_request_read(
return -ENOENT; return -ENOENT;
} }
ecrt_soe_request_read(req); return ecrt_soe_request_read(req);
return 0;
} }
/****************************************************************************/ /****************************************************************************/
@ -3874,8 +3871,7 @@ static ATTRIBUTES int ec_ioctl_soe_request_write(
return -EFAULT; return -EFAULT;
req->data_size = data.size; req->data_size = data.size;
ecrt_soe_request_write(req); return ecrt_soe_request_write(req);
return 0;
} }
/****************************************************************************/ /****************************************************************************/

View File

@ -223,7 +223,7 @@ int ec_soe_request_append_data(
/** Request a read operation. /** Request a read operation.
*/ */
void ec_soe_request_read( int ec_soe_request_read(
ec_soe_request_t *req /**< SoE request. */ ec_soe_request_t *req /**< SoE request. */
) )
{ {
@ -231,13 +231,14 @@ void ec_soe_request_read(
req->state = EC_INT_REQUEST_QUEUED; req->state = EC_INT_REQUEST_QUEUED;
req->error_code = 0x0000; req->error_code = 0x0000;
req->jiffies_start = jiffies; req->jiffies_start = jiffies;
return 0;
} }
/****************************************************************************/ /****************************************************************************/
/** Request a write operation. /** Request a write operation.
*/ */
void ec_soe_request_write( int ec_soe_request_write(
ec_soe_request_t *req /**< SoE request. */ ec_soe_request_t *req /**< SoE request. */
) )
{ {
@ -245,6 +246,7 @@ void ec_soe_request_write(
req->state = EC_INT_REQUEST_QUEUED; req->state = EC_INT_REQUEST_QUEUED;
req->error_code = 0x0000; req->error_code = 0x0000;
req->jiffies_start = jiffies; req->jiffies_start = jiffies;
return 0;
} }
/****************************************************************************/ /****************************************************************************/
@ -263,18 +265,20 @@ int ec_soe_request_timed_out(const ec_soe_request_t *req /**< SDO request. */)
* Application interface. * Application interface.
****************************************************************************/ ****************************************************************************/
void ecrt_soe_request_idn(ec_soe_request_t *req, uint8_t drive_no, int ecrt_soe_request_idn(ec_soe_request_t *req, uint8_t drive_no,
uint16_t idn) uint16_t idn)
{ {
req->drive_no = drive_no; req->drive_no = drive_no;
req->idn = idn; req->idn = idn;
return 0;
} }
/****************************************************************************/ /****************************************************************************/
void ecrt_soe_request_timeout(ec_soe_request_t *req, uint32_t timeout) int ecrt_soe_request_timeout(ec_soe_request_t *req, uint32_t timeout)
{ {
req->issue_timeout = timeout; req->issue_timeout = timeout;
return 0;
} }
/****************************************************************************/ /****************************************************************************/
@ -300,16 +304,16 @@ ec_request_state_t ecrt_soe_request_state(const ec_soe_request_t *req)
/****************************************************************************/ /****************************************************************************/
void ecrt_soe_request_read(ec_soe_request_t *req) int ecrt_soe_request_read(ec_soe_request_t *req)
{ {
ec_soe_request_read(req); return ec_soe_request_read(req);
} }
/****************************************************************************/ /****************************************************************************/
void ecrt_soe_request_write(ec_soe_request_t *req) int ecrt_soe_request_write(ec_soe_request_t *req)
{ {
ec_soe_request_write(req); return ec_soe_request_write(req);
} }
/****************************************************************************/ /****************************************************************************/

View File

@ -67,8 +67,8 @@ void ec_soe_request_set_idn(ec_soe_request_t *, uint16_t);
int ec_soe_request_alloc(ec_soe_request_t *, size_t); int ec_soe_request_alloc(ec_soe_request_t *, size_t);
int ec_soe_request_copy_data(ec_soe_request_t *, const uint8_t *, size_t); int ec_soe_request_copy_data(ec_soe_request_t *, const uint8_t *, size_t);
int ec_soe_request_append_data(ec_soe_request_t *, const uint8_t *, size_t); int ec_soe_request_append_data(ec_soe_request_t *, const uint8_t *, size_t);
void ec_soe_request_read(ec_soe_request_t *); int ec_soe_request_read(ec_soe_request_t *);
void ec_soe_request_write(ec_soe_request_t *); int ec_soe_request_write(ec_soe_request_t *);
int ec_soe_request_timed_out(const ec_soe_request_t *); int ec_soe_request_timed_out(const ec_soe_request_t *);
/****************************************************************************/ /****************************************************************************/