1. 12 7月, 2011 5 次提交
    • E
      5d284e35
    • E
      ARM: pxa: add common header file for pxa3xx · 9c864410
      Eric Miao 提交于
      Signed-off-by: NEric Miao <eric.y.miao@gmail.com>
      9c864410
    • H
      ARM: pxa: add clk_set_rate() · 52585ccd
      Haojian Zhuang 提交于
      Since there're mulitple clock rates in some device controllers, enable
      clk_set_rate() for this usage.
      Signed-off-by: NHaojian Zhuang <haojian.zhuang@marvell.com>
      Signed-off-by: NEric Miao <eric.y.miao@gmail.com>
      52585ccd
    • E
      ARM: pxa: enable AUTO_ZRELADDR · 4e234cc0
      Eric Miao 提交于
      Signed-off-by: NEric Miao <eric.y.miao@gmail.com>
      4e234cc0
    • R
      ARM: introduce handle_IRQ() not to dump exception stack · a4841e39
      Russell King - ARM Linux 提交于
      On Mon, Jul 11, 2011 at 3:52 PM, Russell King - ARM Linux
      <linux@arm.linux.org.uk> wrote:
      
      ...
      
      > The __exception annotation on a function causes this to happen:
      >
      > [<c002406c>] (asm_do_IRQ+0x6c/0x8c) from [<c0024b84>]
      > (__irq_svc+0x44/0xcc)
      > Exception stack(0xc3897c78 to 0xc3897cc0)
      > 7c60:                                                       4022d320 4022e000
      > 7c80: 08000075 00001000 c32273c0 c03ce1c0 c2b49b78 4022d000 c2b420b4 00000001
      > 7ca0: 00000000 c3897cfc 00000000 c3897cc0 c00afc54 c002edd8 00000013 ffffffff
      >
      > Where that stack dump represents the pt_regs for the exception which
      > happened.  Any function found in while unwinding will cause this to
      > be printed.
      >
      > If you insert a C function between the IRQ assembly and asm_do_IRQ,
      > the
      > dump you get from asm_do_IRQ will be the stack for your function,
      > not
      > the pt_regs.  That makes the feature useless.
      >
      
      When __irq_svc - or any of the other exception handling assembly code -
      calls the C code, the stack pointer will be pointing at the pt_regs
      structure.
      
      All the entry points into C code from the exception handling code are
      marked with __exception or __exception_irq_enter to indicate that they
      are one of the functions which has pt_regs above them.
      
      Normally, when you've entered asm_do_IRQ() you will have this stack
      layout (higher address towards top):
      
             pt_regs
             asm_do_IRQ frame
      
      If you insert a C function between the exception assembly code and
      asm_do_IRQ, you end up with this stack layout instead:
      
             pt_regs
             your function frame
             asm_do_IRQ frame
      
      This means when we unwind, we'll get to asm_do_IRQ, and rather than
      dumping out the pt_regs, we'll dump out your functions stack frame
      instead, because that's what is above the asm_do_IRQ stack frame
      rather than the expected pt_regs structure.
      
      The fix is to introduce handle_IRQ() for no exception stack dump, so
      it can be called with MULTI_IRQ_HANDLER is selected and a C function
      is between the assembly code and the actual IRQ handling code.
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: NEric Miao <eric.y.miao@gmail.com>
      a4841e39
  2. 05 7月, 2011 1 次提交
  3. 30 6月, 2011 5 次提交
  4. 29 6月, 2011 6 次提交
  5. 28 6月, 2011 3 次提交
    • J
      watchdog: Intel SCU Watchdog: Fix build and remove duplicate code · e376fd66
      Jesper Juhl 提交于
      Trying to build the Intel SCU Watchdog fails for me with gcc 4.6.0 -
      $ gcc --version | head -n 1
      gcc (GCC) 4.6.0 20110513 (prerelease)
      
      like this :
        CC      drivers/watchdog/intel_scu_watchdog.o
      In file included from drivers/watchdog/intel_scu_watchdog.c:49:0:
      /home/jj/src/linux-2.6/arch/x86/include/asm/apb_timer.h: In function ‘apbt_time_init’:
      /home/jj/src/linux-2.6/arch/x86/include/asm/apb_timer.h:65:42: warning: ‘return’ with a value, in function returning void [enabled by default]
      drivers/watchdog/intel_scu_watchdog.c: In function ‘intel_scu_watchdog_init’:
      drivers/watchdog/intel_scu_watchdog.c:468:2: error: implicit declaration of function ‘sfi_get_mtmr’ [-Werror=implicit-function-declaration]
      drivers/watchdog/intel_scu_watchdog.c:468:32: warning: assignment makes pointer from integer without a cast [enabled by default]
      cc1: some warnings being treated as errors
      
      make[1]: *** [drivers/watchdog/intel_scu_watchdog.o] Error 1
      make: *** [drivers/watchdog/intel_scu_watchdog.o] Error 2
      
      Additionally, linux/types.h is needlessly being included twice in 
      drivers/watchdog/intel_scu_watchdog.c
      Signed-off-by: NJesper Juhl <jj@chaosbits.net>
      Signed-off-by: NWim Van Sebroeck <wim@iguana.be>
      e376fd66
    • R
      um: add asm/percpu.h · 8c95aa60
      Richard Weinberger 提交于
      To make SLUB work on UML we need this_cpu_cmpxchg from
      asm-generic/percpu.h.
      Signed-off-by: NRichard Weinberger <richard@nod.at>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8c95aa60
    • K
      Fix node_start/end_pfn() definition for mm/page_cgroup.c · c6830c22
      KAMEZAWA Hiroyuki 提交于
      commit 21a3c964 uses node_start/end_pfn(nid) for detection start/end
      of nodes. But, it's not defined in linux/mmzone.h but defined in
      /arch/???/include/mmzone.h which is included only under
      CONFIG_NEED_MULTIPLE_NODES=y.
      
      Then, we see
        mm/page_cgroup.c: In function 'page_cgroup_init':
        mm/page_cgroup.c:308: error: implicit declaration of function 'node_start_pfn'
        mm/page_cgroup.c:309: error: implicit declaration of function 'node_end_pfn'
      
      So, fixiing page_cgroup.c is an idea...
      
      But node_start_pfn()/node_end_pfn() is a very generic macro and
      should be implemented in the same manner for all archs.
      (m32r has different implementation...)
      
      This patch removes definitions of node_start/end_pfn() in each archs
      and defines a unified one in linux/mmzone.h. It's not under
      CONFIG_NEED_MULTIPLE_NODES, now.
      
      A result of macro expansion is here (mm/page_cgroup.c)
      
      for !NUMA
       start_pfn = ((&contig_page_data)->node_start_pfn);
        end_pfn = ({ pg_data_t *__pgdat = (&contig_page_data); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});
      
      for NUMA (x86-64)
        start_pfn = ((node_data[nid])->node_start_pfn);
        end_pfn = ({ pg_data_t *__pgdat = (node_data[nid]); __pgdat->node_start_pfn + __pgdat->node_spanned_pages;});
      
      Changelog:
       - fixed to avoid using "nid" twice in node_end_pfn() macro.
      Reported-and-acked-by: NRandy Dunlap <randy.dunlap@oracle.com>
      Reported-and-tested-by: NIngo Molnar <mingo@elte.hu>
      Acked-by: NMel Gorman <mgorman@suse.de>
      Signed-off-by: NKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      c6830c22
  6. 25 6月, 2011 3 次提交
  7. 24 6月, 2011 3 次提交
  8. 22 6月, 2011 7 次提交
  9. 21 6月, 2011 7 次提交