aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Sakamoto <o-takashi@sakamocchi.jp>2022-05-05 16:16:39 +0900
committer坂本 貴史 <o-takashi@sakamocchi.jp>2022-05-05 20:51:53 +0900
commitfa04b9ba70226b036831166c9e7cb7c612be0ce8 (patch)
tree770c1305bd3d09936eccbea72b46bee53e59f047
parent72a2dda64080c419056c9f89a05a68edd42faf47 (diff)
downloadlibhinoko-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.c14
-rw-r--r--src/fw_iso_resource_once.c12
-rw-r--r--src/fw_iso_resource_private.c2
-rw-r--r--src/fw_iso_resource_private.h3
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;