Commit 6e295186 authored by Simon Glass's avatar Simon Glass Committed by Tom Rini

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:

   4519668b 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: default avatarSimon Glass <sjg@chromium.org>
Acked-by: default avatarMarcel Ziswiler <marcel.ziswiler@toradex.com>
parent 9b6aa00d
......@@ -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>
......
......@@ -23,6 +23,7 @@
#include <command.h>
#include <watchdog.h>
#include <malloc.h>
#include <memalign.h>
#include <div64.h>
#include <asm/errno.h>
......
......@@ -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>
......
......@@ -23,6 +23,8 @@
* Adrian Hunter
*/
#include <common.h>
#include <memalign.h>
#include "ubifs.h"
#include <u-boot/zlib.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
*
......
/*
* 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 */
......@@ -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"
......
......@@ -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));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment