1. 07 Oct, 2010 10 commits
    • 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
      MIPS: Add missing #inclusions of <linux/irq.h> · ca4d3e67
      David Howells authored
      Add missing #inclusions of <linux/irq.h> to a whole bunch of files that should
      really include it.  Note that this can replace #inclusions of <asm/irq.h>.
      
      This is required for the patch to sort out irqflags handling function naming to
      compile on MIPS.
      
      The problem is that these files require access to things like setup_irq() -
      which isn't available by #including <linux/interrupt.h>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarRalf Baechle <ralf@linux-mips.org>
      ca4d3e67
    • David Howells's avatar
      smc91x: Add missing #inclusion of <linux/irq.h> · 476c32c4
      David Howells authored
      Add missing #inclusion of <linux/irq.h>.  Without it, the following error can
      occur with the irqflags fixup patches applied:
      
      drivers/net/smc91x.c: In function 'smc_probe':
      drivers/net/smc91x.c:1987:2: error: implicit declaration of function 'irq_canonicalize'
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarNicolas Pitre <nico@fluxnic.net>
      476c32c4
    • David Howells's avatar
      Drop a couple of unnecessary asm/system.h inclusions · bcdb714c
      David Howells authored
      Drop inclusions of asm/system.h from linux/hardirq.h and linux/list.h as
      they're no longer required and prevent the M68K arch's IRQ flag handling macros
      from being made into inlined functions due to circular dependencies.
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Acked-by: default avatarGreg Ungerer <gerg@uclinux.org>
      Acked-by: default avatarGeert Uytterhoeven <geert@linux-m68k.org>
      bcdb714c
    • David Howells's avatar
      SH: Add missing consts to sys_execve() declaration · d8b5fc01
      David Howells authored
      Add missing consts to the sys_execve() declaration which result in the
      following error:
      
      arch/sh/kernel/process_32.c:303: error: conflicting types for 'sys_execve'
      /warthog/nfs/linux-2.6-fscache/arch/sh/include/asm/syscalls_32.h:24: error: previous declaration of 'sys_execve' was here
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      d8b5fc01
    • 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: Rename DES PC2() symbol to avoid collision · db36b906
      David Howells authored
      Rename the PC2() symbol in the generic DES crypto module to be prefixed with
      DES_ to avoid collision with arch code (Blackfin in this case).
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
      db36b906
    • 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
  2. 06 Oct, 2010 6 commits
  3. 05 Oct, 2010 6 commits
  4. 04 Oct, 2010 18 commits