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

Commit 9b2616c2 authored by Russell King's avatar Russell King Committed by Russell King
Browse files

Merge branch 'for-rmk-2.6.32' of git://git.pengutronix.de/git/ukl/linux-2.6 into devel-stable

parents 590a94d9 ac25150f
Loading
Loading
Loading
Loading
+2 −113
Original line number Diff line number Diff line
@@ -965,18 +965,7 @@ config LOCAL_TIMERS
	  accounting to be spread across the timer interval, preventing a
	  "thundering herd" at every timer tick.

config PREEMPT
	bool "Preemptible Kernel (EXPERIMENTAL)"
	depends on EXPERIMENTAL
	help
	  This option reduces the latency of the kernel when reacting to
	  real-time or interactive events by allowing a low priority process to
	  be preempted even if it is in kernel mode executing a system call.
	  This allows applications to run more reliably even when the system is
	  under load.

	  Say Y here if you are building a kernel for a desktop, embedded
	  or real-time system.  Say N if you are unsure.
source kernel/Kconfig.preempt

config HZ
	int
@@ -1395,107 +1384,7 @@ endmenu

source "net/Kconfig"

menu "Device Drivers"

source "drivers/base/Kconfig"

source "drivers/connector/Kconfig"

if ALIGNMENT_TRAP || !CPU_CP15_MMU
source "drivers/mtd/Kconfig"
endif

source "drivers/parport/Kconfig"

source "drivers/pnp/Kconfig"

source "drivers/block/Kconfig"

# misc before ide - BLK_DEV_SGIIOC4 depends on SGI_IOC4

source "drivers/misc/Kconfig"

source "drivers/ide/Kconfig"

source "drivers/scsi/Kconfig"

source "drivers/ata/Kconfig"

source "drivers/md/Kconfig"

source "drivers/message/fusion/Kconfig"

source "drivers/ieee1394/Kconfig"

source "drivers/message/i2o/Kconfig"

source "drivers/net/Kconfig"

source "drivers/isdn/Kconfig"

# input before char - char/joystick depends on it. As does USB.

source "drivers/input/Kconfig"

source "drivers/char/Kconfig"

source "drivers/i2c/Kconfig"

source "drivers/spi/Kconfig"

source "drivers/gpio/Kconfig"

source "drivers/w1/Kconfig"

source "drivers/power/Kconfig"

source "drivers/hwmon/Kconfig"

source "drivers/thermal/Kconfig"

source "drivers/watchdog/Kconfig"

source "drivers/ssb/Kconfig"

#source "drivers/l3/Kconfig"

source "drivers/mfd/Kconfig"

source "drivers/media/Kconfig"

source "drivers/video/Kconfig"

source "sound/Kconfig"

source "drivers/hid/Kconfig"

source "drivers/usb/Kconfig"

source "drivers/uwb/Kconfig"

source "drivers/mmc/Kconfig"

source "drivers/memstick/Kconfig"

source "drivers/accessibility/Kconfig"

source "drivers/leds/Kconfig"

source "drivers/rtc/Kconfig"

source "drivers/dma/Kconfig"

source "drivers/dca/Kconfig"

source "drivers/auxdisplay/Kconfig"

source "drivers/regulator/Kconfig"

source "drivers/uio/Kconfig"

source "drivers/staging/Kconfig"

endmenu
source "drivers/Kconfig"

source "fs/Kconfig"

+44 −5
Original line number Diff line number Diff line
@@ -74,23 +74,56 @@
 * Enable and disable interrupts
 */
#if __LINUX_ARM_ARCH__ >= 6
	.macro	disable_irq
	.macro	disable_irq_notrace
	cpsid	i
	.endm

	.macro	enable_irq
	.macro	enable_irq_notrace
	cpsie	i
	.endm
#else
	.macro	disable_irq
	.macro	disable_irq_notrace
	msr	cpsr_c, #PSR_I_BIT | SVC_MODE
	.endm

	.macro	enable_irq
	.macro	enable_irq_notrace
	msr	cpsr_c, #SVC_MODE
	.endm
#endif

	.macro asm_trace_hardirqs_off
#if defined(CONFIG_TRACE_IRQFLAGS)
	stmdb   sp!, {r0-r3, ip, lr}
	bl	trace_hardirqs_off
	ldmia	sp!, {r0-r3, ip, lr}
#endif
	.endm

	.macro asm_trace_hardirqs_on_cond, cond
#if defined(CONFIG_TRACE_IRQFLAGS)
	/*
	 * actually the registers should be pushed and pop'd conditionally, but
	 * after bl the flags are certainly clobbered
	 */
	stmdb   sp!, {r0-r3, ip, lr}
	bl\cond	trace_hardirqs_on
	ldmia	sp!, {r0-r3, ip, lr}
#endif
	.endm

	.macro asm_trace_hardirqs_on
	asm_trace_hardirqs_on_cond al
	.endm

	.macro disable_irq
	disable_irq_notrace
	asm_trace_hardirqs_off
	.endm

	.macro enable_irq
	asm_trace_hardirqs_on
	enable_irq_notrace
	.endm
/*
 * Save the current IRQ state and disable IRQs.  Note that this macro
 * assumes FIQs are enabled, and that the processor is in SVC mode.
@@ -104,10 +137,16 @@
 * Restore interrupt state previously stored in a register.  We don't
 * guarantee that this will preserve the flags.
 */
	.macro	restore_irqs, oldcpsr
	.macro	restore_irqs_notrace, oldcpsr
	msr	cpsr_c, \oldcpsr
	.endm

	.macro restore_irqs, oldcpsr
	tst	\oldcpsr, #PSR_I_BIT
	asm_trace_hardirqs_on_cond eq
	restore_irqs_notrace \oldcpsr
	.endm

#define USER(x...)				\
9999:	x;					\
	.section __ex_table,"a";		\
+1 −0
Original line number Diff line number Diff line
@@ -7,6 +7,7 @@

#ifndef __ASSEMBLY__
extern void mcount(void);
extern void __gnu_mcount_nc(void);
#endif

#endif
+1 −0
Original line number Diff line number Diff line
@@ -186,4 +186,5 @@ EXPORT_SYMBOL(_find_next_bit_be);

#ifdef CONFIG_FUNCTION_TRACER
EXPORT_SYMBOL(mcount);
EXPORT_SYMBOL(__gnu_mcount_nc);
#endif
+4 −6
Original line number Diff line number Diff line
@@ -161,6 +161,8 @@ ENDPROC(__und_invalid)
	@  r4 - orig_r0 (see pt_regs definition in ptrace.h)
	@
	stmia	r5, {r0 - r4}

	asm_trace_hardirqs_off
	.endm

	.align	5
@@ -215,9 +217,6 @@ ENDPROC(__dabt_svc)
__irq_svc:
	svc_entry

#ifdef CONFIG_TRACE_IRQFLAGS
	bl	trace_hardirqs_off
#endif
#ifdef CONFIG_PREEMPT
	get_thread_info tsk
	ldr	r8, [tsk, #TI_PREEMPT]		@ get preempt count
@@ -391,6 +390,8 @@ ENDPROC(__pabt_svc)
	@ Clear FP to mark the first stack frame
	@
	zero_fp

	asm_trace_hardirqs_off
	.endm

	.macro	kuser_cmpxchg_check
@@ -445,9 +446,6 @@ __irq_usr:
	usr_entry
	kuser_cmpxchg_check

#ifdef CONFIG_TRACE_IRQFLAGS
	bl	trace_hardirqs_off
#endif
	get_thread_info tsk
#ifdef CONFIG_PREEMPT
	ldr	r8, [tsk, #TI_PREEMPT]		@ get preempt count
Loading