1. 04 11月, 2010 1 次提交
    • C
      ARM: 6384/1: Remove the domain switching on ARMv6k/v7 CPUs · 247055aa
      Catalin Marinas 提交于
      This patch removes the domain switching functionality via the set_fs and
      __switch_to functions on cores that have a TLS register.
      
      Currently, the ioremap and vmalloc areas share the same level 1 page
      tables and therefore have the same domain (DOMAIN_KERNEL). When the
      kernel domain is modified from Client to Manager (via the __set_fs or in
      the __switch_to function), the XN (eXecute Never) bit is overridden and
      newer CPUs can speculatively prefetch the ioremap'ed memory.
      
      Linux performs the kernel domain switching to allow user-specific
      functions (copy_to/from_user, get/put_user etc.) to access kernel
      memory. In order for these functions to work with the kernel domain set
      to Client, the patch modifies the LDRT/STRT and related instructions to
      the LDR/STR ones.
      
      The user pages access rights are also modified for kernel read-only
      access rather than read/write so that the copy-on-write mechanism still
      works. CPU_USE_DOMAINS gets disabled only if the hardware has a TLS register
      (CPU_32v6K is defined) since writing the TLS value to the high vectors page
      isn't possible.
      
      The user addresses passed to the kernel are checked by the access_ok()
      function so that they do not point to the kernel space.
      Tested-by: NAnton Vorontsov <cbouatmailru@gmail.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Signed-off-by: NCatalin Marinas <catalin.marinas@arm.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      247055aa
  2. 01 11月, 2010 1 次提交
  3. 30 10月, 2010 8 次提交
    • V
      ARM: h1940: add UDA1380 to i2c devices list · 68730b45
      Vasily Khoruzhick 提交于
      Register UDA1380 codec during H1940 machine init
      Signed-off-by: NVasily Khoruzhick <anarsoul@gmail.com>
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      68730b45
    • V
      ARM: h1940: Fix backlight and LCD power functions · 53193dd3
      Vasily Khoruzhick 提交于
      Current implementation of LCD and backlight power control functions
      is not complete, as result PDA consumes power in suspend.
      Fix this issue by managing state of some latch bits, just like
      WinMobile does.
      Signed-off-by: NVasily Khoruzhick <anarsoul@gmail.com>
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      53193dd3
    • A
      ARM: S3C2440: fix boot failure introduced by recent changes in gpiolib · bdf5005b
      Abdoulaye Walsimou Gaye 提交于
      Recent changes in s3c gpio break mini2440 board and may be others.
      The problem is that mach-mini2440.c: mini2440_init()
      (where we call s3c_gpio_setpull()) is called before s3c2440.c: s3c2440_init()
      (where we initialize s3c24xx_gpiocfg_default.set_pull function pointer).
      This causes dereferencing of NULL pointer at boot time and a kernel panic.
      Signed-off-by: NAbdoulaye Walsimou Gaye <awg@embtoolkit.org>
      
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-samsung-soc@vger.kernel.org
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      bdf5005b
    • A
      ARM: S3C2440: various fixes in Kconfig file · e33ffd4d
      Abdoulaye Walsimou Gaye 提交于
      * kconfig symbols defined in arch/arm/mach-s3c2440/Kconfig are only available
        when ARCH_S3C2410 is selected, so no need to make some of them depend
        on ARCH_S3C2410.
      * fix CPU_S3C24405B typo in "config S3C2440_DMA".
      * mini2440: remove unconditionally select of SND_S3C24XX_SOC_S3C24XX_UDA134X.
      Those fixes avoid the following warnings at make time:
      
      scripts/kconfig/qconf arch/arm/Kconfig
      warning: (MACH_MINI2440 && ARCH_S3C2410) selects SND_S3C24XX_SOC_S3C24XX_UDA134X
      which has unmet direct dependencies (SND_S3C24XX_SOC && ARCH_S3C2410)
      warning: (CPU_S3C2440 && ARCH_S3C2410 && S3C2410_DMA) selects S3C2440_DMA which
      has unmet direct dependencies (ARCH_S3C2410 && CPU_S3C24405B)
      warning: (CPU_S3C2440 && ARCH_S3C2410 || CPU_S3C2442 && ARCH_S3C2410)
      selects CPU_S3C244X which has unmet direct dependencies (!ARCH_S3C2410)
      Signed-off-by: NAbdoulaye Walsimou Gaye <awg@embtoolkit.org>
      
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-samsung-soc@vger.kernel.org
      Signed-off-by: NBen Dooks <ben-linux@fluff.org>
      e33ffd4d
    • D
      msm: Kconfig: drop unused config options · 4ee7a6c2
      Daniel Walker 提交于
      These two config options don't exist, and aren't ever going to.
      So I simply delete them.
      Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
      4ee7a6c2
    • D
      msm: fix compile failure when no debug uart is selected · 06125ff0
      Daniel Walker 提交于
      If the board has a debug uart the user is given a choice of which
      uart to use. The user can also select NONE, which means not to use one.
      In most of our header files when NONE is selected nothing is defined
      for MSM_DEBUG_UART_PHYS or MSM_DEBUG_UART_BASE. This causes a compile
      failure in debug-macro.S which expect something to be defined there.
      
      Example of the failure,
      
      arch/arm/kernel/built-in.o: In function `hexbuf':
      linux-2.6/arch/arm/kernel/debug.S:186: undefined reference to `MSM_DEBUG_UART_PHYS'
      linux-2.6/arch/arm/kernel/debug.S:186: undefined reference to `MSM_DEBUG_UART_BASE'
      
      This fixes the compile failure by adding an ifdef to debug-macro.S
      that removes all the debug uart code in the case of NONE.
      Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
      06125ff0
    • D
      msm: fix debug-macro.S build failure · bcd72c3e
      Daniel Walker 提交于
      Originally there was an ifdef case to handle when no debug uart
      was selected. In commit 0ea12930
      that case was removed which causes the following build failure,
      
      linux-2.6/arch/arm/kernel/debug.S: Assembler messages:
      linux-2.6/arch/arm/kernel/debug.S:174: Error: bad instruction `addruart r1,r2'
      linux-2.6/arch/arm/kernel/debug.S:176: Error: bad instruction `waituart r2,r3'
      linux-2.6/arch/arm/kernel/debug.S:177: Error: bad instruction `senduart r1,r3'
      linux-2.6/arch/arm/kernel/debug.S:178: Error: bad instruction `busyuart r2,r3'
      linux-2.6/arch/arm/kernel/debug.S:190: Error: bad instruction `addruart r1,r2'
      
      This is a partial revert to add back the case which was removed with
      two caveats. First the API for the addruart macro was updated, and
      the new addruart case now return 0xfff00000 so that a know IO mapping
      is created instead of a random one.
      
      Cc: Jeremy Kerr <jeremy.kerr@canonical.com>
      Cc: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
      Cc: Jason Wang <jason77.wang@gmail.com>
      Cc: Tony Lindgren <tony@atomide.com>
      Cc: Nicolas Pitre <nico@fluxnic.net>
      Cc: Russell King - ARM Linux <linux@arm.linux.org.uk>
      Signed-off-by: NDaniel Walker <dwalker@codeaurora.org>
      bcd72c3e
    • R
      kgdb,arm: fix register dump · 834b2964
      Rabin Vincent 提交于
      DBG_MAX_REG_NUM incorrectly had the number of indices in the GDB regs
      array rather than the number of registers, leading to an oops when the
      "rd" command is used in KDB.
      
      Cc: stable@kernel.org
      Signed-off-by: NRabin Vincent <rabin@rab.in>
      Signed-off-by: NJason Wessel <jason.wessel@windriver.com>
      834b2964
  4. 29 10月, 2010 4 次提交
  5. 28 10月, 2010 23 次提交
  6. 27 10月, 2010 3 次提交
    • H
      replace nested max/min macros with {max,min}3 macro · 732eacc0
      Hagen Paul Pfeifer 提交于
      Use the new {max,min}3 macros to save some cycles and bytes on the stack.
      This patch substitutes trivial nested macros with their counterpart.
      Signed-off-by: NHagen Paul Pfeifer <hagen@jauu.net>
      Cc: Joe Perches <joe@perches.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Hartley Sweeten <hsweeten@visionengravers.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Herbert Xu <herbert@gondor.apana.org.au>
      Cc: Roland Dreier <rolandd@cisco.com>
      Cc: Sean Hefty <sean.hefty@intel.com>
      Cc: Pekka Enberg <penberg@cs.helsinki.fi>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      732eacc0
    • P
      mm: remove pte_*map_nested() · ece0e2b6
      Peter Zijlstra 提交于
      Since we no longer need to provide KM_type, the whole pte_*map_nested()
      API is now redundant, remove it.
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NChris Metcalf <cmetcalf@tilera.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: David Miller <davem@davemloft.net>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      ece0e2b6
    • P
      mm: stack based kmap_atomic() · 3e4d3af5
      Peter Zijlstra 提交于
      Keep the current interface but ignore the KM_type and use a stack based
      approach.
      
      The advantage is that we get rid of crappy code like:
      
      	#define __KM_PTE			\
      		(in_nmi() ? KM_NMI_PTE : 	\
      		 in_irq() ? KM_IRQ_PTE :	\
      		 KM_PTE0)
      
      and in general can stop worrying about what context we're in and what kmap
      slots might be appropriate for that.
      
      The downside is that FRV kmap_atomic() gets more expensive.
      
      For now we use a CPP trick suggested by Andrew:
      
        #define kmap_atomic(page, args...) __kmap_atomic(page)
      
      to avoid having to touch all kmap_atomic() users in a single patch.
      
      [ not compiled on:
        - mn10300: the arch doesn't actually build with highmem to begin with ]
      
      [akpm@linux-foundation.org: coding-style fixes]
      [akpm@linux-foundation.org: fix up drivers/gpu/drm/i915/intel_overlay.c]
      Acked-by: NRik van Riel <riel@redhat.com>
      Signed-off-by: NPeter Zijlstra <a.p.zijlstra@chello.nl>
      Acked-by: NChris Metcalf <cmetcalf@tilera.com>
      Cc: David Howells <dhowells@redhat.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Russell King <rmk@arm.linux.org.uk>
      Cc: Ralf Baechle <ralf@linux-mips.org>
      Cc: David Miller <davem@davemloft.net>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Cc: Dave Airlie <airlied@linux.ie>
      Cc: Li Zefan <lizf@cn.fujitsu.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      3e4d3af5