* Tue Aug 16 2011 Dennis Gilmore <dennis@ausil.us>

- add patch to work around gcc bug on arm
This commit is contained in:
Dennis Gilmore 2011-08-16 13:42:11 -05:00
parent 9fe2f4befc
commit fc919d08c4
2 changed files with 60 additions and 0 deletions

49
arm-readl.patch Normal file
View File

@ -0,0 +1,49 @@
--- arch/arm/include/asm/io.h.orig 2011-07-26 00:44:15.000000000 -0400
+++ arch/arm/include/asm/io.h 2011-07-26 00:40:41.000000000 -0400
@@ -55,6 +55,46 @@
#define __raw_readw(a) (__chk_io_ptr(a), *(volatile unsigned short __force *)(a))
#define __raw_readl(a) (__chk_io_ptr(a), *(volatile unsigned int __force *)(a))
+#undef __raw_writew
+#define __raw_writew(v,a) __dj_writew(v,a)
+static inline void
+__dj_writew(unsigned short v, unsigned short *a)
+{
+ __chk_io_ptr(a);
+ asm volatile ("strh %0,[%1,#0]" :: "r" (v), "r" (a));
+}
+
+#undef __raw_writel
+#define __raw_writel(v,a) __dj_writel(v,a)
+static inline void
+__dj_writel(unsigned int v, unsigned int *a)
+{
+ __chk_io_ptr(a);
+ asm volatile ("str %0,[%1,#0]" :: "r" (v), "r" (a));
+}
+
+#undef __raw_readw
+#define __raw_readw(a) __dj_readw(a)
+static inline unsigned short
+__dj_readw(unsigned short *a)
+{
+ unsigned short rv;
+ __chk_io_ptr(a);
+ asm volatile ("ldrh %0,[%1,#0]" : "=r" (rv) : "r" (a));
+ return rv;
+}
+
+#undef __raw_readl
+#define __raw_readl(a) __dj_readl(a)
+static inline unsigned int
+__dj_readl(unsigned int *a)
+{
+ unsigned long rv;
+ __chk_io_ptr(a);
+ asm volatile ("ldr %0,[%1,#0]" : "=r" (rv) : "r" (a));
+ return rv;
+}
+
/*
* Architecture ioremap implementation.
*/

View File

@ -687,6 +687,13 @@ Patch20000: utrace.patch
# Flattened devicetree support
Patch21000: arm-omap-dt-compat.patch
Patch21001: arm-smsc-support-reading-mac-address-from-device-tree.patch
# workaround for issue with gcc-4.6.x
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45819
# http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45704
# patch from http://www.delorie.com/tmp/arm-readl.patch
Patch21002: arm-readl.patch
%endif
BuildRoot: %{_tmppath}/kernel-%{KVERREL}-root
@ -1127,6 +1134,7 @@ ApplyPatch linux-2.6.29-sparc-IOC_TYPECHECK.patch
#
ApplyPatch arm-omap-dt-compat.patch
ApplyPatch arm-smsc-support-reading-mac-address-from-device-tree.patch
ApplyPatch arm-readl.patch
#
# Exec shield
@ -1882,6 +1890,9 @@ fi
# and build.
%changelog
* Tue Aug 16 2011 Dennis Gilmore <dennis@ausil.us>
- add patch to work around gcc bug on arm
* Mon Aug 15 2011 Dave Jones <davej@redhat.com> 2.6.40.3-0
- Apply patches from 3.0.3-rc1