summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2015-09-02 17:24:57 -0600
committerTom Rini <trini@konsulko.com>2015-09-11 17:15:16 -0400
commit6e295186c7fc8bf5be22a05f6ca9602f2bb507f2 (patch)
treeabc6320b0c5e1b5b11333e019b8f3c36444a1a79
parent9b6aa00dbc7e946171c2c8ddae531ed83fc8e9e7 (diff)
downloadblackbird-obmc-uboot-6e295186c7fc8bf5be22a05f6ca9602f2bb507f2.tar.gz
blackbird-obmc-uboot-6e295186c7fc8bf5be22a05f6ca9602f2bb507f2.zip
Move malloc_cache_aligned() to its own header
At present malloc.h is included everywhere since it recently was added to common.h in this commit: 4519668 mtd/nand/ubi: assortment of alignment fixes This seems wasteful and unnecessary. We have been trying to trim down common.h and put separate functions into separate header files and that change goes in the opposite direction. Move malloc_cache_aligned() to a new header so that this can be avoided. The header would perhaps be better named as alignmem.h but it needs to be included after common.h and people might be confused by this. With the name memalign.h it fits nicely after malloc() in most cases. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com>
-rw-r--r--common/cmd_ubi.c2
-rw-r--r--drivers/mtd/nand/nand_util.c1
-rw-r--r--fs/ubifs/super.c3
-rw-r--r--fs/ubifs/ubifs.c2
-rw-r--r--include/common.h9
-rw-r--r--include/memalign.h25
-rw-r--r--lib/gzip.c1
-rw-r--r--lib/zlib/zutil.c4
8 files changed, 36 insertions, 11 deletions
diff --git a/common/cmd_ubi.c b/common/cmd_ubi.c
index 10eea65570..0460b4cc56 100644
--- a/common/cmd_ubi.c
+++ b/common/cmd_ubi.c
@@ -14,7 +14,7 @@
#include <common.h>
#include <command.h>
#include <exports.h>
-
+#include <memalign.h>
#include <nand.h>
#include <onenand_uboot.h>
#include <linux/mtd/mtd.h>
diff --git a/drivers/mtd/nand/nand_util.c b/drivers/mtd/nand/nand_util.c
index 21b4a618ce..71285b6669 100644
--- a/drivers/mtd/nand/nand_util.c
+++ b/drivers/mtd/nand/nand_util.c
@@ -23,6 +23,7 @@
#include <command.h>
#include <watchdog.h>
#include <malloc.h>
+#include <memalign.h>
#include <div64.h>
#include <asm/errno.h>
diff --git a/fs/ubifs/super.c b/fs/ubifs/super.c
index 0bf52db0ce..41763a1897 100644
--- a/fs/ubifs/super.c
+++ b/fs/ubifs/super.c
@@ -28,6 +28,9 @@
#include <linux/writeback.h>
#else
+#include <common.h>
+#include <malloc.h>
+#include <memalign.h>
#include <linux/compat.h>
#include <linux/stat.h>
#include <linux/err.h>
diff --git a/fs/ubifs/ubifs.c b/fs/ubifs/ubifs.c
index 4daa7fad53..f7a084747e 100644
--- a/fs/ubifs/ubifs.c
+++ b/fs/ubifs/ubifs.c
@@ -23,6 +23,8 @@
* Adrian Hunter
*/
+#include <common.h>
+#include <memalign.h>
#include "ubifs.h"
#include <u-boot/zlib.h>
diff --git a/include/common.h b/include/common.h
index c12f402f77..c48e5bc11b 100644
--- a/include/common.h
+++ b/include/common.h
@@ -1060,15 +1060,6 @@ int cpu_release(int nr, int argc, char * const argv[]);
#define DEFINE_CACHE_ALIGN_BUFFER(type, name, size) \
DEFINE_ALIGN_BUFFER(type, name, size, ARCH_DMA_MINALIGN)
-#ifndef __ASSEMBLY__
-#include <malloc.h>
-
-static inline void *malloc_cache_aligned(size_t size)
-{
- return memalign(ARCH_DMA_MINALIGN, ALIGN(size, ARCH_DMA_MINALIGN));
-}
-#endif
-
/*
* check_member() - Check the offset of a structure member
*
diff --git a/include/memalign.h b/include/memalign.h
new file mode 100644
index 0000000000..f78b9dd9dc
--- /dev/null
+++ b/include/memalign.h
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2015 Google, Inc
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef __ALIGNMEM_H
+#define __ALIGNMEM_H
+
+/*
+ * ARCH_DMA_MINALIGN is defined in asm/cache.h for each architecture. It
+ * is used to align DMA buffers.
+ */
+#ifndef __ASSEMBLY__
+#include <asm/cache.h>
+
+#include <malloc.h>
+
+static inline void *malloc_cache_aligned(size_t size)
+{
+ return memalign(ARCH_DMA_MINALIGN, ALIGN(size, ARCH_DMA_MINALIGN));
+}
+#endif
+
+#endif /* __ALIGNMEM_H */
diff --git a/lib/gzip.c b/lib/gzip.c
index cd8e9fea43..2c49e4e9ff 100644
--- a/lib/gzip.c
+++ b/lib/gzip.c
@@ -10,6 +10,7 @@
#include <command.h>
#include <image.h>
#include <malloc.h>
+#include <memalign.h>
#include <u-boot/zlib.h>
#include "zlib/zutil.h"
diff --git a/lib/zlib/zutil.c b/lib/zlib/zutil.c
index 173a81d1ea..227343e48d 100644
--- a/lib/zlib/zutil.c
+++ b/lib/zlib/zutil.c
@@ -43,7 +43,9 @@ void z_error (m)
*/
#ifndef MY_ZCALLOC /* Any system without a special alloc function */
-#ifndef __UBOOT__
+#ifdef __UBOOT__
+#include <malloc.h>
+#else
#ifndef STDC
extern voidp malloc OF((uInt size));
extern voidp calloc OF((uInt items, uInt size));
OpenPOWER on IntegriCloud