summaryrefslogtreecommitdiffstatshomepage
path: root/stmhal/can.c
diff options
context:
space:
mode:
authorPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-11-17 00:16:14 +0200
committerPaul Sokolovsky <pfalcon@users.sourceforge.net>2014-11-17 00:16:14 +0200
commitf4a6a577ab133781c06aec029c806c878555730a (patch)
tree0ef4da33c7e796c215daac7b74167ce74ba1fd28 /stmhal/can.c
parent5228854f0e026838c21a1e603dab77bb61d2fada (diff)
downloadmicropython-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.c7
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;
}