Patches contributed by Eötvös Lorand University


commit 9749986a878e91182ff027ff0010ab8e3211031a
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sat Jul 26 17:28:11 2008 +0200

    x86: usb debug port early console, fix
    
    fix:
    
     arch/x86/kernel/built-in.o: In function `nvidia_set_debug_port':
     early_printk.c:(.text+0xf8b1): undefined reference to `read_pci_config'
     early_printk.c:(.text+0xf8dc): undefined reference to `write_pci_config'
     arch/x86/kernel/built-in.o: In function `setup_early_printk':
     early_printk.c:(.init.text+0x5487): undefined reference to `early_pci_allowed'
     early_printk.c:(.init.text+0x54cb): undefined reference to `read_pci_config'
     early_printk.c:(.init.text+0x54ec): undefined reference to `read_pci_config_16'
     [...]
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index 93422d2ecf61..2a3dfbd5e677 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -46,7 +46,7 @@ config EARLY_PRINTK
 config EARLY_PRINTK_DBGP
 	bool "Early printk via EHCI debug port"
 	default n
-	depends on EARLY_PRINTK
+	depends on EARLY_PRINTK && PCI
 	help
 	  Write kernel log output directly into the EHCI debug port.
 

commit 5a7a201c51c324876d00a54e7208af6af12d1ca4
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sat Jul 26 16:50:47 2008 +0200

    cpumask: export cpumask_of_cpu_map
    
    fix:
    
     ERROR: "cpumask_of_cpu_map" [drivers/acpi/processor.ko] undefined!
     ERROR: "cpumask_of_cpu_map" [arch/x86/kernel/microcode.ko] undefined!
     ERROR: "cpumask_of_cpu_map" [arch/x86/kernel/cpu/cpufreq/speedstep-ich.ko] undefined!
     ERROR: "cpumask_of_cpu_map" [arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.ko] undefined!
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/kernel/cpu.c b/kernel/cpu.c
index 9d4e1c28c053..a35d8995dc8c 100644
--- a/kernel/cpu.c
+++ b/kernel/cpu.c
@@ -572,3 +572,5 @@ __initdata
 };
 
 const cpumask_t *cpumask_of_cpu_map = cpumask_map;
+
+EXPORT_SYMBOL_GPL(cpumask_of_cpu_map);

commit 10d3285d0b3af641ee446f0be8f0a7f40cb515b6
Merge: 6dec3a10a7a6 3a61ec387c90
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sat Jul 26 16:30:19 2008 +0200

    Merge branch 'x86/urgent' into x86/core
    
    Conflicts:
    
            include/asm-x86/gpio.h
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --cc include/asm-x86/gpio.h
index f9e8f8918a9d,c4c91b37c104..497fb980d962
--- a/include/asm-x86/gpio.h
+++ b/include/asm-x86/gpio.h
@@@ -57,6 -53,4 +53,4 @@@ static inline int irq_to_gpio(unsigned 
  
  #endif /* CONFIG_GPIOLIB */
  
- #endif /* CONFIG_X86_RDC321X */
- 
 -#endif /* _ASM_I386_GPIO_H */
 +#endif /* ASM_X86__GPIO_H */

commit 6dec3a10a7a6093af10cef7ac56021150afd6451
Merge: 29308333fbe2 10a010f6953b
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sat Jul 26 16:29:23 2008 +0200

    Merge branch 'x86/x2apic' into x86/core
    
    Conflicts:
    
            include/asm-x86/i8259.h
            include/asm-x86/msidef.h
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --cc include/asm-x86/i8259.h
index c586559a6957,31112b6c595b..23c1b3baaecd
--- a/include/asm-x86/i8259.h
+++ b/include/asm-x86/i8259.h
@@@ -57,4 -57,7 +57,7 @@@ static inline void outb_pic(unsigned ch
  
  extern struct irq_chip i8259A_chip;
  
+ extern void mask_8259A(void);
+ extern void unmask_8259A(void);
+ 
 -#endif	/* __ASM_I8259_H__ */
 +#endif /* ASM_X86__I8259_H */
diff --cc include/asm-x86/msidef.h
index 3139666a94fa,57fd85935e5a..ed9190246876
--- a/include/asm-x86/msidef.h
+++ b/include/asm-x86/msidef.h
@@@ -48,4 -48,8 +48,8 @@@
  #define  MSI_ADDR_DEST_ID(dest)		(((dest) << MSI_ADDR_DEST_ID_SHIFT) & \
  					 MSI_ADDR_DEST_ID_MASK)
  
+ #define MSI_ADDR_IR_EXT_INT		(1 << 4)
+ #define MSI_ADDR_IR_SHV			(1 << 3)
+ #define MSI_ADDR_IR_INDEX1(index)	((index & 0x8000) >> 13)
+ #define MSI_ADDR_IR_INDEX2(index)	((index & 0x7fff) << 5)
 -#endif /* ASM_MSIDEF_H */
 +#endif /* ASM_X86__MSIDEF_H */

commit 29308333fbe2cc61258c1c470f9403960428beb2
Merge: 024e8ac04453 1503af661947
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sat Jul 26 16:28:36 2008 +0200

    Merge branch 'x86/header-guards' into x86/core

commit bda307ed7bdc160fcf1475a49f6c2e796fcb1294
Merge: 0791e13fbb1e 024e8ac04453
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sat Jul 26 15:38:48 2008 +0200

    Merge branch 'linus' into x86/cleanups

commit 1503af661947b7a4a09355cc2ae6aa0d43f16776
Merge: a31863168660 024e8ac04453
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sat Jul 26 15:30:40 2008 +0200

    Merge branch 'linus' into x86/header-guards
    
    Conflicts:
    
            include/asm-x86/gpio.h
            include/asm-x86/ide.h
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --cc include/asm-x86/gpio.h
index f269ff9cd40b,116e9147fe66..f9e8f8918a9d
--- a/include/asm-x86/gpio.h
+++ b/include/asm-x86/gpio.h
@@@ -1,6 -1,62 +1,62 @@@
- #ifndef ASM_X86__GPIO_H
- #define ASM_X86__GPIO_H
+ /*
+  * Generic GPIO API implementation for x86.
+  *
+  * Derived from the generic GPIO API for powerpc:
+  *
+  * Copyright (c) 2007-2008  MontaVista Software, Inc.
+  *
+  * Author: Anton Vorontsov <avorontsov@ru.mvista.com>
+  *
+  * This program is free software; you can redistribute it and/or modify
+  * it under the terms of the GNU General Public License as published by
+  * the Free Software Foundation; either version 2 of the License, or
+  * (at your option) any later version.
+  */
  
+ #ifndef _ASM_I386_GPIO_H
+ #define _ASM_I386_GPIO_H
+ 
+ #ifdef CONFIG_X86_RDC321X
  #include <gpio.h>
+ #else /* CONFIG_X86_RDC321X */
+ 
+ #include <asm-generic/gpio.h>
+ 
+ #ifdef CONFIG_GPIOLIB
+ 
+ /*
+  * Just call gpiolib.
+  */
+ static inline int gpio_get_value(unsigned int gpio)
+ {
+ 	return __gpio_get_value(gpio);
+ }
+ 
+ static inline void gpio_set_value(unsigned int gpio, int value)
+ {
+ 	__gpio_set_value(gpio, value);
+ }
+ 
+ static inline int gpio_cansleep(unsigned int gpio)
+ {
+ 	return __gpio_cansleep(gpio);
+ }
+ 
+ /*
+  * Not implemented, yet.
+  */
+ static inline int gpio_to_irq(unsigned int gpio)
+ {
+ 	return -ENOSYS;
+ }
+ 
+ static inline int irq_to_gpio(unsigned int irq)
+ {
+ 	return -EINVAL;
+ }
+ 
+ #endif /* CONFIG_GPIOLIB */
+ 
+ #endif /* CONFIG_X86_RDC321X */
  
 -#endif /* _ASM_I386_GPIO_H */
 +#endif /* ASM_X86__GPIO_H */
diff --cc include/asm-x86/processor-flags.h
index ae1d434f1972,eff2ecd7fff0..5dd79774f693
--- a/include/asm-x86/processor-flags.h
+++ b/include/asm-x86/processor-flags.h
@@@ -93,5 -94,6 +94,6 @@@
  #else
  #define X86_VM_MASK	0 /* No VM86 support */
  #endif
+ #endif
  
 -#endif	/* __ASM_I386_PROCESSOR_FLAGS_H */
 +#endif /* ASM_X86__PROCESSOR_FLAGS_H */

commit 1fe371044b21b226b96a9dd959e971b50b28c78e
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sat Jul 26 15:09:47 2008 +0200

    ftrace: fix modular build
    
    fix:
    
     ERROR: "start_critical_timings" [drivers/acpi/processor.ko] undefined!
     ERROR: "stop_critical_timings" [drivers/acpi/processor.ko] undefined!
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/kernel/trace/trace_irqsoff.c b/kernel/trace/trace_irqsoff.c
index b1e4a89b08eb..ece6cfb649fa 100644
--- a/kernel/trace/trace_irqsoff.c
+++ b/kernel/trace/trace_irqsoff.c
@@ -253,12 +253,14 @@ void start_critical_timings(void)
 	if (preempt_trace() || irq_trace())
 		start_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
 }
+EXPORT_SYMBOL_GPL(start_critical_timings);
 
 void stop_critical_timings(void)
 {
 	if (preempt_trace() || irq_trace())
 		stop_critical_timing(CALLER_ADDR0, CALLER_ADDR1);
 }
+EXPORT_SYMBOL_GPL(stop_critical_timings);
 
 #ifdef CONFIG_IRQSOFF_TRACER
 #ifdef CONFIG_PROVE_LOCKING

commit 071375bc76ee86e58592f4682030c81d410ddfd9
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sat Jul 26 14:52:26 2008 +0200

    x86, RDC321x: remove gpio.h complications
    
    Remove the include/asm-x86/gpio.h specials, just use the generic
    version.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/include/asm-x86/gpio.h b/include/asm-x86/gpio.h
index 116e9147fe66..c4c91b37c104 100644
--- a/include/asm-x86/gpio.h
+++ b/include/asm-x86/gpio.h
@@ -16,10 +16,6 @@
 #ifndef _ASM_I386_GPIO_H
 #define _ASM_I386_GPIO_H
 
-#ifdef CONFIG_X86_RDC321X
-#include <gpio.h>
-#else /* CONFIG_X86_RDC321X */
-
 #include <asm-generic/gpio.h>
 
 #ifdef CONFIG_GPIOLIB
@@ -57,6 +53,4 @@ static inline int irq_to_gpio(unsigned int irq)
 
 #endif /* CONFIG_GPIOLIB */
 
-#endif /* CONFIG_X86_RDC321X */
-
 #endif /* _ASM_I386_GPIO_H */

commit 1f972768a1df1518f45adb6b8ffbf04fa1c99737
Author: Ingo Molnar <mingo@elte.hu>
Date:   Sat Jul 26 13:52:50 2008 +0200

    x86, RDC321x: add to mach-default
    
    first step to add RDC321x support to the default PC architecture.
    
    Signed-off-by: Ingo Molnar <mingo@elte.hu>

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index e3cba0b45600..39ae67985950 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -23,7 +23,7 @@ config X86
 	select HAVE_OPROFILE
 	select HAVE_IOREMAP_PROT
 	select HAVE_KPROBES
-	select ARCH_WANT_OPTIONAL_GPIOLIB if !X86_RDC321X
+	select ARCH_WANT_OPTIONAL_GPIOLIB
 	select HAVE_KRETPROBES
 	select HAVE_DYNAMIC_FTRACE
 	select HAVE_FTRACE
@@ -332,20 +332,6 @@ config X86_BIGSMP
 
 endif
 
-config X86_RDC321X
-	bool "RDC R-321x SoC"
-	depends on X86_32
-	select M486
-	select X86_REBOOTFIXUPS
-	select GENERIC_GPIO
-	select LEDS_CLASS
-	select LEDS_GPIO
-	select NEW_LEDS
-	help
-	  This option is needed for RDC R-321x system-on-chip, also known
-	  as R-8610-(G).
-	  If you don't have one of these chips, you should say N here.
-
 config X86_VSMP
 	bool "Support for ScaleMP vSMP"
 	select PARAVIRT
@@ -369,6 +355,16 @@ config X86_VISWS
 	  A kernel compiled for the Visual Workstation will run on general
 	  PCs as well. See <file:Documentation/sgi-visws.txt> for details.
 
+config X86_RDC321X
+	bool "RDC R-321x SoC"
+	depends on X86_32
+	select M486
+	select X86_REBOOTFIXUPS
+	help
+	  This option is needed for RDC R-321x system-on-chip, also known
+	  as R-8610-(G).
+	  If you don't have one of these chips, you should say N here.
+
 config SCHED_NO_NO_OMIT_FRAME_POINTER
 	def_bool y
 	prompt "Single-depth WCHAN output"
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index 919ce21ea654..f5631da585b6 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -118,11 +118,6 @@ mflags-$(CONFIG_X86_GENERICARCH):= -Iinclude/asm-x86/mach-generic
 fcore-$(CONFIG_X86_GENERICARCH)	+= arch/x86/mach-generic/
 mcore-$(CONFIG_X86_GENERICARCH)	:= arch/x86/mach-default/
 
-# RDC R-321x subarch support
-mflags-$(CONFIG_X86_RDC321X)	:= -Iinclude/asm-x86/mach-rdc321x
-mcore-$(CONFIG_X86_RDC321X)	:= arch/x86/mach-default/
-core-$(CONFIG_X86_RDC321X)	+= arch/x86/mach-rdc321x/
-
 # default subarch .h files
 mflags-y += -Iinclude/asm-x86/mach-default