diff options
author | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-11-17 00:16:14 +0200 |
---|---|---|
committer | Paul Sokolovsky <pfalcon@users.sourceforge.net> | 2014-11-17 00:16:14 +0200 |
commit | f4a6a577ab133781c06aec029c806c878555730a (patch) | |
tree | 0ef4da33c7e796c215daac7b74167ce74ba1fd28 /stmhal/can.c | |
parent | 5228854f0e026838c21a1e603dab77bb61d2fada (diff) | |
download | micropython-f4a6a577ab133781c06aec029c806c878555730a.tar.gz micropython-f4a6a577ab133781c06aec029c806c878555730a.zip |
stream: Convert .ioctl() to take fixed number of args.
This is more efficient, as allows to use register calling convention.
If needed, a structure pointer can be passed as argument to pass more
data.
Diffstat (limited to 'stmhal/can.c')
-rw-r--r-- | stmhal/can.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/stmhal/can.c b/stmhal/can.c index 4b06b13eda..13b876c9fc 100644 --- a/stmhal/can.c +++ b/stmhal/can.c @@ -418,13 +418,11 @@ STATIC const mp_map_elem_t pyb_can_locals_dict_table[] = { STATIC MP_DEFINE_CONST_DICT(pyb_can_locals_dict, pyb_can_locals_dict_table); -mp_uint_t can_ioctl(mp_obj_t self_in, mp_uint_t request, int *errcode, ...) { +mp_uint_t can_ioctl(mp_obj_t self_in, mp_uint_t request, mp_uint_t arg, int *errcode) { pyb_can_obj_t *self = self_in; - va_list vargs; - va_start(vargs, errcode); mp_uint_t ret; if (request == MP_IOCTL_POLL) { - mp_uint_t flags = va_arg(vargs, mp_uint_t); + mp_uint_t flags = arg; ret = 0; if ((flags & MP_IOCTL_POLL_RD) && ((__HAL_CAN_MSG_PENDING(&self->can, CAN_FIFO0) != 0) @@ -438,7 +436,6 @@ mp_uint_t can_ioctl(mp_obj_t self_in, mp_uint_t request, int *errcode, ...) { *errcode = EINVAL; ret = -1; } - va_end(vargs); return ret; } |