1. 28 10月, 2010 3 次提交
  2. 27 10月, 2010 7 次提交
  3. 26 10月, 2010 3 次提交
  4. 13 10月, 2010 3 次提交
  5. 12 10月, 2010 1 次提交
  6. 11 10月, 2010 2 次提交
  7. 07 10月, 2010 1 次提交
    • D
      Fix IRQ flag handling naming · df9ee292
      David Howells 提交于
      Fix the IRQ flag handling naming.  In linux/irqflags.h under one configuration,
      it maps:
      
      	local_irq_enable() -> raw_local_irq_enable()
      	local_irq_disable() -> raw_local_irq_disable()
      	local_irq_save() -> raw_local_irq_save()
      	...
      
      and under the other configuration, it maps:
      
      	raw_local_irq_enable() -> local_irq_enable()
      	raw_local_irq_disable() -> local_irq_disable()
      	raw_local_irq_save() -> local_irq_save()
      	...
      
      This is quite confusing.  There should be one set of names expected of the
      arch, and this should be wrapped to give another set of names that are expected
      by users of this facility.
      
      Change this to have the arch provide:
      
      	flags = arch_local_save_flags()
      	flags = arch_local_irq_save()
      	arch_local_irq_restore(flags)
      	arch_local_irq_disable()
      	arch_local_irq_enable()
      	arch_irqs_disabled_flags(flags)
      	arch_irqs_disabled()
      	arch_safe_halt()
      
      Then linux/irqflags.h wraps these to provide:
      
      	raw_local_save_flags(flags)
      	raw_local_irq_save(flags)
      	raw_local_irq_restore(flags)
      	raw_local_irq_disable()
      	raw_local_irq_enable()
      	raw_irqs_disabled_flags(flags)
      	raw_irqs_disabled()
      	raw_safe_halt()
      
      with type checking on the flags 'arguments', and then wraps those to provide:
      
      	local_save_flags(flags)
      	local_irq_save(flags)
      	local_irq_restore(flags)
      	local_irq_disable()
      	local_irq_enable()
      	irqs_disabled_flags(flags)
      	irqs_disabled()
      	safe_halt()
      
      with tracing included if enabled.
      
      The arch functions can now all be inline functions rather than some of them
      having to be macros.
      
      Signed-off-by: David Howells <dhowells@redhat.com> [X86, FRV, MN10300]
      Signed-off-by: Chris Metcalf <cmetcalf@tilera.com> [Tile]
      Signed-off-by: Michal Simek <monstr@monstr.eu> [Microblaze]
      Tested-by: Catalin Marinas <catalin.marinas@arm.com> [ARM]
      Acked-by: NThomas Gleixner <tglx@linutronix.de>
      Acked-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com> [AVR]
      Acked-by: Tony Luck <tony.luck@intel.com> [IA-64]
      Acked-by: Hirokazu Takata <takata@linux-m32r.org> [M32R]
      Acked-by: Greg Ungerer <gerg@uclinux.org> [M68K/M68KNOMMU]
      Acked-by: Ralf Baechle <ralf@linux-mips.org> [MIPS]
      Acked-by: Kyle McMartin <kyle@mcmartin.ca> [PA-RISC]
      Acked-by: Paul Mackerras <paulus@samba.org> [PowerPC]
      Acked-by: Martin Schwidefsky <schwidefsky@de.ibm.com> [S390]
      Acked-by: Chen Liqin <liqin.chen@sunplusct.com> [Score]
      Acked-by: Matt Fleming <matt@console-pimps.org> [SH]
      Acked-by: David S. Miller <davem@davemloft.net> [Sparc]
      Acked-by: Chris Zankel <chris@zankel.net> [Xtensa]
      Reviewed-by: Richard Henderson <rth@twiddle.net> [Alpha]
      Reviewed-by: Yoshinori Sato <ysato@users.sourceforge.jp> [H8300]
      Cc: starvik@axis.com [CRIS]
      Cc: jesper.nilsson@axis.com [CRIS]
      Cc: linux-cris-kernel@axis.com
      df9ee292
  8. 06 10月, 2010 3 次提交
    • N
      901c28c2
    • A
      sh: fix uninitialized spinlock · bde40898
      Akinobu Mita 提交于
      The spinlock in traps_64.c is used without initialization.
      This fixes it by declaring DEFINE_SPINLOCK() and makes the spinlock static
      variable.
      Signed-off-by: NAkinobu Mita <akinobu.mita@gmail.com>
      Cc: Paul Mundt <lethal@linux-sh.org>
      Cc: linux-sh@vger.kernel.org
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      bde40898
    • L
      modules: Fix module_bug_list list corruption race · 5336377d
      Linus Torvalds 提交于
      With all the recent module loading cleanups, we've minimized the code
      that sits under module_mutex, fixing various deadlocks and making it
      possible to do most of the module loading in parallel.
      
      However, that whole conversion totally missed the rather obscure code
      that adds a new module to the list for BUG() handling.  That code was
      doubly obscure because (a) the code itself lives in lib/bugs.c (for
      dubious reasons) and (b) it gets called from the architecture-specific
      "module_finalize()" rather than from generic code.
      
      Calling it from arch-specific code makes no sense what-so-ever to begin
      with, and is now actively wrong since that code isn't protected by the
      module loading lock any more.
      
      So this commit moves the "module_bug_{finalize,cleanup}()" calls away
      from the arch-specific code, and into the generic code - and in the
      process protects it with the module_mutex so that the list operations
      are now safe.
      
      Future fixups:
       - move the module list handling code into kernel/module.c where it
         belongs.
       - get rid of 'module_bug_list' and just use the regular list of modules
         (called 'modules' - imagine that) that we already create and maintain
         for other reasons.
      Reported-and-tested-by: NThomas Gleixner <tglx@linutronix.de>
      Cc: Rusty Russell <rusty@rustcorp.com.au>
      Cc: Adrian Bunk <bunk@kernel.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: stable@kernel.org
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      5336377d
  9. 05 10月, 2010 2 次提交
    • P
      sh: Wire up INTC subgroup splitting for SH7786 SCIF1. · d91ddc25
      Paul Mundt 提交于
      SH7786 is the big user for subgroup splitting, mostly for the PCIe block,
      but those will follow later. For now we simply split up SCIF1, as used by
      the serial console on SDK7786 and others.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      d91ddc25
    • P
      sh: intc: Support virtual mappings for IRQ subgroups. · c1e30ad9
      Paul Mundt 提交于
      Many interrupts that share a single mask source but are on different
      hardware vectors will have an associated register tied to an INTEVT that
      denotes the precise cause for the interrupt exception being triggered.
      
      This introduces the concept of IRQ subgroups in the intc core, where
      a virtual IRQ map is constructed for each of the pre-defined cause bits,
      and a higher level chained handler takes control of the parent INTEVT.
      This enables CPUs with heavily muxed IRQ vectors (especially across
      disjoint blocks) to break things out in to a series of managed chained
      handlers while being able to dynamically lookup and adopt the IRQs
      created for them.
      
      This is largely an opt-in interface, requiring CPUs to manually submit
      IRQs for subgroup splitting, in addition to providing identifiers in
      their enum maps that can be used for lazy lookup via the radix tree.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      c1e30ad9
  10. 04 10月, 2010 1 次提交
  11. 02 10月, 2010 4 次提交
  12. 01 10月, 2010 2 次提交
  13. 30 9月, 2010 2 次提交
    • M
      sh: boot kernel with SR.BL set · 68a1aed7
      Magnus Damm 提交于
      Update the SH kernel to keep SR.BL set until the VBR
      register has been initialized. Useful to allow boot
      of the kernel even though exceptions are pending.
      
      Without this patch there is a window of time when
      exceptions such as NMI are enabled but no exception
      handlers are installed.
      
      This patch modifies both the zImage loader and the
      actual kernel to boot with BL=1, but the zImage
      loader is modfied in such a way that the init_sr
      value is unchanged to not break the zImage loader
      provided by kexec.
      
      Tested on sh7724 Ecovec and on the SH4AL-DSP core
      included in sh7372.
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      68a1aed7
    • G
      sh: fix a kfree address in clkdev code · 4c62c595
      Guennadi Liakhovetski 提交于
      kfree() in clkdev_drop() function should actually be called with an address of
      a struct clk_lookup_alloc object, and not struct clk_lookup, as presently done.
      This just happens to work, because "struct clk_lookup cl" is the first
      member in struct clk_lookup_alloc.
      Signed-off-by: NGuennadi Liakhovetski <g.liakhovetski@gmx.de>
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      4c62c595
  14. 24 9月, 2010 1 次提交
    • P
      sh: provide generic arch_debugfs_dir. · 3f224f4e
      Paul Mundt 提交于
      While sh previously had its own debugfs root, there now exists a
      common arch_debugfs_dir prototype, so we switch everything over to
      that.  Presumably once more architectures start making use of this
      we'll be able to just kill off the stub kdebugfs wrapper.
      Signed-off-by: NPaul Mundt <lethal@linux-sh.org>
      3f224f4e
  15. 23 9月, 2010 1 次提交
  16. 19 9月, 2010 1 次提交
  17. 16 9月, 2010 1 次提交
  18. 15 9月, 2010 1 次提交
  19. 14 9月, 2010 1 次提交