Skip to content
  1. Oct 22, 2010
  2. Oct 18, 2010
  3. Oct 07, 2010
    • David Howells's avatar
      Fix IRQ flag handling naming · df9ee292
      David Howells authored
      
      
      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: default avatarThomas 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
    • David Howells's avatar
      Blackfin: Rename IRQ flags handling functions · 3b139cdb
      David Howells authored
      
      
      Rename h/w IRQ flags handling functions to be in line with what is expected for
      the irq renaming patch.  This renames local_*_hw() to hard_local_*() using the
      following perl command:
      
      	perl -pi -e 's/local_irq_(restore|enable|disable)_hw/hard_local_irq_\1/ or s/local_irq_save_hw([_a-z]*)[(]flags[)]/flags = hard_local_irq_save\1()/' `find arch/blackfin/ -name "*.[ch]"`
      
      and then fixing up asm/irqflags.h manually.
      
      Additionally, arch/hard_local_save_flags() and arch/hard_local_irq_save() both
      return the flags rather than passing it through the argument list.
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      3b139cdb
    • David Howells's avatar
      Blackfin: Add missing dep to asm/irqflags.h · 5c74874b
      David Howells authored
      
      
      Add a missing dependency (mach/blackfin.h) to asm/irqflags.h so that
      bfin_read_IMASK() can be used by inline functions.
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      5c74874b
    • David Howells's avatar
      Blackfin: Split the BF532 BFIN_*_FIO_FLAG() functions to their own header · f3441945
      David Howells authored
      
      
      Split the BF532 machine type BFIN_*_FIO_FLAG() functions to their own header
      file to avoid circular #include problems as these functions require IRQ flag
      handling, which requires asm/blackfin.h, which otherwise requires the header
      file that defines these functions.
      
      For good measure, also get rid of the inclusion of asm/blackfin.h from
      mach/cdefBF532.h (which is circular) and defBF532.h (which is included by
      asm/blackfin.h before including this header).
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      f3441945
    • David Howells's avatar
      Blackfin: Split PLL code from mach-specific cdef headers · 3dcc1e7f
      David Howells authored
      
      
      Split the PLL control code from the Blackfin machine-specific cdef headers so
      that the irqflags functions can be renamed without incurring a header loop.
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      3dcc1e7f
  4. Aug 27, 2010
  5. Aug 23, 2010
  6. Aug 18, 2010
    • David Howells's avatar
      Make do_execve() take a const filename pointer · d7627467
      David Howells authored
      
      
      Make do_execve() take a const filename pointer so that kernel_execve() compiles
      correctly on ARM:
      
      arch/arm/kernel/sys_arm.c:88: warning: passing argument 1 of 'do_execve' discards qualifiers from pointer target type
      
      This also requires the argv and envp arguments to be consted twice, once for
      the pointer array and once for the strings the array points to.  This is
      because do_execve() passes a pointer to the filename (now const) to
      copy_strings_kernel().  A simpler alternative would be to cast the filename
      pointer in do_execve() when it's passed to copy_strings_kernel().
      
      do_execve() may not change any of the strings it is passed as part of the argv
      or envp lists as they are some of them in .rodata, so marking these strings as
      const should be fine.
      
      Further kernel_execve() and sys_execve() need to be changed to match.
      
      This has been test built on x86_64, frv, arm and mips.
      
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Tested-by: default avatarRalf Baechle <ralf@linux-mips.org>
      Acked-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d7627467
  7. Aug 14, 2010
  8. Aug 13, 2010
  9. Aug 12, 2010
  10. Aug 11, 2010
  11. Aug 07, 2010
  12. Aug 06, 2010
Loading