diff options
author | Takashi Sakamoto <o-takashi@sakamocchi.jp> | 2022-05-05 16:16:39 +0900 |
---|---|---|
committer | 坂本 貴史 <o-takashi@sakamocchi.jp> | 2022-05-05 20:51:53 +0900 |
commit | fa04b9ba70226b036831166c9e7cb7c612be0ce8 (patch) | |
tree | 770c1305bd3d09936eccbea72b46bee53e59f047 | |
parent | 72a2dda64080c419056c9f89a05a68edd42faf47 (diff) | |
download | libhinoko-fa04b9ba70226b036831166c9e7cb7c612be0ce8.tar.gz |
fw_iso_ctx_private: code refactoring for error generation macro of ioctl
For convenience.
Signed-off-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
-rw-r--r-- | src/fw_iso_resource_auto.c | 14 | ||||
-rw-r--r-- | src/fw_iso_resource_once.c | 12 | ||||
-rw-r--r-- | src/fw_iso_resource_private.c | 2 | ||||
-rw-r--r-- | src/fw_iso_resource_private.h | 3 |
4 files changed, 13 insertions, 18 deletions
diff --git a/src/fw_iso_resource_auto.c b/src/fw_iso_resource_auto.c index 9445b93..e4fd783 100644 --- a/src/fw_iso_resource_auto.c +++ b/src/fw_iso_resource_auto.c @@ -301,12 +301,10 @@ void hinoko_fw_iso_resource_auto_allocate_async(HinokoFwIsoResourceAuto *self, } res.bandwidth = bandwidth; - if (ioctl(priv->state.fd, FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE, &res) < 0) { - generate_syscall_error(error, errno, "ioctl(%s)", - "FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE"); - } else { + if (ioctl(priv->state.fd, FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE, &res) < 0) + generate_ioctl_error(error, errno, FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE); + else priv->handle = res.handle; - } end: g_mutex_unlock(&priv->mutex); } @@ -340,10 +338,8 @@ void hinoko_fw_iso_resource_auto_deallocate_async(HinokoFwIsoResourceAuto *self, dealloc.handle = priv->handle; - if (ioctl(priv->state.fd, FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE, &dealloc) < 0) { - generate_syscall_error(error, errno, "ioctl(%s)", - "FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE"); - } + if (ioctl(priv->state.fd, FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE, &dealloc) < 0) + generate_ioctl_error(error, errno, FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE); end: g_mutex_unlock(&priv->mutex); } diff --git a/src/fw_iso_resource_once.c b/src/fw_iso_resource_once.c index c1788cf..5f46ce7 100644 --- a/src/fw_iso_resource_once.c +++ b/src/fw_iso_resource_once.c @@ -203,10 +203,8 @@ void hinoko_fw_iso_resource_once_allocate_async(HinokoFwIsoResourceOnce *self, } res.bandwidth = bandwidth; - if (ioctl(priv->state.fd, FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE, &res) < 0) { - generate_syscall_error(error, errno, "ioctl(%s)", - "FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE"); - } + if (ioctl(priv->state.fd, FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE, &res) < 0) + generate_ioctl_error(error, errno, FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE); } /** @@ -240,10 +238,8 @@ void hinoko_fw_iso_resource_once_deallocate_async(HinokoFwIsoResourceOnce *self, res.channels = 1ull << channel; res.bandwidth = bandwidth; - if (ioctl(priv->state.fd, FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE, &res) < 0) { - generate_syscall_error(error, errno, "ioctl(%s)", - "FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE"); - } + if (ioctl(priv->state.fd, FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE, &res) < 0) + generate_ioctl_error(error, errno, FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE); } /** diff --git a/src/fw_iso_resource_private.c b/src/fw_iso_resource_private.c index cf5513d..ae936f2 100644 --- a/src/fw_iso_resource_private.c +++ b/src/fw_iso_resource_private.c @@ -200,7 +200,7 @@ gboolean fw_iso_resource_state_cache_bus_state(struct fw_iso_resource_state *sta get_info.bus_reset = (__u64)&state->bus_state; if (ioctl(state->fd, FW_CDEV_IOC_GET_INFO, &get_info) < 0) { - generate_syscall_error(error, errno, "ioctl(%s)", "FW_CDEV_IOC_GET_INFO"); + generate_ioctl_error(error, errno, FW_CDEV_IOC_GET_INFO); return FALSE; } diff --git a/src/fw_iso_resource_private.h b/src/fw_iso_resource_private.h index 2ee8357..cb14293 100644 --- a/src/fw_iso_resource_private.h +++ b/src/fw_iso_resource_private.h @@ -18,6 +18,9 @@ HINOKO_FW_ISO_RESOURCE_ERROR_FAILED, \ format " %d(%s)", arg, errno, strerror(errno)) +#define generate_ioctl_error(error, errno, request) \ + generate_syscall_error(error, errno, "ioctl(%s)", #request) + struct fw_iso_resource_state { int fd; struct fw_cdev_event_bus_reset bus_state; |