The driver has two instances of #ifdef _DEBUG, but when the symbol is
actually defined, we get a build error because of the old-style C
function definition. Fix this and while at it, turn it into a
bselftest.

Signed-off-by: Ahmad Fatoum <[email protected]>
---
 common/tlsf.c | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)

diff --git a/common/tlsf.c b/common/tlsf.c
index 3ca58e3abbfb..8dbb41077cad 100644
--- a/common/tlsf.c
+++ b/common/tlsf.c
@@ -1,14 +1,19 @@
 // SPDX-License-Identifier: GPL-2.0-only
 
+#define pr_fmt(fmt) "tlsf: " fmt
+
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 #include <tlsf.h>
+#include <bselftest.h>
 #include "tlsfbits.h"
 #include <linux/kasan.h>
 
 #define CHAR_BIT       8
 
+BSELFTEST_GLOBALS();
+
 #ifndef CONFIG_KASAN
 #define __memcpy memcpy
 #endif
@@ -870,11 +875,13 @@ void tlsf_remove_pool(tlsf_t tlsf, pool_t pool)
 ** TLSF main interface.
 */
 
-#ifdef _DEBUG
-int test_ffs_fls()
+static int test_tlfs_ffs_fls(void)
 {
-       /* Verify ffs/fls work properly. */
        int rv = 0;
+
+       total_tests = 8;
+
+       /* Verify ffs/fls work properly. */
        rv += (tlsf_ffs(0) == -1) ? 0 : 0x1;
        rv += (tlsf_fls(0) == -1) ? 0 : 0x2;
        rv += (tlsf_ffs(1) == 0) ? 0 : 0x4;
@@ -885,28 +892,21 @@ int test_ffs_fls()
        rv += (tlsf_fls(0x7FFFFFFF) == 30) ? 0 : 0x80;
 
 #if defined (TLSF_64BIT)
+       total_tests += 3;
        rv += (tlsf_fls_sizet(0x80000000) == 31) ? 0 : 0x100;
        rv += (tlsf_fls_sizet(0x100000000) == 32) ? 0 : 0x200;
        rv += (tlsf_fls_sizet(0xffffffffffffffff) == 63) ? 0 : 0x400;
+#else
+       skipped_tests += 3;
 #endif
 
-       if (rv)
-       {
-               printf("test_ffs_fls: %x ffs/fls tests failed.\n", rv);
-       }
-       return rv;
+       failed_tests = rv;
+       return 0;
 }
-#endif
+bselftest(core, test_tlfs_ffs_fls);
 
 tlsf_t tlsf_create(void* mem)
 {
-#ifdef _DEBUG
-       if (test_ffs_fls())
-       {
-               return 0;
-       }
-#endif
-
        if (((tlsfptr_t)mem % ALIGN_SIZE) != 0)
        {
                printf("tlsf_create: Memory must be aligned to %u bytes.\n",
-- 
2.30.2


Reply via email to