From: Charles Manning Date: Fri, 10 Dec 2010 02:56:48 +0000 (+1300) Subject: yaffs: More cleanup of tracing, inlines and general formatting X-Git-Tag: linux-mainline-patchset-4~12 X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs2.git;a=commitdiff_plain;h=5062df7307f71d3374da87a7c69102dc3f09da28 yaffs: More cleanup of tracing, inlines and general formatting Signed-off-by: Charles Manning --- diff --git a/direct/yaffs_list.h b/direct/yaffs_list.h index 624cd5f..6bb4646 100644 --- a/direct/yaffs_list.h +++ b/direct/yaffs_list.h @@ -52,7 +52,7 @@ do { \ /* Add an element to a list */ -static Y_INLINE void list_add(struct list_head *new_entry, +static inline void list_add(struct list_head *new_entry, struct list_head *list) { struct list_head *list_next = list->next; @@ -64,7 +64,7 @@ static Y_INLINE void list_add(struct list_head *new_entry, } -static Y_INLINE void list_add_tail(struct list_head *new_entry, +static inline void list_add_tail(struct list_head *new_entry, struct list_head *list) { struct list_head *list_prev = list->prev; @@ -79,7 +79,7 @@ static Y_INLINE void list_add_tail(struct list_head *new_entry, /* Take an element out of its current list, with or without * reinitialising the links.of the entry*/ -static Y_INLINE void list_del(struct list_head *entry) +static inline void list_del(struct list_head *entry) { struct list_head *list_next = entry->next; struct list_head *list_prev = entry->prev; @@ -89,7 +89,7 @@ static Y_INLINE void list_del(struct list_head *entry) } -static Y_INLINE void list_del_init(struct list_head *entry) +static inline void list_del_init(struct list_head *entry) { list_del(entry); entry->next = entry->prev = entry; @@ -97,7 +97,7 @@ static Y_INLINE void list_del_init(struct list_head *entry) /* Test if the list is empty */ -static Y_INLINE int list_empty(struct list_head *entry) +static inline int list_empty(struct list_head *entry) { return (entry->next == entry); } diff --git a/direct/yaffs_nandif.c b/direct/yaffs_nandif.c index f2806e1..e103757 100644 --- a/direct/yaffs_nandif.c +++ b/direct/yaffs_nandif.c @@ -39,10 +39,9 @@ int ynandif_WriteChunkWithTagsToNAND(struct yaffs_dev * dev, int nand_chunk, unsigned spareSize = 0; ynandif_Geometry *geometry = (ynandif_Geometry *)(dev->driver_context); - T(YAFFS_TRACE_MTD, - (TSTR - ("nandmtd2_WriteChunkWithTagsToNAND chunk %d data %p tags %p" - TENDSTR), nand_chunk, data, tags)); + yaffs_trace(YAFFS_TRACE_MTD, + "nandmtd2_WriteChunkWithTagsToNAND chunk %d data %p tags %p", + nand_chunk, data, tags); /* For yaffs2 writing there must be both data and tags. @@ -52,7 +51,8 @@ int ynandif_WriteChunkWithTagsToNAND(struct yaffs_dev * dev, int nand_chunk, if(dev->param.inband_tags){ struct yaffs_packed_tags2_tags_only *pt2tp; - pt2tp = (struct yaffs_packed_tags2_tags_only *)(data + dev->data_bytes_per_chunk); + pt2tp = (struct yaffs_packed_tags2_tags_only *) + (data + dev->data_bytes_per_chunk); yaffs_pack_tags2_tags_only(pt2tp,tags); spare = NULL; spareSize = 0; @@ -64,7 +64,8 @@ int ynandif_WriteChunkWithTagsToNAND(struct yaffs_dev * dev, int nand_chunk, } retval = geometry->writeChunk(dev,nand_chunk, - data, dev->param.total_bytes_per_chunk, spare, spareSize); + data, dev->param.total_bytes_per_chunk, + spare, spareSize); return retval; } @@ -80,10 +81,9 @@ int ynandif_ReadChunkWithTagsFromNAND(struct yaffs_dev * dev, int nand_chunk, int eccStatus; //0 = ok, 1 = fixed, -1 = unfixed ynandif_Geometry *geometry = (ynandif_Geometry *)(dev->driver_context); - T(YAFFS_TRACE_MTD, - (TSTR - ("nandmtd2_ReadChunkWithTagsFromNAND chunk %d data %p tags %p" - TENDSTR), nand_chunk, data, tags)); + yaffs_trace(YAFFS_TRACE_MTD, + "nandmtd2_ReadChunkWithTagsFromNAND chunk %d data %p tags %p", + nand_chunk, data, tags); if(!tags){ spare = NULL; @@ -161,7 +161,8 @@ static int ynandif_IsBlockOk(struct yaffs_dev *dev, int blockId) return geometry->checkBlockOk(dev,blockId); } -int ynandif_QueryNANDBlock(struct yaffs_dev *dev, int blockId, enum yaffs_block_state *state, u32 *seq_number) +int ynandif_QueryNANDBlock(struct yaffs_dev *dev, int blockId, + enum yaffs_block_state *state, u32 *seq_number) { unsigned chunkNo; struct yaffs_ext_tags tags; @@ -223,23 +224,23 @@ struct yaffs_dev * strcpy(clonedName,name); dev->param.name = clonedName; - dev->param.write_chunk_tags_fn = ynandif_WriteChunkWithTagsToNAND; + dev->param.write_chunk_tags_fn = ynandif_WriteChunkWithTagsToNAND; dev->param.read_chunk_tags_fn = ynandif_ReadChunkWithTagsFromNAND; - dev->param.erase_fn = ynandif_EraseBlockInNAND; - dev->param.initialise_flash_fn = ynandif_InitialiseNAND; - dev->param.query_block_fn = ynandif_QueryNANDBlock; - dev->param.bad_block_fn = ynandif_MarkNANDBlockBad; - dev->param.n_caches = 20; - dev->param.start_block = geometry->start_block; - dev->param.end_block = geometry->end_block; - dev->param.total_bytes_per_chunk = geometry->dataSize; - dev->param.spare_bytes_per_chunk = geometry->spareSize; - dev->param.inband_tags = geometry->inband_tags; - dev->param.chunks_per_block = geometry->pagesPerBlock; - dev->param.use_nand_ecc = geometry->hasECC; - dev->param.is_yaffs2 = geometry->useYaffs2; - dev->param.n_reserved_blocks = 5; - dev->driver_context = (void *)geometry; + dev->param.erase_fn = ynandif_EraseBlockInNAND; + dev->param.initialise_flash_fn = ynandif_InitialiseNAND; + dev->param.query_block_fn = ynandif_QueryNANDBlock; + dev->param.bad_block_fn = ynandif_MarkNANDBlockBad; + dev->param.n_caches = 20; + dev->param.start_block = geometry->start_block; + dev->param.end_block = geometry->end_block; + dev->param.total_bytes_per_chunk = geometry->dataSize; + dev->param.spare_bytes_per_chunk = geometry->spareSize; + dev->param.inband_tags = geometry->inband_tags; + dev->param.chunks_per_block = geometry->pagesPerBlock; + dev->param.use_nand_ecc = geometry->hasECC; + dev->param.is_yaffs2 = geometry->useYaffs2; + dev->param.n_reserved_blocks = 5; + dev->driver_context = (void *)geometry; yaffs_add_device(dev); @@ -253,3 +254,4 @@ struct yaffs_dev * return NULL; } + diff --git a/direct/ydirectenv.h b/direct/ydirectenv.h index d394c6e..63cd6d8 100644 --- a/direct/ydirectenv.h +++ b/direct/ydirectenv.h @@ -47,10 +47,10 @@ void yaffs_qsort(void *aa, size_t n, size_t es, #define YAFFS_PATH_DIVIDERS "/" -#ifdef NO_Y_INLINE -#define Y_INLINE +#ifdef NO_inline +#define inline #else -#define Y_INLINE __inline__ +#define inline __inline__ #endif #define kmalloc(x,flags) yaffs_malloc(x) diff --git a/direct/yportenv.h b/direct/yportenv.h index 48e32ea..4208e80 100644 --- a/direct/yportenv.h +++ b/direct/yportenv.h @@ -17,51 +17,79 @@ #ifndef __YPORTENV_H__ #define __YPORTENV_H__ -/* - * Define the MTD version in terms of Linux Kernel versions - * This allows yaffs to be used independantly of the kernel - * as well as with it. - */ +/* Definition of types */ +typedef unsigned char u8; +typedef unsigned short u16; +typedef unsigned u32; -#if defined CONFIG_YAFFS_WINCE -#include "ywinceenv.h" +#ifndef WIN32 +#include +#endif -#elif defined CONFIG_YAFFS_DIRECT +#ifdef CONFIG_YAFFS_PROVIDE_DEFS +/* File types */ -/* Direct interface */ -#include "ydirectenv.h" -#elif defined CONFIG_YAFFS_UTIL +#define DT_UNKNOWN 0 +#define DT_FIFO 1 +#define DT_CHR 2 +#define DT_DIR 4 +#define DT_BLK 6 +#define DT_REG 8 +#define DT_LNK 10 +#define DT_SOCK 12 +#define DT_WHT 14 -/* Stuff for YAFFS utilities */ -#include "stdlib.h" -#include "stdio.h" -#include "string.h" +#ifndef WIN32 +#include +#endif +/* + * Attribute flags. + * These are or-ed together to select what has been changed. + */ +#define ATTR_MODE 1 +#define ATTR_UID 2 +#define ATTR_GID 4 +#define ATTR_SIZE 8 +#define ATTR_ATIME 16 +#define ATTR_MTIME 32 +#define ATTR_CTIME 64 + +struct iattr { + unsigned int ia_valid; + unsigned ia_mode; + unsigned ia_uid; + unsigned ia_gid; + unsigned ia_size; + unsigned ia_atime; + unsigned ia_mtime; + unsigned ia_ctime; + unsigned int ia_attr_flags; +}; -#define kmalloc(x) malloc(x) -#define kfree(x) free(x) -#define vmalloc(x) malloc(x) -#define vfree(x) free(x) +#endif -#define YCHAR char -#define YUCHAR unsigned char -#define _Y(x) x -#define Y_INLINE inline -#define YAFFS_LOSTNFOUND_NAME "lost+found" -#define YAFFS_LOSTNFOUND_PREFIX "obj" -/* #define YPRINTF(x) printf x */ +#if defined CONFIG_YAFFS_WINCE -#define YAFFS_ROOT_MODE 0755 -#define YAFFS_LOSTNFOUND_MODE 0700 +#include "ywinceenv.h" +#elif defined CONFIG_YAFFS_DIRECT + +/* Direct interface */ +#include "ydirectenv.h" + +#elif defined CONFIG_YAFFS_UTIL + +#include "yutilsenv.h" + #else /* Should have specified a configuration type */ #error Unknown configuration @@ -252,98 +280,11 @@ #ifndef YBUG #define YBUG() do {\ - T(YAFFS_TRACE_BUG,\ - (TSTR("==>> yaffs bug: " __FILE__ " %d" TENDSTR),\ - __LINE__));\ + yaffs_trace(YAFFS_TRACE_BUG,\ + "==>> yaffs bug: " __FILE__ " %d",\ + __LINE__);\ Y_DUMP_STACK();\ } while (0) #endif - -#endif - -/* - * YAFFS: Yet another Flash File System . A NAND-flash specific file system. - * - * Copyright (C) 2002-2010 Aleph One Ltd. - * for Toby Churchill Ltd and Brightstar Engineering - * - * Created by Charles Manning - * - * 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. - */ - -/* - * This file is just holds extra declarations of macros that would normally - * be provided in the Linux kernel. These macros have been written from - * scratch but are functionally equivalent to the Linux ones. - * - */ - -#ifndef __EXTRAS_H__ -#define __EXTRAS_H__ - - -/* Definition of types */ -typedef unsigned char u8; -typedef unsigned short u16; -typedef unsigned u32; - - -#ifndef WIN32 -#include -#endif - - -#ifdef CONFIG_YAFFS_PROVIDE_DEFS -/* File types */ - - -#define DT_UNKNOWN 0 -#define DT_FIFO 1 -#define DT_CHR 2 -#define DT_DIR 4 -#define DT_BLK 6 -#define DT_REG 8 -#define DT_LNK 10 -#define DT_SOCK 12 -#define DT_WHT 14 - - -#ifndef WIN32 -#include -#endif - -/* - * Attribute flags. These should be or-ed together to figure out what - * has been changed! - */ -#define ATTR_MODE 1 -#define ATTR_UID 2 -#define ATTR_GID 4 -#define ATTR_SIZE 8 -#define ATTR_ATIME 16 -#define ATTR_MTIME 32 -#define ATTR_CTIME 64 - -struct iattr { - unsigned int ia_valid; - unsigned ia_mode; - unsigned ia_uid; - unsigned ia_gid; - unsigned ia_size; - unsigned ia_atime; - unsigned ia_mtime; - unsigned ia_ctime; - unsigned int ia_attr_flags; -}; - -#endif - - - #endif diff --git a/yaffs_bitmap.c b/yaffs_bitmap.c index 9fe4032..6be9d26 100644 --- a/yaffs_bitmap.c +++ b/yaffs_bitmap.c @@ -17,7 +17,7 @@ * Chunk bitmap manipulations */ -static Y_INLINE u8 *yaffs_block_bits(struct yaffs_dev *dev, int blk) +static inline u8 *yaffs_block_bits(struct yaffs_dev *dev, int blk) { if (blk < dev->internal_start_block || blk > dev->internal_end_block) { yaffs_trace(YAFFS_TRACE_ERROR, diff --git a/yaffs_getblockinfo.h b/yaffs_getblockinfo.h index 4cef686..d87acbd 100644 --- a/yaffs_getblockinfo.h +++ b/yaffs_getblockinfo.h @@ -20,7 +20,7 @@ #include "yaffs_trace.h" /* Function to manipulate block info */ -static Y_INLINE struct yaffs_block_info *yaffs_get_block_info(struct yaffs_dev +static inline struct yaffs_block_info *yaffs_get_block_info(struct yaffs_dev *dev, int blk) { if (blk < dev->internal_start_block || blk > dev->internal_end_block) { diff --git a/yaffs_guts.c b/yaffs_guts.c index b49f018..f4ae9de 100644 --- a/yaffs_guts.c +++ b/yaffs_guts.c @@ -296,7 +296,7 @@ static void yaffs_handle_chunk_wr_error(struct yaffs_dev *dev, int nand_chunk, * Simple hash function. Needs to have a reasonable spread */ -static Y_INLINE int yaffs_hash_fn(int n) +static inline int yaffs_hash_fn(int n) { n = abs(n); return n % YAFFS_NOBJECT_BUCKETS; diff --git a/yaffs_verify.c b/yaffs_verify.c index c12894d..738c7f6 100644 --- a/yaffs_verify.c +++ b/yaffs_verify.c @@ -268,7 +268,6 @@ void yaffs_verify_file(struct yaffs_obj *obj) if (tn) { u32 the_chunk = yaffs_get_group_base(dev, tn, i); if (the_chunk > 0) { - /* T(~0,(TSTR("verifying (%d:%d) %d"TENDSTR),obj_id,i,the_chunk)); */ yaffs_rd_chunk_tags_nand(dev, the_chunk, NULL, &tags); if (tags.obj_id != obj_id || tags.chunk_id != i) diff --git a/yportenv_multi.h b/yportenv_multi.h index e536796..4dddf63 100644 --- a/yportenv_multi.h +++ b/yportenv_multi.h @@ -51,13 +51,6 @@ #define YUCHAR unsigned char #define _Y(x) x -#define Y_INLINE __inline__ - -#define yaffs_trace(msk, fmt, ...) do { \ - if(yaffs_trace_mask & ((msk) | YAFFS_TRACE_ALWAYS)) \ - printk(KERN_DEBUG "yaffs: " fmt "\n", ##__VA_ARGS__); \ -} while(0) - #define YAFFS_LOSTNFOUND_NAME "lost+found" #define YAFFS_LOSTNFOUND_PREFIX "obj" @@ -81,6 +74,11 @@ #define Y_DUMP_STACK() dump_stack() #endif +#define yaffs_trace(msk, fmt, ...) do { \ + if(yaffs_trace_mask & ((msk) | YAFFS_TRACE_ALWAYS)) \ + printk(KERN_DEBUG "yaffs: " fmt "\n", ##__VA_ARGS__); \ +} while(0) + #ifndef YBUG #define YBUG() do {\ yaffs_trace(YAFFS_TRACE_BUG,\ diff --git a/yportenv_single.h b/yportenv_single.h index 4710c2b..236f579 100644 --- a/yportenv_single.h +++ b/yportenv_single.h @@ -35,8 +35,6 @@ #define YUCHAR unsigned char #define _Y(x) x -#define Y_INLINE __inline__ - #define YAFFS_LOSTNFOUND_NAME "lost+found" #define YAFFS_LOSTNFOUND_PREFIX "obj" @@ -53,8 +51,8 @@ #ifndef Y_DUMP_STACK #define Y_DUMP_STACK() dump_stack() - #endif + #define yaffs_trace(msk, fmt, ...) do { \ if(yaffs_trace_mask & ((msk) | YAFFS_TRACE_ALWAYS)) \ printk(KERN_DEBUG "yaffs: " fmt "\n", ##__VA_ARGS__); \ @@ -69,5 +67,4 @@ } while (0) #endif - #endif