[RFC PATCH mtd-utils 032/110] ubifs-utils: Add common definitions in linux kernel

From: Zhihao Cheng
Date: Fri Jun 07 2024 - 00:34:23 EST


Add common definitions in linux kernel, which are used in UBIFS linux
kernel libs.

This is a preparation for replacing implementation of UBIFS utils with
linux kernel libs.

Signed-off-by: Zhihao Cheng <chengzhihao1@xxxxxxxxxx>
---
ubifs-utils/common/defs.h | 36 ++++++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)

diff --git a/ubifs-utils/common/defs.h b/ubifs-utils/common/defs.h
index 548d9dfb..506f752c 100644
--- a/ubifs-utils/common/defs.h
+++ b/ubifs-utils/common/defs.h
@@ -11,8 +11,11 @@
#include <unistd.h>
#include <limits.h>
#include <errno.h>
+#include <time.h>
+#include <assert.h>
#include <execinfo.h>

+#include "linux_types.h"
#include "ubifs.h"

/* common.h requires the PROGRAM_NAME macro */
@@ -76,8 +79,41 @@ static inline void dump_stack(void)
free(strings);
}

+static inline u32 get_random_u32(void)
+{
+ srand(time(NULL));
+ return rand();
+}
+
+static inline time_t ktime_get_seconds()
+{
+ return time(NULL);
+}
+
+#define likely(x) (x)
#define unlikely(x) (x)

+#define cond_resched() do {} while(0)
+
+#define BUG() do { \
+ assert(0); \
+} while(0)
+#define BUG_ON(cond) do { \
+ assert(!cond); \
+} while(0)
+
+#define smp_wmb() do {} while(0)
+#define smp_rmb() do {} while(0)
+#define smp_mb__before_atomic() do {} while(0)
+#define smp_mb__after_atomic() do {} while(0)
+
+#define min3(x, y, z) min((typeof(x))min(x, y), z)
+
+static inline u64 div_u64(u64 dividend, u32 divisor)
+{
+ return dividend / divisor;
+}
+
#define do_div(n,base) ({ \
int __res; \
__res = ((unsigned long) n) % (unsigned) base; \
--
2.13.6