Permalink
Commits on Feb 4, 2008
  1. Merge branch 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm

    * 'for-linus' of master.kernel.org:/home/rmk/linux-2.6-arm: (44 commits)
      [ARM] 4822/1: RealView: Change the REALVIEW_MPCORE configuration option
      [ARM] 4821/1: RealView: Remove the platform dependencies from localtimer.c
      [ARM] 4820/1: RealView: Select the timer IRQ at run-time
      [ARM] 4819/1: RealView: Fix entry-macro.S to work with multiple platforms
      [ARM] 4818/1: RealView: Add core-tile detection
      [ARM] 4817/1: RealView: Move the AMBA resource definitions to realview_eb.c
      [ARM] 4816/1: RealView: Move the platform-specific definitions into board-eb.h
      [ARM] 4815/1: RealView: Add clockevents suport for the local timers
      [ARM] 4814/1: RealView: Add broadcasting clockevents support for ARM11MPCore
      [ARM] 4813/1: Add SMP helper functions for clockevents support
      [ARM] 4812/1: RealView: clockevents support for the RealView platforms
      [ARM] 4811/1: RealView: clocksource support for the RealView platforms
      [ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags
      [ARM] 4798/1: pcm027: fix missing header file
      [ARM] 4803/1: pxa: fix building issue of poodle.c caused by patch 4737/1
      [ARM] 4801/1: pxa: fix building issues of missing pxa2xx-regs.h
      [ARM] pxa: introduce sysdev for pxa3xx static memory controller
      [ARM] pxa: add preliminary suspend/resume code for pxa3xx
      [ARM] pxa: introduce sysdev for GPIO register saving/restoring
      [ARM] pxa: introduce sysdev for IRQ register saving/restoring
      ...
    torvalds committed Feb 4, 2008
  2. Merge branch 'slub-linus' of git://git.kernel.org/pub/scm/linux/kerne…

    …l/git/christoph/vm
    
    * 'slub-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/christoph/vm:
      Explain kmem_cache_cpu fields
      SLUB: Do not upset lockdep
      SLUB: Fix coding style violations
      Add parameter to add_partial to avoid having two functions
      SLUB: rename defrag to remote_node_defrag_ratio
      Move count_partial before kmem_cache_shrink
      SLUB: Fix sysfs refcounting
      slub: fix shadowed variable sparse warnings
    torvalds committed Feb 4, 2008
  3. Explain kmem_cache_cpu fields

    Add some comments explaining the fields of the kmem_cache_cpu structure.
    
    Signed-off-by: Christoph Lameter <clameter@sgi.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Christoph Lameter committed Jan 8, 2008
  4. SLUB: Do not upset lockdep

    inconsistent {softirq-on-W} -> {in-softirq-W} usage.
    swapper/0 [HC0[0]:SC1[1]:HE0:SE0] takes:
     (&n->list_lock){-+..}, at: [<ffffffff802935c1>] add_partial+0x31/0xa0
    {softirq-on-W} state was registered at:
      [<ffffffff80259fb8>] __lock_acquire+0x3e8/0x1140
      [<ffffffff80259838>] debug_check_no_locks_freed+0x188/0x1a0
      [<ffffffff8025ad65>] lock_acquire+0x55/0x70
      [<ffffffff802935c1>] add_partial+0x31/0xa0
      [<ffffffff805c76de>] _spin_lock+0x1e/0x30
      [<ffffffff802935c1>] add_partial+0x31/0xa0
      [<ffffffff80296f9c>] kmem_cache_open+0x1cc/0x330
      [<ffffffff805c7984>] _spin_unlock_irq+0x24/0x30
      [<ffffffff802974f4>] create_kmalloc_cache+0x64/0xf0
      [<ffffffff80295640>] init_alloc_cpu_cpu+0x70/0x90
      [<ffffffff8080ada5>] kmem_cache_init+0x65/0x1d0
      [<ffffffff807f1b4e>] start_kernel+0x23e/0x350
      [<ffffffff807f112d>] _sinittext+0x12d/0x140
      [<ffffffffffffffff>] 0xffffffffffffffff
    
    This change isn't really necessary for correctness, but it prevents lockdep
    from getting upset and then disabling itself.
    
    Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Christoph Lameter <clameter@sgi.com>
    Cc: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Christoph Lameter <clameter@sgi.com>
    root committed with Christoph Lameter Jan 8, 2008
  5. SLUB: Fix coding style violations

    This fixes most of the obvious coding style violations in mm/slub.c as
    reported by checkpatch.
    
    Acked-by: Christoph Lameter <clameter@sgi.com>
    Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Christoph Lameter <clameter@sgi.com>
    Pekka Enberg committed with Christoph Lameter Jan 8, 2008
  6. Add parameter to add_partial to avoid having two functions

    Add a parameter to add_partial instead of having separate functions.  The
    parameter allows a more detailed control of where the slab pages is placed in
    the partial queues.
    
    If we put slabs back to the front then they are likely immediately used for
    allocations.  If they are put at the end then we can maximize the time that
    the partial slabs spent without being subject to allocations.
    
    When deactivating slab we can put the slabs that had remote objects freed (we
    can see that because objects were put on the freelist that requires locks) to
    them at the end of the list so that the cachelines of remote processors can
    cool down.  Slabs that had objects from the local cpu freed to them (objects
    exist in the lockless freelist) are put in the front of the list to be reused
    ASAP in order to exploit the cache hot state of the local cpu.
    
    Patch seems to slightly improve tbench speed (1-2%).
    
    Signed-off-by: Christoph Lameter <clameter@sgi.com>
    Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Christoph Lameter committed Jan 8, 2008
  7. SLUB: rename defrag to remote_node_defrag_ratio

    The NUMA defrag works by allocating objects from partial slabs on remote
    nodes.  Rename it to
    
    	remote_node_defrag_ratio
    
    to be clear about this.
    
    Signed-off-by: Christoph Lameter <clameter@sgi.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Christoph Lameter committed Jan 8, 2008
  8. Move count_partial before kmem_cache_shrink

    Move the counting function for objects in partial slabs so that it is placed
    before kmem_cache_shrink.
    
    Signed-off-by: Christoph Lameter <clameter@sgi.com>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Christoph Lameter committed Jan 8, 2008
  9. SLUB: Fix sysfs refcounting

    If CONFIG_SYSFS is set then free the kmem_cache structure when
    sysfs tells us its okay.
    
    Otherwise there is the danger (as pointed out by
    Al Viro) that sysfs thinks the kobject still exists after
    kmem_cache_destroy() removed it.
    
    Signed-off-by: Christoph Lameter <clameter@sgi.com>
    Reviewed-by: Pekka J Enberg <penberg@cs.helsinki.fi>
    Christoph Lameter committed Jan 8, 2008
  10. slub: fix shadowed variable sparse warnings

    Introduce 'len' at outer level:
    mm/slub.c:3406:26: warning: symbol 'n' shadows an earlier one
    mm/slub.c:3393:6: originally declared here
    
    No need to declare new node:
    mm/slub.c:3501:7: warning: symbol 'node' shadows an earlier one
    mm/slub.c:3491:6: originally declared here
    
    No need to declare new x:
    mm/slub.c:3513:9: warning: symbol 'x' shadows an earlier one
    mm/slub.c:3492:6: originally declared here
    
    Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com>
    Signed-off-by: Christoph Lameter <clameter@sgi.com>
    hharrison committed with Christoph Lameter Jan 31, 2008
  11. Merge branches 'at91', 'ixp', 'master', 'misc', 'pxa' and 'realview' …

    …into devel
    
    * at91:
      [ARM] 4802/1: Fix typo and remove vague comment
      [ARM] 4660/3: at91: allow selecting UART for early kernel messages
      [ARM] 4739/1: at91sam9263: make gpio bank C and D irqs work
    
    * ixp:
      [ARM] 4809/2: ixp4xx: Merge dsmg600-power.c into dsmg600-setup.c
      [ARM] 4808/2: ixp4xx: Merge nas100d-power.c into nas100d-setup.c
      [ARM] 4807/2: ixp4xx: Merge nslu2-power.c into nslu2-setup.c
      [ARM] 4806/1: ixp4xx: Ethernet support for the nslu2 and nas100d boards
      [ARM] 4805/1: ixp4xx: Use leds-gpio driver instead of IXP4XX-GPIO-LED driver
      [ARM] 4715/2: Ethernet support for IXDP425 boards
      [ARM] 4714/2: Headers for IXP4xx built-in Ethernet and WAN drivers
      [ARM] 4713/3: Adds drivers for IXP4xx QMgr and NPE features
      [ARM] 4712/2: Adds functions to read and write IXP4xx "feature" bits
      [ARM] 4774/2: ixp4xx: Register dsmg600 rtc i2c_board_info
      [ARM] 4773/2: ixp4xx: Register nas100d rtc i2c_board_info
      [ARM] 4772/2: ixp4xx: Register nslu2 rtc i2c_board_info
      [ARM] 4769/2: ixp4xx: Button updates for the dsmg600 board
      [ARM] 4768/2: ixp4xx: Button and LED updates for the nas100d board
      [ARM] 4767/2: ixp4xx: Add bitops.h include to io.h
      [ARM] 4766/2: ixp4xx: Update ixp4xx_defconfig, enabling all supported boards
    
    * master:
      [ARM] 4810/1: - Fix 'section mismatch' building warnings
      [ARM] xtime_seqlock: fix more ARM machines for xtime deadlocking
      [ARM] 21285 serial: fix build error
    
    * misc:
      [ARM] 4736/1: Export atags to userspace and allow kexec to use customised atags
    
    * pxa:
      [ARM] 4798/1: pcm027: fix missing header file
      [ARM] 4803/1: pxa: fix building issue of poodle.c caused by patch 4737/1
      [ARM] 4801/1: pxa: fix building issues of missing pxa2xx-regs.h
      [ARM] pxa: introduce sysdev for pxa3xx static memory controller
      [ARM] pxa: add preliminary suspend/resume code for pxa3xx
      [ARM] pxa: introduce sysdev for GPIO register saving/restoring
      [ARM] pxa: introduce sysdev for IRQ register saving/restoring
      [ARM] pxa: fix the warning of undeclared "struct pxaohci_platform_data"
      [ARM] pxa: change set_kset_name() to direct name assignment for MFP sysclass
    
    * realview:
      [ARM] 4822/1: RealView: Change the REALVIEW_MPCORE configuration option
      [ARM] 4821/1: RealView: Remove the platform dependencies from localtimer.c
      [ARM] 4820/1: RealView: Select the timer IRQ at run-time
      [ARM] 4819/1: RealView: Fix entry-macro.S to work with multiple platforms
      [ARM] 4818/1: RealView: Add core-tile detection
      [ARM] 4817/1: RealView: Move the AMBA resource definitions to realview_eb.c
      [ARM] 4816/1: RealView: Move the platform-specific definitions into board-eb.h
      [ARM] 4815/1: RealView: Add clockevents suport for the local timers
      [ARM] 4814/1: RealView: Add broadcasting clockevents support for ARM11MPCore
      [ARM] 4813/1: Add SMP helper functions for clockevents support
      [ARM] 4812/1: RealView: clockevents support for the RealView platforms
      [ARM] 4811/1: RealView: clocksource support for the RealView platforms
    Russell King committed with Russell King Feb 4, 2008
  12. [ARM] 4822/1: RealView: Change the REALVIEW_MPCORE configuration option

    This patch changes the REALVIEW_MPCORE configuration option to
    REALVIEW_EB_ARM11MP since this is only specific to RealView/EB.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Catalin Marinas committed with Russell King Feb 4, 2008
  13. [ARM] 4821/1: RealView: Remove the platform dependencies from localti…

    …mer.c
    
    This patch removes the TWD_BASE macro used to set up and configure the
    local timers on ARM11MPCore. The twd_base_addr and twd_size variables
    are defined in localtimer.c and set from the realview_eb_init function.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Catalin Marinas committed with Russell King Feb 4, 2008
  14. [ARM] 4820/1: RealView: Select the timer IRQ at run-time

    This patch sets the timer IRQ at run-time by moving the sys_timer
    structure and the timer_init function to the realview_eb.c file. This
    allows multiple RealView platforms to be compiled in the same kernel
    image.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Catalin Marinas committed with Russell King Feb 4, 2008
  15. [ARM] 4819/1: RealView: Fix entry-macro.S to work with multiple platf…

    …orms
    
    This patch modifies the get_irqnr_preamble macro to work with multiple
    platforms at run-time by reading the address of the GIC controller from
    the gic_cpu_base_addr variable. This variable is defined in core.c and
    intialised in realview_eb.c (gic_init_irq).
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Catalin Marinas committed with Russell King Feb 4, 2008
  16. [ARM] 4818/1: RealView: Add core-tile detection

    This patch adds the core-tile detection and only enables devices if the
    corresponding tile is present. It currently detects the ARM11MPCore via
    the core_tile_eb11mp() macro.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Catalin Marinas committed with Russell King Feb 4, 2008
  17. [ARM] 4817/1: RealView: Move the AMBA resource definitions to realvie…

    …w_eb.c
    
    This patch moves the IRQ and DMA definitions from core.h into
    realview_eb.c since they are platform-specific. It adds a
    realview_eb11mp_fixup function to adjust the IRQ numbers if the
    ARM11MPCore tile is fitted. The realview_smc91x_device is also moved
    from core.c into realview_eb.c.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Catalin Marinas committed with Russell King Feb 4, 2008
  18. [ARM] 4816/1: RealView: Move the platform-specific definitions into b…

    …oard-eb.h
    
    This patch moves the platform specific definitions from platform.h into
    the board-eb.h file. It drops the INT_* definitions as they are no
    longer used in irqs.h (moved to board-eb.h). It renames REALVIEW_*
    macros to REALVIEW_EB_* or REALVIEW_EB11MP_* to distinguish between
    standard EB and EB + the ARM11MPCore tile. The platform.h file contains
    common definitions to the RealView platforms and it is only directly
    included in board-*.h files.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Catalin Marinas committed with Russell King Feb 4, 2008
  19. [ARM] 4815/1: RealView: Add clockevents suport for the local timers

    This patch registers the local timers on ARM11MPCore as clock event
    devices. The clock device can be set up as periodic or oneshot.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Catalin Marinas committed with Russell King Feb 4, 2008
  20. [ARM] 4814/1: RealView: Add broadcasting clockevents support for ARM1…

    …1MPCore
    
    This patch adds dummy local timers for each CPU so that the board clock
    device is used to broadcast events to the other CPUs. The patch also
    adds the declaration for the dummy_timer_setup function (the equivalent
    of local_timer_setup when CONFIG_LOCAL_TIMERS is not set).
    
    Due to the way clockevents work, the dummy timer on the first CPU has to
    be registered before the board timer.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Catalin Marinas committed with Russell King Feb 4, 2008
  21. [ARM] 4813/1: Add SMP helper functions for clockevents support

    This patch adds the smp_call_function_single and smp_timer_broadcast
    functions and modifies ipi_timer to call the platform-specific function
    local_timer_interrupt.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Catalin Marinas committed with Russell King Feb 4, 2008
  22. [ARM] 4812/1: RealView: clockevents support for the RealView platforms

    The patch updates the RealView code to the clockevents infrastructure.
    The SMP support is implemented in subsequent patches. Based on the
    Versatile implementation by Kevin Hilman.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Catalin Marinas committed with Russell King Feb 4, 2008
  23. [ARM] 4811/1: RealView: clocksource support for the RealView platforms

    The patch updates the RealView platform code to use the generic
    clocksource infrastructure for basic time keeping. Based on the
    Versatile implementation by Kevin Hilman.
    
    Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
    Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
    Catalin Marinas committed with Russell King Feb 4, 2008
  24. Merge git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86

    * git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86: (78 commits)
      x86: fix RTC lockdep warning: potential hardirq recursion
      x86: cpa, micro-optimization
      x86: cpa, clean up code flow
      x86: cpa, eliminate CPA_ enum
      x86: cpa, cleanups
      x86: implement gbpages support in change_page_attr()
      x86: support gbpages in pagetable dump
      x86: add gbpages support to lookup_address
      x86: add pgtable accessor functions for gbpages
      x86: add PUD_PAGE_SIZE
      x86: add feature macros for the gbpages cpuid bit
      x86: switch direct mapping setup over to set_pte
      x86: fix page-present check in cpa_flush_range
      x86: remove cpa warning
      x86: remove now unused clear_kernel_mapping
      x86: switch pci-gart over to using set_memory_np() instead of clear_kernel_mapping()
      x86: cpa selftest, skip non present entries
      x86: CPA fix pagetable split
      x86: rename LARGE_PAGE_SIZE to PMD_PAGE_SIZE
      x86: cpa, fix lookup_address
      ...
    torvalds committed Feb 4, 2008
  25. Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-f…

    …or-linus
    
    * git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (25 commits)
      virtio: balloon driver
      virtio: Use PCI revision field to indicate virtio PCI ABI version
      virtio: PCI device
      virtio_blk: implement naming for vda-vdz,vdaa-vdzz,vdaaa-vdzzz
      virtio_blk: Dont waste major numbers
      virtio_blk: provide getgeo
      virtio_net: parametrize the napi_weight for virtio receive queue.
      virtio: free transmit skbs when notified, not on next xmit.
      virtio: flush buffers on open
      virtnet: remove double ether_setup
      virtio: Allow virtio to be modular and used by modules
      virtio: Use the sg_phys convenience function.
      virtio: Put the virtio under the virtualization menu
      virtio: handle interrupts after callbacks turned off
      virtio: reset function
      virtio: populate network rings in the probe routine, not open
      virtio: Tweak virtio_net defines
      virtio: Net header needs hdr_len
      virtio: remove unused id field from struct virtio_blk_outhdr
      virtio: clarify NO_NOTIFY flag usage
      ...
    torvalds committed Feb 4, 2008
  26. Merge git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial

    * git://git.kernel.org/pub/scm/linux/kernel/git/bunk/trivial: (79 commits)
      Jesper Juhl is the new trivial patches maintainer
      Documentation: mention email-clients.txt in SubmittingPatches
      fs/binfmt_elf.c: spello fix
      do_invalidatepage() comment typo fix
      Documentation/filesystems/porting fixes
      typo fixes in net/core/net_namespace.c
      typo fix in net/rfkill/rfkill.c
      typo fixes in net/sctp/sm_statefuns.c
      lib/: Spelling fixes
      kernel/: Spelling fixes
      include/scsi/: Spelling fixes
      include/linux/: Spelling fixes
      include/asm-m68knommu/: Spelling fixes
      include/asm-frv/: Spelling fixes
      fs/: Spelling fixes
      drivers/watchdog/: Spelling fixes
      drivers/video/: Spelling fixes
      drivers/ssb/: Spelling fixes
      drivers/serial/: Spelling fixes
      drivers/scsi/: Spelling fixes
      ...
    torvalds committed Feb 4, 2008
  27. Merge branch 'locks' of git://linux-nfs.org/~bfields/linux

    * 'locks' of git://linux-nfs.org/~bfields/linux:
      pid-namespaces-vs-locks-interaction
      file locks: Use wait_event_interruptible_timeout()
      locks: clarify posix_locks_deadlock
    torvalds committed Feb 4, 2008
  28. kbuild: Fix instrumentation removal breakage on avr32

    AVR32 still includes Kconfig.instrumentation, so it won't build after
    this...
    
    Signed-off-by: Haavard Skinnemoen <hskinnemoen@atmel.com>
    Acked-by: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Haavard Skinnemoen committed with torvalds Feb 4, 2008
  29. Merge git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild

    * git://git.kernel.org/pub/scm/linux/kernel/git/sam/kbuild:
      scsi: fix dependency bug in aic7 Makefile
      kbuild: add svn revision information to setlocalversion
      kbuild: do not warn about __*init/__*exit symbols being exported
      Move Kconfig.instrumentation to arch/Kconfig and init/Kconfig
      Add HAVE_KPROBES
      Add HAVE_OPROFILE
      Create arch/Kconfig
      Fix ARM to play nicely with generic Instrumentation menu
      kconfig: ignore select of unknown symbol
      kconfig: mark config as changed when loading an alternate config
      kbuild: Spelling/grammar fixes for config DEBUG_SECTION_MISMATCH
      Remove __INIT_REFOK and __INITDATA_REFOK
      kbuild: print only total number of section mismatces found
    torvalds committed Feb 4, 2008
  30. vm audit: add VM_DONTEXPAND to mmap for drivers that need it

    Drivers that register a ->fault handler, but do not range-check the
    offset argument, must set VM_DONTEXPAND in the vm_flags in order to
    prevent an expanding mremap from overflowing the resource.
    
    I've audited the tree and attempted to fix these problems (usually by
    adding VM_DONTEXPAND where it is not obvious).
    
    Signed-off-by: Nick Piggin <npiggin@suse.de>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Nick Piggin committed with torvalds Feb 2, 2008
  31. ADB: Add missing #include <linux/platform_device.h>

    Commit c9f6d3d ("[POWERPC] adb: Replace
    sleep notifier with platform driver suspend/resume hooks") introduced
    compile errors on m68k because <linux/platform_device.h> is not
    explicitly included.  On powerpc, it's pulled in through <asm/prom.h>.
    
    Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    geertu committed with torvalds Feb 3, 2008
  32. x86: fix RTC lockdep warning: potential hardirq recursion

    After disabling both CONFIG_DEBUG_LOCKING_API_SELFTESTS and netconsole
    (using current mainline) I get a login prompt, and also...
    
    [    5.181668] SELinux: policy loaded with handle_unknown=deny
    [    5.183315] type=1403 audit(1202100038.157:3): policy loaded auid=4294967295 ses=4294967295
    [    5.822073] SELinux: initialized (dev usbfs, type usbfs), uses genfs_contexts
    [    7.819146] ------------[ cut here ]------------
    [    7.819146] WARNING: at kernel/lockdep.c:2033 trace_hardirqs_on+0x9b/0x10d()
    [    7.819146] Modules linked in: generic ext3 jbd ide_disk ide_core
    [    7.819146] Pid: 399, comm: hwclock Not tainted 2.6.24 #4
    [    7.819146]  [<c011d140>] warn_on_slowpath+0x41/0x51
    [    7.819146]  [<c01364a9>] ? lock_release_holdtime+0x50/0x56
    [    7.819146]  [<c013770c>] ? check_usage_forwards+0x19/0x3b
    [    7.819146]  [<c01390c4>] ? __lock_acquire+0xac3/0xb0b
    [    7.819146]  [<c0108c98>] ? native_sched_clock+0x8b/0x9f
    [    7.819146]  [<c01364a9>] ? lock_release_holdtime+0x50/0x56
    [    7.819146]  [<c030ca6c>] ? _spin_unlock_irq+0x22/0x42
    [    7.819146]  [<c013848b>] trace_hardirqs_on+0x9b/0x10d
    [    7.819146]  [<c030ca6c>] _spin_unlock_irq+0x22/0x42
    [    7.819146]  [<c011481e>] hpet_rtc_interrupt+0xdf/0x290
    [    7.819146]  [<c014ea90>] handle_IRQ_event+0x1a/0x46
    [    7.819146]  [<c014f8ea>] handle_edge_irq+0xbe/0xff
    [    7.819146]  [<c0106e08>] do_IRQ+0x6d/0x84
    [    7.819146]  [<c0105596>] common_interrupt+0x2e/0x34
    [    7.819146]  [<c013007b>] ? ktime_get_ts+0x8/0x3f
    [    7.819146]  [<c0139420>] ? lock_release+0x167/0x16f
    [    7.819146]  [<c017974a>] ? core_sys_select+0x2c/0x327
    [    7.819146]  [<c0179792>] core_sys_select+0x74/0x327
    [    7.819146]  [<c0108c98>] ? native_sched_clock+0x8b/0x9f
    [    7.819146]  [<c01364a9>] ? lock_release_holdtime+0x50/0x56
    [    7.819146]  [<c030ca6c>] ? _spin_unlock_irq+0x22/0x42
    [    7.819146]  [<c01384d6>] ? trace_hardirqs_on+0xe6/0x10d
    [    7.819146]  [<c030ca77>] ? _spin_unlock_irq+0x2d/0x42
    [    7.819146]  [<c023b437>] ? rtc_do_ioctl+0x11b/0x677
    [    7.819146]  [<c01c487e>] ? inode_has_perm+0x5e/0x68
    [    7.819146]  [<c01364a9>] ? lock_release_holdtime+0x50/0x56
    [    7.819146]  [<c0108c98>] ? native_sched_clock+0x8b/0x9f
    [    7.819146]  [<c01c490b>] ? file_has_perm+0x83/0x8c
    [    7.819146]  [<c023ba08>] ? rtc_ioctl+0xf/0x11
    [    7.819146]  [<c017898d>] ? do_ioctl+0x55/0x67
    [    7.819146]  [<c0179d15>] sys_select+0x93/0x163
    [    7.819146]  [<c0104b39>] ? sysenter_past_esp+0x9a/0xa5
    [    7.819146]  [<c0104afe>] sysenter_past_esp+0x5f/0xa5
    [    7.819146]  =======================
    [    7.819146] ---[ end trace 96540ca301ffb84c ]---
    [    7.819210] rtc: lost 6 interrupts
    [    7.870668] type=1400 audit(1202128840.794:4): avc:  denied  { audit_write } for  pid=399 comm="hwclock" capability=29 scontext=system_u:system_r:hwclock_t:s0 tcontext=system_u:system_r:hwclock_t:s0 tclass=capability
    [    9.538866] input: PC Speaker as /class/input/input5
    
    Because hpet_rtc_interrupt()'s call to get_rtc_time() ends up
    resolving to include/asm-generic/rtc.h's (hilariously inlined)
    get_rtc_time(), which does spin_unlock_irq() from hard IRQ context.
    
    The obvious patch fixes it.
    
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Andrew Morton committed with Ingo Molnar Feb 4, 2008
  33. x86: cpa, micro-optimization

    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Thomas Gleixner committed with Ingo Molnar Feb 4, 2008
  34. x86: cpa, clean up code flow

    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Ingo Molnar committed Feb 4, 2008
  35. x86: cpa, eliminate CPA_ enum

    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
    Ingo Molnar committed Feb 4, 2008