summaryrefslogtreecommitdiffstats
path: root/platforms/synchronization_util.c
diff options
context:
space:
mode:
authorSergey Vlasov <sigprof@gmail.com>2023-02-12 09:14:34 +0300
committerGitHub <noreply@github.com>2023-02-12 17:14:34 +1100
commit584b7cf801f98d58aefe5a9bbc4a163aba4c1b74 (patch)
tree16a82839ac645b3adf5775377583fbcbd27a8ed5 /platforms/synchronization_util.c
parentb1f4d49c43e5034b44e34c5ee6e2d9a72195e41d (diff)
Fix build failures with `OPT = 0` due to inline functions (#19767)
Co-authored-by: Joel Challis <git@zvecr.com>
Diffstat (limited to 'platforms/synchronization_util.c')
-rw-r--r--platforms/synchronization_util.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/platforms/synchronization_util.c b/platforms/synchronization_util.c
new file mode 100644
index 0000000000..26cf7dccf1
--- /dev/null
+++ b/platforms/synchronization_util.c
@@ -0,0 +1,17 @@
+// Copyright 2023 Sergey Vlasov (@sigprof)
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "synchronization_util.h"
+
+// Generate out-of-line copies for inline functions defined in synchronization_util.h.
+
+#if !defined(PLATFORM_SUPPORTS_SYNCHRONIZATION)
+# if defined(SPLIT_KEYBOARD)
+extern inline void split_shared_memory_lock(void);
+extern inline void split_shared_memory_unlock(void);
+# endif
+#endif
+
+#if defined(SPLIT_KEYBOARD)
+QMK_IMPLEMENT_AUTOUNLOCK_HELPERS(split_shared_memory)
+#endif