mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-27 20:38:52 +09:00
![Kim Phillips](/assets/img/avatar_default.png)
u-boot's byteorder headers did not contain endianness attributions for use with sparse, causing a lot of false positives. Import the kernel's latest definitions, and enable them by including compiler.h and types.h. They come with 'const' added for some swab functions, so fix those up, too: include/linux/byteorder/big_endian.h:46:2: warning: passing argument 1 of '__swab64p' discards 'const' qualifier from pointer target type [enabled by default] Also, note: u-boot's historic __BYTE_ORDER definition has been preserved (for the time being at least). We also remove ad-hoc barrier() definitions, since we're including compiler.h in files that hadn't in the past: macb.c:54:0: warning: "barrier" redefined [enabled by default] In addition, including compiler.h in byteorder changes the 'noinline' definition to expand to __attribute__((noinline)). This fixes arch/powerpc/lib/bootm.c: bootm.c:329:16: error: attribute '__attribute__': unknown attribute bootm.c:329:16: error: expected ')' before '__attribute__' bootm.c:329:25: error: expected identifier or '(' before ')' token powerpc sparse builds yield: include/common.h:356:22: error: marked inline, but without a definition the unknown-reason inlining without a definition is considered obsolete given it was part of the 2002 initial commit, and no arm version was 'fixed.' also fixed: ydirectenv.h:60:0: warning: "inline" redefined [enabled by default] and: Configuring for devconcenter - Board: intip, Options: DEVCONCENTER make[1]: *** [4xx_ibm_ddr2_autocalib.o] Error 1 make: *** [arch/powerpc/cpu/ppc4xx/libppc4xx.o] Error 2 powerpc-fsl-linux-size: './u-boot': No such file 4xx_ibm_ddr2_autocalib.c: In function 'DQS_autocalibration': include/asm/ppc4xx-sdram.h:1407:13: sorry, unimplemented: inlining failed in call to 'ppc4xx_ibm_ddr2_register_dump': function body not available 4xx_ibm_ddr2_autocalib.c:1243:32: sorry, unimplemented: called from here and: In file included from crc32.c:50:0: crc32table.h:4:1: warning: implicit declaration of function '___constant_swab32' [-Wimplicit-function-declaration] crc32table.h:4:1: error: initializer element is not constant crc32table.h:4:1: error: (near initialization for 'crc32table_le[0]') Signed-off-by: Kim Phillips <kim.phillips@freescale.com> [trini: Remove '#endif' in include/common.h around setenv portion] Signed-off-by: Tom Rini <trini@ti.com>
85 lines
1.9 KiB
C
85 lines
1.9 KiB
C
/*
|
|
* YAFFS: Yet another Flash File System . A NAND-flash specific file system.
|
|
*
|
|
* Copyright (C) 2002-2011 Aleph One Ltd.
|
|
* for Toby Churchill Ltd and Brightstar Engineering
|
|
*
|
|
* Created by Charles Manning <charles@aleph1.co.uk>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU Lesser General Public License version 2.1 as
|
|
* published by the Free Software Foundation.
|
|
*
|
|
* Note: Only YAFFS headers are LGPL, YAFFS C code is covered by GPL.
|
|
*/
|
|
|
|
/*
|
|
* ydirectenv.h: Environment wrappers for YAFFS direct.
|
|
*/
|
|
|
|
#ifndef __YDIRECTENV_H__
|
|
#define __YDIRECTENV_H__
|
|
|
|
#include <common.h>
|
|
#include <malloc.h>
|
|
#include <linux/compat.h>
|
|
|
|
#include "yaffs_osglue.h"
|
|
|
|
void yaffs_bug_fn(const char *file_name, int line_no);
|
|
|
|
|
|
|
|
#define YCHAR char
|
|
#define YUCHAR unsigned char
|
|
#define _Y(x) x
|
|
|
|
#define yaffs_strcat(a, b) strcat(a, b)
|
|
#define yaffs_strcpy(a, b) strcpy(a, b)
|
|
#define yaffs_strncpy(a, b, c) strncpy(a, b, c)
|
|
#define yaffs_strnlen(s, m) strnlen(s, m)
|
|
#ifdef CONFIG_YAFFS_CASE_INSENSITIVE
|
|
#define yaffs_strcmp(a, b) strcasecmp(a, b)
|
|
#define yaffs_strncmp(a, b, c) strncasecmp(a, b, c)
|
|
#else
|
|
#define yaffs_strcmp(a, b) strcmp(a, b)
|
|
#define yaffs_strncmp(a, b, c) strncmp(a, b, c)
|
|
#endif
|
|
|
|
|
|
void yaffs_qsort(void *aa, size_t n, size_t es,
|
|
int (*cmp)(const void *, const void *));
|
|
|
|
#define sort(base, n, sz, cmp_fn, swp) yaffs_qsort(base, n, sz, cmp_fn)
|
|
|
|
#define YAFFS_PATH_DIVIDERS "/"
|
|
|
|
#ifdef NO_inline
|
|
#define inline
|
|
#endif
|
|
|
|
#define cond_resched() do {} while (0)
|
|
|
|
#define yaffs_trace(msk, fmt, ...) do { \
|
|
if (yaffs_trace_mask & (msk)) \
|
|
printf("yaffs: " fmt "\n", ##__VA_ARGS__); \
|
|
} while (0)
|
|
|
|
|
|
#define YAFFS_LOSTNFOUND_NAME "lost+found"
|
|
#define YAFFS_LOSTNFOUND_PREFIX "obj"
|
|
|
|
#include "yaffscfg.h"
|
|
|
|
#define Y_CURRENT_TIME yaffsfs_CurrentTime()
|
|
#define Y_TIME_CONVERT(x) x
|
|
|
|
#define YAFFS_ROOT_MODE 0666
|
|
#define YAFFS_LOSTNFOUND_MODE 0666
|
|
|
|
#include "yaffs_list.h"
|
|
|
|
#include "yaffsfs.h"
|
|
|
|
#endif
|