From 4ee80a3e16fe5b4e4f33000ff7bd03e7f4b48b06 Mon Sep 17 00:00:00 2001 From: linD026 Date: Tue, 14 Mar 2023 07:59:42 +0800 Subject: [PATCH] completion: Improve the compatibility with v5.17+ Since v5.17-rc1, particularly after the commit cead1855266 ("exit: Rename complete_and_exit to kthread_complete_and_exit"), complete_and_exit() is renamed to kthread_complete_and_exit(). Close #188 --- examples/completions.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/examples/completions.c b/examples/completions.c index e9a87c6..23c7f2b 100644 --- a/examples/completions.c +++ b/examples/completions.c @@ -7,6 +7,7 @@ #include #include #include +#include static struct { struct completion crank_comp; @@ -18,7 +19,11 @@ static int machine_crank_thread(void *arg) pr_info("Turn the crank\n"); complete_all(&machine.crank_comp); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0) + kthread_complete_and_exit(&machine.crank_comp, 0); +#else complete_and_exit(&machine.crank_comp, 0); +#endif } static int machine_flywheel_spinup_thread(void *arg) @@ -28,7 +33,11 @@ static int machine_flywheel_spinup_thread(void *arg) pr_info("Flywheel spins up\n"); complete_all(&machine.flywheel_comp); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0) + kthread_complete_and_exit(&machine.flywheel_comp, 0); +#else complete_and_exit(&machine.flywheel_comp, 0); +#endif } static int completions_init(void)