Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 707ced0d authored by Atsushi Nemoto's avatar Atsushi Nemoto Committed by Linus Torvalds
Browse files

[PATCH] __get_unaligned() gcc-4 fix



If the 'ptr' is a const, this code cause "assignment of read-only variable"
error on gcc 4.x.

Use __u64 instead of __typeof__(*(ptr)) for temporary variable to get
rid of errors on gcc 4.x.

Signed-off-by: default avatarAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Cc: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 81c29a85
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -78,7 +78,7 @@ static inline void __ustw(__u16 val, __u16 *addr)

#define __get_unaligned(ptr, size) ({		\
	const void *__gu_p = ptr;		\
	__typeof__(*(ptr)) val;			\
	__u64 val;				\
	switch (size) {				\
	case 1:					\
		val = *(const __u8 *)__gu_p;	\
@@ -95,7 +95,7 @@ static inline void __ustw(__u16 val, __u16 *addr)
	default:				\
		bad_unaligned_access_length();	\
	};					\
	val;					\
	(__typeof__(*(ptr)))val;		\
})

#define __put_unaligned(val, ptr, size)		\