mtd-utils: Add macros to include/common.h
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
@@ -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
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
@@ -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
@@ -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
@@ -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
@@ -20,6 +20,8 @@* Artem Bityutskiy */ +#define PROGRAM_NAME "lpt" +#include "mkfs.ubifs.h" /**
mkfs.ubifs/mkfs.ubifs.h +1 -0
@@ -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
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
dd183c2c8000d42073d19fefc2740dc50bafd287Mon 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
@@ -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
@@ -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
@@ -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
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_NAMEis 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
dd183c2c8000d42073d19fefc2740dc50bafd287Mon Sep 17 00:00:00 2001From: Artem Bityutskiy <[email protected]>
Date: Mon, 20 Oct 2014 13:47:09 +0300
Subject: [PATCH] mkfs.ubifs: start using common codeSeveral commonly used macros are now defined in '
common.h', let's start using them in mkfs.ubifs, instead of duplicating them.Signed-off-by Artem Bityutskiy <[email protected]>--- 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@@ -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@@ -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
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.
Quoted 7 lines · hujianyang
This patch adds four macros:
ALIGN,
__ALIGN_MASK,min_tandmax_tto
include/common.h.Signed-off-by hujianyang <[email protected]>
Hi, pushed this one to mtd-utils.git, thanks!