dm vdo: fold thread-cond-var.c into thread-utils
authorMike Snitzer <snitzer@kernel.org>
Fri, 9 Feb 2024 15:54:53 +0000 (09:54 -0600)
committerMike Snitzer <snitzer@kernel.org>
Fri, 1 Mar 2024 14:25:54 +0000 (09:25 -0500)
Further cleanup is needed for thread-utils interfaces given many
functions should return void or be removed entirely because they
amount to obfuscation via wrappers.

Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Signed-off-by: Matthew Sakai <msakai@redhat.com>
drivers/md/dm-vdo/Makefile
drivers/md/dm-vdo/thread-cond-var.c [deleted file]
drivers/md/dm-vdo/thread-utils.c
drivers/md/dm-vdo/thread-utils.h

index be5020b81c475db09e55b4fd53ca09f3fae417a3..32266ab04cc19b05f4b1e3e2c09e71856d6648cb 100644 (file)
@@ -48,7 +48,6 @@ dm-vdo-objs := \
        status-codes.o \
        string-utils.o \
        sysfs.o \
-       thread-cond-var.o \
        thread-device.o \
        thread-registry.o \
        thread-utils.o \
diff --git a/drivers/md/dm-vdo/thread-cond-var.c b/drivers/md/dm-vdo/thread-cond-var.c
deleted file mode 100644 (file)
index 82b8033..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-/*
- * Copyright 2023 Red Hat
- */
-
-#include <linux/jiffies.h>
-#include <linux/minmax.h>
-
-#include "errors.h"
-#include "thread-utils.h"
-#include "time-utils.h"
-
-int uds_init_cond(struct cond_var *cv)
-{
-       init_waitqueue_head(&cv->wait_queue);
-       return UDS_SUCCESS;
-}
-
-int uds_signal_cond(struct cond_var *cv)
-{
-       wake_up(&cv->wait_queue);
-       return UDS_SUCCESS;
-}
-
-int uds_broadcast_cond(struct cond_var *cv)
-{
-       wake_up_all(&cv->wait_queue);
-       return UDS_SUCCESS;
-}
-
-int uds_wait_cond(struct cond_var *cv, struct mutex *mutex)
-{
-       DEFINE_WAIT(__wait);
-
-       prepare_to_wait(&cv->wait_queue, &__wait, TASK_IDLE);
-       uds_unlock_mutex(mutex);
-       schedule();
-       finish_wait(&cv->wait_queue, &__wait);
-       uds_lock_mutex(mutex);
-       return UDS_SUCCESS;
-}
-
-int uds_destroy_cond(struct cond_var *cv)
-{
-       return UDS_SUCCESS;
-}
index 1a1eb9ae9e332172ac6dadefd7fda0117382c166..5d371bfba8ff4e73193e31c5b67390a614fd2338 100644 (file)
@@ -135,3 +135,14 @@ int uds_join_threads(struct thread *thread)
        uds_free(thread);
        return UDS_SUCCESS;
 }
+
+void uds_wait_cond(struct cond_var *cv, struct mutex *mutex)
+{
+       DEFINE_WAIT(__wait);
+
+       prepare_to_wait(&cv->wait_queue, &__wait, TASK_IDLE);
+       uds_unlock_mutex(mutex);
+       schedule();
+       finish_wait(&cv->wait_queue, &__wait);
+       uds_lock_mutex(mutex);
+}
index 30637dd264cc8649549a90b21d718ba6cf07840b..c7a5d2d948a4f6303ac3868d362c4fef2a5dd8e0 100644 (file)
@@ -31,11 +31,29 @@ void uds_perform_once(atomic_t *once_state, void (*function) (void));
 
 int uds_join_threads(struct thread *thread);
 
-int __must_check uds_init_cond(struct cond_var *cond);
-int uds_signal_cond(struct cond_var *cond);
-int uds_broadcast_cond(struct cond_var *cond);
-int uds_wait_cond(struct cond_var *cond, struct mutex *mutex);
-int uds_destroy_cond(struct cond_var *cond);
+static inline int __must_check uds_init_cond(struct cond_var *cv)
+{
+       init_waitqueue_head(&cv->wait_queue);
+       return UDS_SUCCESS;
+}
+
+static inline void uds_signal_cond(struct cond_var *cv)
+{
+       wake_up(&cv->wait_queue);
+}
+
+static inline void uds_broadcast_cond(struct cond_var *cv)
+{
+       wake_up_all(&cv->wait_queue);
+}
+
+void uds_wait_cond(struct cond_var *cv, struct mutex *mutex);
+
+/* FIXME: all below wrappers should be removed! */
+
+static inline void uds_destroy_cond(struct cond_var *cv)
+{
+}
 
 static inline int __must_check uds_init_mutex(struct mutex *mutex)
 {