generic-poky/meta/packages/linux/linux-omap-2.6.22.19/fixes.patch

67 lines
2.7 KiB
Diff

Index: linux-2.6.22.19/arch/arm/Makefile
===================================================================
--- linux-2.6.22.19.orig/arch/arm/Makefile 2008-07-18 18:04:40.000000000 +0100
+++ linux-2.6.22.19/arch/arm/Makefile 2008-07-18 18:07:38.000000000 +0100
@@ -47,7 +47,7 @@
# Note that GCC does not numerically define an architecture version
# macro, but instead defines a whole series of macros which makes
# testing for a specific architecture or later rather impossible.
-arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7a,-march=armv5t -Wa$(comma)-march=armv7a)
+arch-$(CONFIG_CPU_32v7) :=-D__LINUX_ARM_ARCH__=7 $(call cc-option,-march=armv7-a,-march=armv5t -Wa$(comma)-march=armv7-a)
arch-$(CONFIG_CPU_32v6) :=-D__LINUX_ARM_ARCH__=6 $(call cc-option,-march=armv6,-march=armv5t -Wa$(comma)-march=armv6)
# Only override the compiler option if ARMv6. The ARMv6K extensions are
# always available in ARMv7
Index: linux-2.6.22.19/drivers/video/omap/omap_disp_out.c
===================================================================
--- linux-2.6.22.19.orig/drivers/video/omap/omap_disp_out.c 2008-07-18 18:53:28.000000000 +0100
+++ linux-2.6.22.19/drivers/video/omap/omap_disp_out.c 2008-07-18 18:53:33.000000000 +0100
@@ -80,7 +80,7 @@
#ifdef CONFIG_FB_OMAP_LCD_VGA
#define H4_LCD_XRES 480
#define H4_LCD_YRES 640
-#define H4_LCD_PIXCLOCK_MAX 41700 /* in pico seconds */
+#define H4_LCD_PIXCLOCK_MAX 46295 /* in pico seconds */
#define H4_LCD_PIXCLOCK_MIN 38000 /* in pico seconds */
#else
#ifdef CONFIG_OMAP3430_ES2
Index: linux-2.6.22.19/include/asm-arm/processor.h
===================================================================
--- linux-2.6.22.19.orig/include/asm-arm/processor.h 2008-07-18 18:33:36.000000000 +0100
+++ linux-2.6.22.19/include/asm-arm/processor.h 2008-07-18 18:38:05.000000000 +0100
@@ -103,14 +103,16 @@
#if __LINUX_ARM_ARCH__ >= 5
#define ARCH_HAS_PREFETCH
-static inline void prefetch(const void *ptr)
+#define prefetch(ptr) __builtin_prefetch(ptr)
+
+/*static inline void prefetch(const void *ptr)
{
__asm__ __volatile__(
- "pld\t%0"
+ "pld\ta%0"
:
- : "o" (*(char *)ptr)
+ : "p" (ptr)
: "cc");
-}
+}*/
#define ARCH_HAS_PREFETCHW
#define prefetchw(ptr) prefetch(ptr)
Index: linux-2.6.22.19/include/linux/time.h
===================================================================
--- linux-2.6.22.19.orig/include/linux/time.h 2008-07-18 18:31:02.000000000 +0100
+++ linux-2.6.22.19/include/linux/time.h 2008-07-18 18:31:36.000000000 +0100
@@ -171,6 +171,10 @@
{
ns += a->tv_nsec;
while(unlikely(ns >= NSEC_PER_SEC)) {
+ /* The following asm() prevents the compiler from
+ * optimising this loop into a modulo operation. */
+ asm("" : "+r"(ns));
+
ns -= NSEC_PER_SEC;
a->tv_sec++;
}