summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2011-11-15 18:17:07 +0000
committerWolfgang Denk <wd@denx.de>2011-11-16 21:39:17 +0100
commit986bb0e6a0c24fe1678b437be838986068a49644 (patch)
treeb383d5674e8e0dc3237874b2ff6a661b5734d6b6
parentf45e91c4457ce81f867d50f6492d374098ce4f07 (diff)
downloadu-boot-imx-986bb0e6a0c24fe1678b437be838986068a49644.zip
u-boot-imx-986bb0e6a0c24fe1678b437be838986068a49644.tar.gz
u-boot-imx-986bb0e6a0c24fe1678b437be838986068a49644.tar.bz2
Fix warnings in yaffs
Sorry if this is already fixed somewhere - I could not find it. This fixes the warnings show below. yaffs_tagscompat.c: In function 'yaffs_TagsCompatabilityReadChunkWithTagsFromNAND': yaffs_tagscompat.c:151: warning: dereferencing pointer 'tu' does break strict-aliasing rules yaffs_tagscompat.c:150: warning: dereferencing pointer 'tu' does break strict-aliasing rules yaffs_tagscompat.c:149: warning: dereferencing pointer 'tu' does break strict-aliasing rules yaffs_tagscompat.c:148: warning: dereferencing pointer 'tu' does break strict-aliasing rules yaffs_tagscompat.c:147: warning: dereferencing pointer 'tu' does break strict-aliasing rules yaffs_tagscompat.c:146: warning: dereferencing pointer 'tu' does break strict-aliasing rules yaffs_tagscompat.c:145: warning: dereferencing pointer 'tu' does break strict-aliasing rules yaffs_tagscompat.c:144: warning: dereferencing pointer 'tu' does break strict-aliasing rules yaffs_tagscompat.c:141: note: initialized from here Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--fs/yaffs2/yaffs_tagscompat.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/fs/yaffs2/yaffs_tagscompat.c b/fs/yaffs2/yaffs_tagscompat.c
index 70a8a8c..e872323 100644
--- a/fs/yaffs2/yaffs_tagscompat.c
+++ b/fs/yaffs2/yaffs_tagscompat.c
@@ -136,9 +136,8 @@ static void yaffs_LoadTagsIntoSpare(yaffs_Spare * sparePtr,
}
static void yaffs_GetTagsFromSpare(yaffs_Device * dev, yaffs_Spare * sparePtr,
- yaffs_Tags * tagsPtr)
+ yaffs_TagsUnion *tu)
{
- yaffs_TagsUnion *tu = (yaffs_TagsUnion *) tagsPtr;
int result;
tu->asBytes[0] = sparePtr->tagByte0;
@@ -150,7 +149,7 @@ static void yaffs_GetTagsFromSpare(yaffs_Device * dev, yaffs_Spare * sparePtr,
tu->asBytes[6] = sparePtr->tagByte6;
tu->asBytes[7] = sparePtr->tagByte7;
- result = yaffs_CheckECCOnTags(tagsPtr);
+ result = yaffs_CheckECCOnTags(&tu->asTags);
if (result > 0) {
dev->tagsEccFixed++;
} else if (result < 0) {
@@ -437,7 +436,7 @@ int yaffs_TagsCompatabilityReadChunkWithTagsFromNAND(yaffs_Device * dev,
{
yaffs_Spare spare;
- yaffs_Tags tags;
+ yaffs_TagsUnion tags;
yaffs_ECCResult eccResult;
static yaffs_Spare spareFF;
@@ -467,10 +466,10 @@ int yaffs_TagsCompatabilityReadChunkWithTagsFromNAND(yaffs_Device * dev,
if (eTags->chunkUsed) {
yaffs_GetTagsFromSpare(dev, &spare, &tags);
- eTags->objectId = tags.objectId;
- eTags->chunkId = tags.chunkId;
- eTags->byteCount = tags.byteCount;
- eTags->serialNumber = tags.serialNumber;
+ eTags->objectId = tags.asTags.objectId;
+ eTags->chunkId = tags.asTags.chunkId;
+ eTags->byteCount = tags.asTags.byteCount;
+ eTags->serialNumber = tags.asTags.serialNumber;
}
}