From 986bb0e6a0c24fe1678b437be838986068a49644 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Tue, 15 Nov 2011 18:17:07 +0000 Subject: [PATCH] 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 --- fs/yaffs2/yaffs_tagscompat.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/fs/yaffs2/yaffs_tagscompat.c b/fs/yaffs2/yaffs_tagscompat.c index 70a8a8c72a..e872323b2f 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; } } -- 2.39.2