Skip to contentSkip to conversation

mtd-utils: Add macros to include/common.h

PATCH In review hujianyang 2 participants 5 messages Oct 16, 2014 – Oct 22, 2014 Memory technology devices (MTD)

lore
Share & tools
lore

hujianyang

author
#0 lore raw

PATCH 1/2 mtd-utils: Add macros to include/common.h

This patch adds four macros:

ALIGN, __ALIGN_MASK, min_t and max_t

to include/common.h.

---
 include/common.h |   15 +++++++++++++++
 1 files changed, 15 insertions(+), 0 deletions(-)
include/common.h +15 -0
index 6895e5c..9b8804a 100644
@@ -47,6 +47,21 @@ extern "C" {
 #define min(a, b) MIN(a, b) /* glue for linux kernel source */
 #define ARRAY_SIZE(a) (sizeof(a) / sizeof((a)[0]))
 
+#define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1)
+#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
+
+#define min_t(t,x,y) ({ \
+	typeof((x)) _x = (x); \
+	typeof((y)) _y = (y); \
+	(_x < _y) ? _x : _y; \
+})
+
+#define max_t(t,x,y) ({ \
+	typeof((x)) _x = (x); \
+	typeof((y)) _y = (y); \
+	(_x > _y) ? _x : _y; \
+})
+
 #ifndef O_CLOEXEC
 #define O_CLOEXEC 0
 #endif
Signature · 1 line
1.6.0.2
author
#1 lore raw

PATCH 2/2 mtd-utils: Remove duplicate macros from mkfs.ubifs/def.h

These macros have been moved to include/common.h. This patch removes duplicate macros from mkfs.ubifs/def.h and include these macros from common.h

As each file which include common.h must define a PROGRAM_NAME, this patch also adds PROGRAM_NAME for every c file in mkfs.ubifs/

---
 mkfs.ubifs/compr.c      |    2 ++
 mkfs.ubifs/defs.h       |   15 ---------------
 mkfs.ubifs/devtable.c   |    2 ++
 mkfs.ubifs/lpt.c        |    2 ++
 mkfs.ubifs/mkfs.ubifs.h |    1 +
 5 files changed, 7 insertions(+), 15 deletions(-)
mkfs.ubifs/compr.c +2 -0
index 4152b6a..6d62033 100644
@@ -20,6 +20,8 @@
  *          Zoltan Sogor
  */
 
+#define PROGRAM_NAME "compr"
+
 #include <stdlib.h>
 #include <stdio.h>
 #include <stdint.h>
mkfs.ubifs/defs.h +0 -15
index 06cf9e5..1fa3316 100644
@@ -29,21 +29,6 @@
 #define le32_to_cpu(x) (t32((x)))
 #define le64_to_cpu(x) (t64((x)))
 
-#define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1)
-#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
-
-#define min_t(t,x,y) ({ \
-	typeof((x)) _x = (x); \
-	typeof((y)) _y = (y); \
-	(_x < _y) ? _x : _y; \
-})
-
-#define max_t(t,x,y) ({ \
-	typeof((x)) _x = (x); \
-	typeof((y)) _y = (y); \
-	(_x > _y) ? _x : _y; \
-})
-
 #define unlikely(x) (x)
 
 #define ubifs_assert(x) ({})
mkfs.ubifs/devtable.c +2 -0
index dee035d..2358197 100644
@@ -44,6 +44,8 @@
  * for more information about what the device table is.
  */
 
+#define PROGRAM_NAME "devtable"
+
 #include "mkfs.ubifs.h"
 #include "hashtable/hashtable.h"
 #include "hashtable/hashtable_itr.h"
mkfs.ubifs/lpt.c +2 -0
index f6d4352..94e8f9d 100644
@@ -20,6 +20,8 @@
  *          Artem Bityutskiy
  */
 
+#define PROGRAM_NAME "lpt"
+
 #include "mkfs.ubifs.h"
 
 /**
mkfs.ubifs/mkfs.ubifs.h +1 -0
index 6030c48..6f6feb8 100644
@@ -51,6 +51,7 @@
 #include "crc16.h"
 #include "ubifs-media.h"
 #include "ubifs.h"
+#include "common.h"
 #include "key.h"
 #include "lpt.h"
 #include "compr.h"
Signature · 1 line
1.6.0.2
#2 lore raw

Re: [PATCH 2/2] mtd-utils: Remove duplicate macros from mkfs.ubifs/def.h

Quoted 1 line · hujianyang

+#define PROGRAM_NAME "compr"

PROGRAM_NAME is the name of the end program, and there is no 'compre' or 'lpt' program.

Instead of this patch, I've pushed the one below, thanks!

Quoted 1 line

From dd183c2c8000d42073d19fefc2740dc50bafd287 Mon Sep 17 00:00:00 2001

From: Artem Bityutskiy <[email protected]>
Date: Mon, 20 Oct 2014 13:47:09 +0300
Subject: [PATCH] mkfs.ubifs: start using common code

Several commonly used macros are now defined in 'common.h', let's start using them in mkfs.ubifs, instead of duplicating them.

---
 mkfs.ubifs/defs.h       | 15 ---------------
 mkfs.ubifs/mkfs.ubifs.c |  1 -
 mkfs.ubifs/mkfs.ubifs.h |  4 ++++
 3 files changed, 4 insertions(+), 16 deletions(-)
mkfs.ubifs/defs.h +0 -15
index 06cf9e5..1fa3316 100644
@@ -29,21 +29,6 @@
 #define le32_to_cpu(x) (t32((x)))
 #define le64_to_cpu(x) (t64((x)))
 
-#define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1)
-#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
-
-#define min_t(t,x,y) ({ \
-	typeof((x)) _x = (x); \
-	typeof((y)) _y = (y); \
-	(_x < _y) ? _x : _y; \
-})
-
-#define max_t(t,x,y) ({ \
-	typeof((x)) _x = (x); \
-	typeof((y)) _y = (y); \
-	(_x > _y) ? _x : _y; \
-})
-
 #define unlikely(x) (x)
 
 #define ubifs_assert(x) ({})
mkfs.ubifs/mkfs.ubifs.c +0 -1
index 200c8a5..ca17e2b 100644
@@ -21,7 +21,6 @@
  */
 
 #define _XOPEN_SOURCE 500 /* For realpath() */
-#define PROGRAM_NAME "mkfs.ubifs"
 
 #include "mkfs.ubifs.h"
 #include <crc32.h>
mkfs.ubifs/mkfs.ubifs.h +4 -0
index 6030c48..3edb79d 100644
@@ -46,6 +46,10 @@
 #include <uuid/uuid.h>
 #include <sys/file.h>
 
+/* common.h requires the PROGRAM_NAME macro */
+#define PROGRAM_NAME "mkfs.ubifs"
+#include "common.h"
+
 #include "libubi.h"
 #include "defs.h"
 #include "crc16.h"
Signature · 1 line
1.9.3
author
#3 lore raw

Re: [PATCH 2/2] mtd-utils: Remove duplicate macros from mkfs.ubifs/def.h

Quoted 67 lines · Artem Bityutskiy
Quoted 1 line · hujianyang

+#define PROGRAM_NAME "compr"

PROGRAM_NAME is the name of the end program, and there is no 'compre' or 'lpt' program.

Instead of this patch, I've pushed the one below, thanks!

Quoted 1 line

From dd183c2c8000d42073d19fefc2740dc50bafd287 Mon Sep 17 00:00:00 2001

From: Artem Bityutskiy <[email protected]>
Date: Mon, 20 Oct 2014 13:47:09 +0300
Subject: [PATCH] mkfs.ubifs: start using common code

Several commonly used macros are now defined in 'common.h', let's start using them in mkfs.ubifs, instead of duplicating them.

---
 mkfs.ubifs/defs.h       | 15 ---------------
 mkfs.ubifs/mkfs.ubifs.c |  1 -
 mkfs.ubifs/mkfs.ubifs.h |  4 ++++
 3 files changed, 4 insertions(+), 16 deletions(-)
mkfs.ubifs/defs.h +0 -15
index 06cf9e5..1fa3316 100644
@@ -29,21 +29,6 @@
 #define le32_to_cpu(x) (t32((x)))
 #define le64_to_cpu(x) (t64((x)))
 
-#define ALIGN(x,a) __ALIGN_MASK(x,(typeof(x))(a)-1)
-#define __ALIGN_MASK(x,mask) (((x)+(mask))&~(mask))
-
-#define min_t(t,x,y) ({ \
-	typeof((x)) _x = (x); \
-	typeof((y)) _y = (y); \
-	(_x < _y) ? _x : _y; \
-})
-
-#define max_t(t,x,y) ({ \
-	typeof((x)) _x = (x); \
-	typeof((y)) _y = (y); \
-	(_x > _y) ? _x : _y; \
-})
-
 #define unlikely(x) (x)
 
 #define ubifs_assert(x) ({})
mkfs.ubifs/mkfs.ubifs.c +0 -1
index 200c8a5..ca17e2b 100644
@@ -21,7 +21,6 @@
  */
 
 #define _XOPEN_SOURCE 500 /* For realpath() */
-#define PROGRAM_NAME "mkfs.ubifs"
 
 #include "mkfs.ubifs.h"
 #include <crc32.h>
mkfs.ubifs/mkfs.ubifs.h +0 -0
index 6030c48..3edb79d 100644

mkfs.ubifs/mkfs.ubifs.h line 55

Quoted 10 lines
mkfs.ubifs/mkfs.ubifs.h +4 -0
@@ -46,6 +46,10 @@
 #include <uuid/uuid.h>
 #include <sys/file.h>
 
+/* common.h requires the PROGRAM_NAME macro */
+#define PROGRAM_NAME "mkfs.ubifs"
+#include "common.h"
+
 #include "libubi.h"
 #include "defs.h"
 #include "crc16.h"

It's good~! Thanks~!

I'd like to resend the patch set of ubidump depend on these changes.