1. 21 Feb, 2013 4 commits
    • Shahed Shaikh's avatar
      qlcnic: Fix internal loopback test for 82xx adapter · d09529e6
      Shahed Shaikh authored
      o Use correct function to clear loopback mode.
      Signed-off-by: default avatarShahed Shaikh <shahed.shaikh@qlogic.com>
      Signed-off-by: default avatarJitendra Kalsaria <jitendra.kalsaria@qlogic.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d09529e6
    • Fabio Estevam's avatar
      net: fec: Ensure that initialization is done prior to request_irq() · 7f7d6c28
      Fabio Estevam authored
      Currently request_irq() is called prior to fec_enet_init() and fec_ptp_init(),
      which causes the following crash on a mx53qsb:
      
      Unable to handle kernel NULL pointer dereference at virtual address 00000002
      pgd = 80004000
      [00000002] *pgd=00000000
      Internal error: Oops: 5 [#1] SMP ARM
      Modules linked in:
      CPU: 0    Not tainted  (3.8.0-rc7-next-20130215+ #346)
      PC is at fec_enet_interrupt+0xd0/0x348
      LR is at fec_enet_interrupt+0xb8/0x348
      pc : [<80372b7c>]    lr : [<80372b64>]    psr: 60000193
      sp : df855c20  ip : df855c20  fp : df855c74
      r10: 00000516  r9 : 1c000000  r8 : 00000000
      r7 : 00000000  r6 : 00000000  r5 : 00000000  r4 : df9b7800
      r3 : df9b7df4  r2 : 00000000  r1 : 00000000  r0 : df9b7d34
      
      Ensure that such initialization functions are called prior to requesting the
      interrupts, so that all necessary the data structures are in place when the
      irqs occur.
      Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      7f7d6c28
    • Li Wei's avatar
      ipv4: fix a bug in ping_err(). · b531ed61
      Li Wei authored
      We should get 'type' and 'code' from the outer ICMP header.
      Signed-off-by: default avatarLi Wei <lw@cn.fujitsu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      b531ed61
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next · a0b1c429
      Linus Torvalds authored
      Pull networking update from David Miller:
      
       1) Checkpoint/restarted TCP sockets now can properly propagate the TCP
          timestamp offset.  From Andrey Vagin.
      
       2) VMWARE VM VSOCK layer, from Andy King.
      
       3) Much improved support for virtual functions and SR-IOV in bnx2x,
          from Ariel ELior.
      
       4) All protocols on ipv4 and ipv6 are now network namespace aware, and
          all the compatability checks for initial-namespace-only protocols is
          removed.  Thanks to Tom Parkin for helping deal with the last major
          holdout, L2TP.
      
       5) IPV6 support in netpoll and network namespace support in pktgen,
          from Cong Wang.
      
       6) Multiple Registration Protocol (MRP) and Multiple VLAN Registration
          Protocol (MVRP) support, from David Ward.
      
       7) Compute packet lengths more accurately in the packet scheduler, from
          Eric Dumazet.
      
       8) Use per-task page fragment allocator in skb_append_datato_frags(),
          also from Eric Dumazet.
      
       9) Add support for connection tracking labels in netfilter, from
          Florian Westphal.
      
      10) Fix default multicast group joining on ipv6, and add anti-spoofing
          checks to 6to4 and 6rd.  From Hannes Frederic Sowa.
      
      11) Make ipv4/ipv6 fragmentation memory limits more reasonable in modern
          times, rearrange inet frag datastructures for better cacheline
          locality, and move more operations outside of locking.  From Jesper
          Dangaard Brouer.
      
      12) Instead of strict master <--> slave relationships, allow arbitrary
          scenerios with "upper device lists".  From Jiri Pirko.
      
      13) Improve rate limiting accuracy in TBF and act_police, also from Jiri
          Pirko.
      
      14) Add a BPF filter netfilter match target, from Willem de Bruijn.
      
      15) Orphan and delete a bunch of pre-historic networking drivers from
          Paul Gortmaker.
      
      16) Add TSO support for GRE tunnels, from Pravin B SHelar.  Although
          this still needs some minor bug fixing before it's %100 correct in
          all cases.
      
      17) Handle unresolved IPSEC states like ARP, with a resolution packet
          queue.  From Steffen Klassert.
      
      18) Remove TCP Appropriate Byte Count support (ABC), from Stephen
          Hemminger.  This was long overdue.
      
      19) Support SO_REUSEPORT, from Tom Herbert.
      
      20) Allow locking a socket BPF filter, so that it cannot change after a
          process drops capabilities.
      
      21) Add VLAN filtering to bridge, from Vlad Yasevich.
      
      22) Bring ipv6 on-par with ipv4 and do not cache neighbour entries in
          the ipv6 routes, from YOSHIFUJI Hideaki.
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1538 commits)
        ipv6: fix race condition regarding dst->expires and dst->from.
        net: fix a wrong assignment in skb_split()
        ip_gre: remove an extra dst_release()
        ppp: set qdisc_tx_busylock to avoid LOCKDEP splat
        atl1c: restore buffer state
        net: fix a build failure when !CONFIG_PROC_FS
        net: ipv4: fix waring -Wunused-variable
        net: proc: fix build failed when procfs is not configured
        Revert "xen: netback: remove redundant xenvif_put"
        net: move procfs code to net/core/net-procfs.c
        qmi_wwan, cdc-ether: add ADU960S
        bonding: set sysfs device_type to 'bond'
        bonding: fix bond_release_all inconsistencies
        b44: use netdev_alloc_skb_ip_align()
        xen: netback: remove redundant xenvif_put
        net: fec: Do a sanity check on the gpio number
        ip_gre: propogate target device GSO capability to the tunnel device
        ip_gre: allow CSUM capable devices to handle packets
        bonding: Fix initialize after use for 3ad machine state spinlock
        bonding: Fix race condition between bond_enslave() and bond_3ad_update_lacp_rate()
        ...
      a0b1c429
  2. 20 Feb, 2013 36 commits
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc · 8ec49422
      Linus Torvalds authored
      Pull sparc updates from David Miller:
       "Mostly more sparc64 THP bug fixes, and a refactoring of SMP bootup on
        sparc32 from Sam Ravnborg."
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc:
        sparc32: refactor smp boot
        sparc64: Fix huge PMD to PTE translation for sun4u in TLB miss handler.
        sparc64: Fix tsb_grow() in atomic context.
        sparc64: Handle hugepage TSB being NULL.
        sparc64: Fix gfp_flags setting in tsb_grow().
      8ec49422
    • Linus Torvalds's avatar
      Merge tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64 · 79a69d34
      Linus Torvalds authored
      Pull arm64 patches from Catalin Marinas:
      
       - SMP support for the PSCI booting protocol (power state coordination
         interface).
      
       - Simple earlyprintk support.
      
       - Platform devices populated by default from the DT (SoC-agnostic).
      
       - CONTEXTIDR support (used by external trace tools).
      
      * tag 'arm64-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64:
        arm64: mm: update CONTEXTIDR register to contain PID of current process
        arm64: atomics: fix grossly inconsistent asm constraints for exclusives
        arm64: compat: use compat_uptr_t type for compat_ucontext.uc_link
        arm64: Select ARCH_WANT_FRAME_POINTERS
        arm64: Add kvm_para.h and xor.h generic headers
        arm64: SMP: enable PSCI boot method
        arm64: psci: add support for PSCI invocations from the kernel
        arm64: SMP: rework the SMP code to be enabling method agnostic
        arm64: perf: add guest vs host discrimination
        arm64: add COMPAT_PSR_*_BIT flags
        arm64: Add simple earlyprintk support
        arm64: Populate the platform devices
      79a69d34
    • Linus Torvalds's avatar
      Merge branch 'for-linus-2' of git://git.linaro.org/people/rmk/linux-arm · 6db167df
      Linus Torvalds authored
      Pull ARM updates (part two) from Russell King:
      
       - breakpoint and perf updates from Will Deacon.
      
       - hypervisor boot mode updates from Will.
      
       - support for Power State Coordination Interface via the Hypervisor
      
       - core ARM support for KVM
      
      * 'for-linus-2' of git://git.linaro.org/people/rmk/linux-arm: (32 commits)
        KVM: ARM: Add maintainer entry for KVM/ARM
        KVM: ARM: Power State Coordination Interface implementation
        KVM: ARM: Handle I/O aborts
        KVM: ARM: Handle guest faults in KVM
        KVM: ARM: VFP userspace interface
        KVM: ARM: Demux CCSIDR in the userspace API
        KVM: ARM: User space API for getting/setting co-proc registers
        KVM: ARM: Emulation framework and CP15 emulation
        KVM: ARM: World-switch implementation
        KVM: ARM: Inject IRQs and FIQs from userspace
        KVM: ARM: Memory virtualization setup
        KVM: ARM: Hypervisor initialization
        KVM: ARM: Initial skeleton to compile KVM support
        ARM: Section based HYP idmap
        ARM: Add page table and page defines needed by KVM
        ARM: perf: simplify __hw_perf_event_init err handling
        ARM: perf: remove unnecessary checks for idx < 0
        ARM: perf: handle armpmu_register failing
        ARM: perf: don't pretend to support counting of L1I writes
        ARM: perf: remove redundant NULL check on cpu_pmu
        ...
      6db167df
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm · 32f9aab8
      Linus Torvalds authored
      Pull ARM updates (part one) from Russell King:
      
       - MMC patches from Ulf Hansson and Pawel Moll.  These add support for
         DDR mode and the latest variant found on ARM Versatile Express, as
         well as a number of cleanups.
      
       - A fix for to improve the behaviour of ARMs sched_clock()
      
       - Changes to the ARM ioremap() code.  I'm not convinced with the
         primary arguments for this, but it's been around for a while, and
         people seem happy with it - and the "other" justification for this is
         at
      
            http://lkml.org/lkml/2012/12/6/184
      
       - Add SCHED_HRTICK to ARMs Kconfig
      
       - Making the ARM SHA/AES code Thumb-2 compatible
      
       - A collection of other small updates.
      
      * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (26 commits)
        ARM: add SCHED_HRTICK config option
        ARM: 7650/1: mm: replace direct access to mm->context.id with new macro
        ARM: 7649/1: mm: mm->context.id fix for big-endian
        ARM: 7648/1: pci: Allow passing per-controller private data
        ARM: 7647/1: pci: Keep pci_common_init() around after init
        ARM: fix warnings introduced by previous patch
        ARM: 7646/1: mm: use static_vm for managing static mapped areas
        ARM: 7645/1: ioremap: introduce an infrastructure for static mapped area
        ARM: 7644/1: vmregion: remove vmregion code entirely
        MAINTAINERS: Re-assert MMCI driver maintainer status
        MAINTAINERS: add additional file for MMCI driver
        MAINTAINERS: add maintainer entry for AMBA serial drivers
        ARM: 7637/1: memory: use SZ_ constants for defining the virtual memory layout
        ARM: 7643/1: sched: correct update_sched_clock()
        ARM: 7635/1: versatile: fix the PCI IRQ regression
        ARM: 7639/1: cache-l2x0: add missed dummy outer_resume entry
        ARM: 7630/1: mmc: mmci: Fixup and cleanup code for DMA handling
        ARM: 7632/1: spinlock: avoid exclusive accesses on unlock() path
        ARM: 7631/1: mmc: mmci: Add new VE MMCI variant
        ARM: 7623/1: mmc: mmci: Fixup clock gating when freq is 0 for ST-variants
        ...
      32f9aab8
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · e177bb58
      Linus Torvalds authored
      Pull m68k update from Geert Uytterhoeven.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Sort out !CONFIG_MMU_SUN3 vs. CONFIG_HAS_DMA
        swim: Add missing spinlock init
      e177bb58
    • Sam Ravnborg's avatar
      sparc32: refactor smp boot · f9fd3488
      Sam Ravnborg authored
      Introduce a common smp_callin() function to call
      from trampoline_32.S.
      Add platform specific functions to handle the
      platform details.
      
      This is in preparation for a patch that will
      unify the smp boot stuff for all architectures.
      sparc32 was significantly different to warrant
      this patch in preparation.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
      Cc: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com>
      Acked-by: default avatarSrivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f9fd3488
    • David S. Miller's avatar
      sparc64: Fix huge PMD to PTE translation for sun4u in TLB miss handler. · 76968ad2
      David S. Miller authored
      When we set the sun4u version of the PTE execute bit, it's:
      
      	or	REG, _PAGE_EXEC_4U, REG
      
      _PAGE_EXEC_4U is 0x1000, unfortunately the immedate field of the
      'or' instruction is a signed 13-bit value.  So the above actually
      assembles into:
      
      	or	REG, -4096, REG
      
      completely corrupting the final PTE value.
      
      Set it with a:
      
      	sethi	%hi(_PAGE_EXEC_4U), TMP
      	or	REG, TMP, REG
      
      sequence instead.
      
      This fixes "git gc" crashes on sun4u machines.
      Reported-by: default avatarMeelis Roos <mroos@linux.ee>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      76968ad2
    • YOSHIFUJI Hideaki / 吉藤英明's avatar
      ipv6: fix race condition regarding dst->expires and dst->from. · ecd98837
      YOSHIFUJI Hideaki / 吉藤英明 authored
      Eric Dumazet wrote:
      | Some strange crashes happen in rt6_check_expired(), with access
      | to random addresses.
      |
      | At first glance, it looks like the RTF_EXPIRES and
      | stuff added in commit 1716a961
      | (ipv6: fix problem with expired dst cache)
      | are racy : same dst could be manipulated at the same time
      | on different cpus.
      |
      | At some point, our stack believes rt->dst.from contains a dst pointer,
      | while its really a jiffie value (as rt->dst.expires shares the same area
      | of memory)
      |
      | rt6_update_expires() should be fixed, or am I missing something ?
      |
      | CC Neil because of https://bugzilla.redhat.com/show_bug.cgi?id=892060
      
      Because we do not have any locks for dst_entry, we cannot change
      essential structure in the entry; e.g., we cannot change reference
      to other entity.
      
      To fix this issue, split 'from' and 'expires' field in dst_entry
      out of union.  Once it is 'from' is assigned in the constructor,
      keep the reference until the very last stage of the life time of
      the object.
      
      Of course, it is unsafe to change 'from', so make rt6_set_from simple
      just for fresh entries.
      Reported-by: default avatarEric Dumazet <eric.dumazet@gmail.com>
      Reported-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      CC: Gao Feng <gaofeng@cn.fujitsu.com>
      Signed-off-by: default avatarYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
      Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
      Reported-by: default avatarSteinar H. Gunderson <sesse@google.com>
      Reviewed-by: default avatarNeil Horman <nhorman@tuxdriver.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ecd98837
    • Amerigo Wang's avatar
      net: fix a wrong assignment in skb_split() · 68534c68
      Amerigo Wang authored
      commit c9af6db4 (net: Fix possible wrong checksum generation)
      has a suspicous piece:
      
      	-       skb_shinfo(skb1)->gso_type = skb_shinfo(skb)->gso_type;
      	-
      	+       skb_shinfo(skb)->tx_flags = skb_shinfo(skb1)->tx_flags & SKBTX_SHARED_FRAG;
      
      skb1 is the new skb, therefore should be on the left side of the assignment.
      This patch fixes it.
      
      Cc: Pravin B Shelar <pshelar@nicira.com>
      Cc: David S. Miller <davem@davemloft.net>
      Signed-off-by: default avatarCong Wang <amwang@redhat.com>
      Acked-by: default avatarPravin B Shelar <pshelar@nicira.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      68534c68
    • Linus Torvalds's avatar
      Merge tag 'edac_3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · 55529fa5
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
       "Mostly AMD's side of EDAC.  It is basically a new family enablement
        stuff: AMD F16h MCE decoding enablement from Jacob Shin.  The rest is
        trivial cleanups."
      
      * tag 'edac_3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        mpc85xx_edac: Fix typo
        EDAC, MCE, AMD: Remove unneeded exports
        EDAC, MCE, AMD: Add MCE decoding support for Family 16h
        EDAC, MCE, AMD: Make MC2 decoding per-family
        amd64_edac: Remove dead code
      55529fa5
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 8793422f
      Linus Torvalds authored
      Pull ACPI and power management updates from Rafael Wysocki:
      
       - Rework of the ACPI namespace scanning code from Rafael J.  Wysocki
         with contributions from Bjorn Helgaas, Jiang Liu, Mika Westerberg,
         Toshi Kani, and Yinghai Lu.
      
       - ACPI power resources handling and ACPI device PM update from Rafael
         J Wysocki.
      
       - ACPICA update to version 20130117 from Bob Moore and Lv Zheng with
         contributions from Aaron Lu, Chao Guan, Jesper Juhl, and Tim Gardner.
      
       - Support for Intel Lynxpoint LPSS from Mika Westerberg.
      
       - cpuidle update from Len Brown including Intel Haswell support, C1
         state for intel_idle, removal of global pm_idle.
      
       - cpuidle fixes and cleanups from Daniel Lezcano.
      
       - cpufreq fixes and cleanups from Viresh Kumar and Fabio Baltieri with
         contributions from Stratos Karafotis and Rickard Andersson.
      
       - Intel P-states driver for Sandy Bridge processors from Dirk
         Brandewie.
      
       - cpufreq driver for Marvell Kirkwood SoCs from Andrew Lunn.
      
       - cpufreq fixes related to ordering issues between acpi-cpufreq and
         powernow-k8 from Borislav Petkov and Matthew Garrett.
      
       - cpufreq support for Calxeda Highbank processors from Mark Langsdorf
         and Rob Herring.
      
       - cpufreq driver for the Freescale i.MX6Q SoC and cpufreq-cpu0 update
         from Shawn Guo.
      
       - cpufreq Exynos fixes and cleanups from Jonghwan Choi, Sachin Kamat,
         and Inderpal Singh.
      
       - Support for "lightweight suspend" from Zhang Rui.
      
       - Removal of the deprecated power trace API from Paul Gortmaker.
      
       - Assorted updates from Andreas Fleig, Colin Ian King, Davidlohr Bueso,
         Joseph Salisbury, Kees Cook, Li Fei, Nishanth Menon, ShuoX Liu,
         Srinivas Pandruvada, Tejun Heo, Thomas Renninger, and Yasuaki
         Ishimatsu.
      
      * tag 'pm+acpi-3.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (267 commits)
        PM idle: remove global declaration of pm_idle
        unicore32 idle: delete stray pm_idle comment
        openrisc idle: delete pm_idle
        mn10300 idle: delete pm_idle
        microblaze idle: delete pm_idle
        m32r idle: delete pm_idle, and other dead idle code
        ia64 idle: delete pm_idle
        cris idle: delete idle and pm_idle
        ARM64 idle: delete pm_idle
        ARM idle: delete pm_idle
        blackfin idle: delete pm_idle
        sparc idle: rename pm_idle to sparc_idle
        sh idle: rename global pm_idle to static sh_idle
        x86 idle: rename global pm_idle to static x86_idle
        APM idle: register apm_cpu_idle via cpuidle
        cpufreq / intel_pstate: Add kernel command line option disable intel_pstate.
        cpufreq / intel_pstate: Change to disallow module build
        tools/power turbostat: display SMI count by default
        intel_idle: export both C1 and C1E
        ACPI / hotplug: Fix concurrency issues and memory leaks
        ...
      8793422f
    • Linus Torvalds's avatar
      Merge tag 'dt-for-linus' of git://git.secretlab.ca/git/linux · b3cdda2b
      Linus Torvalds authored
      Pull device tree changes from Grant Likely:
       "All around device tree changes destined for v3.8.  Aside from the
        documentation updates the highlights in this branch include:
      
         - Kbuild changes for using CPP with .dts files
         - locking fix from preempt_rt patchset
         - include DT alias names in device uevent
         - Selftest bugfixes and improvements
         - New function for counting phandles stanzas in a property
         - constify argument to of_node_full_name()
         - Various bug fixes
      
        This tree did also contain a commit to use platform_device_add instead
        of open-coding the device add code, but it caused problems with amba
        devices and needed to be reverted."
      
      * tag 'dt-for-linus' of git://git.secretlab.ca/git/linux: (23 commits)
        Revert "of: use platform_device_add"
        kbuild: limit dtc+cpp include path
        gpio: Make of_count_named_gpios() use new of_count_phandle_with_args()
        of: Create function for counting number of phandles in a property
        of/base: Clean up exit paths for of_parse_phandle_with_args()
        of/selftest: Use selftest() macro throughout
        of/selftest: Fix GPIOs selftest to cover the 7th case
        of: fix recursive locking in of_get_next_available_child()
        documentation/devicetree: Fix a typo in exynos-dw-mshc.txt
        OF: convert devtree lock from rw_lock to raw spinlock
        of/exynos_g2d: Add Bindings for exynos G2D driver
        kbuild: create a rule to run the pre-processor on *.dts files
        input: Extend matrix-keypad device tree binding
        devicetree: Move NS2 LEDs binding into LEDs directory
        of: use platform_device_add
        powerpc/5200: Fix size to request_mem_region() call
        documentation/devicetree: Fix typos
        of: add 'const' to of_node_full_name parameter
        of: Output devicetree alias names in uevent
        DT: add vendor prefixes for Renesas and Toshiba
        ...
      b3cdda2b
    • Linus Torvalds's avatar
      Merge tag 'spi-for-linus' of git://git.secretlab.ca/git/linux · 3aad3f03
      Linus Torvalds authored
      Pull SPI changes from Grant Likely:
       "Changes to both core spi code and spi device drivers.  The driver
        changes are the usual set of bug fixes and platform enablement.
      
        Core code changes include:
      
         - More intelligent assignment of SPI bus numbers when using DT
      
         - Common mechanism for using gpios as CS lines
      
         - Pull checks for bits_per_word and transfer speed out of drivers and
           into core code
      
         - Ensure temporary DMA buffers are DMA safe"
      
      * tag 'spi-for-linus' of git://git.secretlab.ca/git/linux: (50 commits)
        spi: Document cs_gpios and cs_gpio in kernel-doc
        spi/of: Fix initialization of cs_gpios array
        spi/pxa2xx: add support for Lynxpoint SPI controllers
        spi/pxa2xx: add support for Intel Low Power Subsystem SPI
        spi/pxa2xx: add support for SPI_LOOP
        spi/pxa2xx: add support for runtime PM
        spi/pxa2xx: add support for DMA engine
        spi/pxa2xx: break out the private DMA API usage into a separate file
        spi/ath79: add shutdown handler
        spi/mips-lantiq: set SPI_MASTER_HALF_DUPLEX flag
        spi/mips-lantiq: make use of spi_finalize_current_message
        spi/bcm63xx: work around inability to keep CS up
        spi/davinci: use request_threaded_irq() to fix deadlock
        spi/orion: Use module_platform_driver()
        spi/bcm63xx: reject transfers unable to transfer
        spi: Ensure memory used for spi_write_then_read() is DMA safe
        spi/spi-mpc512x-psc: init mode bits supported by the driver
        spi/mpc512x-psc: don't use obsolet cell-index property
        spi: Remove erroneous __init, __exit and __exit_p() references in drivers
        spi/s3c64xx: fix checkpatch warnings and error
        ...
      3aad3f03
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus' of git://git.linaro.org/people/mturquette/linux · 10b6339e
      Linus Torvalds authored
      Pull clock framework update from Michael Turquette:
       "The common clock framework changes for 3.9 are almost entirely fixes.
      
        None are dire enough to be Cc'd to stable which may be interpreted to
        mean that users of the framework are reaching stability.  Lots of new
        adoption of this framework is via DeviceTree data and that comes
        through the respective architecture and platform trees instead of
        through the clk framework tree.
      
        Two new features are improved debugfs output and an improvement to how
        DT clocks are initialized by reusing a common method."
      
      * tag 'clk-for-linus' of git://git.linaro.org/people/mturquette/linux: (25 commits)
        clk: sunxi: remove stale Makefile entry
        clk: vexpress: Use common of_clk_init() function
        clk: zynq: Use common of_clk_init() function
        clk: vt8500: Use common of_clk_init() function
        clk: highbank: Use common of_clk_init() function
        clk: sunxi: Use common of_clk_init() function
        clk: add common of_clk_init() function
        clk: Deduplicate exit code in clk_set_rate
        clk: beautify Makefile
        clk-divider: fix macros
        clk: prima2: enable dt-binding clkdev mapping
        clk: mxs: Index is always positive
        clk: max77686: Avoid double free at remove time
        clk: remove exported function from __init section
        clk: vt8500: Add support for WM8750/WM8850 PLL clocks
        clk: vt8500: Fix division-by-0 when requested rate=0
        clk: vt8500: Fix device clock divisor calculations
        clk: vt8500: Fix error in PLL calculations on non-exact match.
        clk: max77686: Remove unnecessary NULL checking for container_of()
        clk: JSON debugfs clock tree summary
        ...
      10b6339e
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · c6699b58
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
       "Two new touchpad drivers - Cypress APA I2C Trackpad and Cypress PS/2
        touchpad and a big update to ALPS driver from Kevin Cernekee that adds
        support for "Rushmore" touchpads and paves way for adding support for
        "Dolphin" touchpads.
      
        There is also a new input driver for Goldfish emulator and also
        Android keyreset driver was folded into SysRq code.
      
        A few more drivers were updated with device tree bindings and others
        got some small cleanups and fixes."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (55 commits)
        Input: cyttsp-spi - remove duplicate MODULE_ALIAS()
        Input: tsc2005 - add MODULE_ALIAS
        Input: tegra-kbc - require CONFIG_OF, remove platform data
        Input: synaptics - initialize pointer emulation usage
        Input: MT - do not apply filtering on emulated events
        Input: bma150 - make some defines public and fix some comments
        Input: bma150 - fix checking pm_runtime_get_sync() return value
        Input: ALPS - enable trackstick on Rushmore touchpads
        Input: ALPS - add support for "Rushmore" touchpads
        Input: ALPS - make the V3 packet field decoder "pluggable"
        Input: ALPS - move pixel and bitmap info into alps_data struct
        Input: ALPS - fix command mode check
        Input: ALPS - rework detection of Pinnacle AGx touchpads
        Input: ALPS - move {addr,nibble}_command settings into alps_set_defaults()
        Input: ALPS - use function pointers for different protocol handlers
        Input: ALPS - rework detection sequence
        Input: ALPS - introduce helper function for repeated commands
        Input: ALPS - move alps_get_model() down below hw_init code
        Input: ALPS - copy "model" info into alps_data struct
        Input: ALPS - document the alps.h data structures
        ...
      c6699b58
    • Linus Torvalds's avatar
      Merge tag 'for-v3.9' of git://git.infradead.org/battery-2.6 · 5a120391
      Linus Torvalds authored
      Pull battery updates from Anton Vorontsov:
       "Four new drivers:
      
         - goldfish_battery:
      
           This is Android Emulator battery driver.  Originally from Google,
           but Intel folks reshaped it for mainline
      
         - pm2301_charger:
      
           A new driver for ST-Ericsson 2301 Power Management chip, uses
           AB8500 battery management core
      
         - qnap-poweroff:
      
           The driver adds poweroff functionality for QNAP NAS boxes
      
         - restart-poweroff:
      
           A generic driver that implements 'power off by restarting'.  The
           actual poweroff functionality is implemented through a bootloader,
           so Linux' task is just to restart the box.  The driver is useful on
           Buffalo Linkstation LS-XHL and LS-CHLv2 boards.  Andrew Lunn worked
           on submitting the driver (as well as qnap-poweroff above).
      
        Additionally:
      
         - A lot of fixes for ab8500 drivers.  This is a part of efforts of
           syncing internal ST-Ericsson development tree with the mainline.
           Lee Jones @ Linaro worked on compilation and reshaping these
           series.
      
         - New health properties for the power supplies: "Watchdog timer
           expire" and "Safety timer expire"
      
         - As usual, a bunch of fixes/cleanups here and there"
      
      * tag 'for-v3.9' of git://git.infradead.org/battery-2.6: (81 commits)
        bq2415x_charger: Add support for offline and 100mA mode
        generic-adc-battery: Fix forever loop in gab_remove()
        goldfish_battery: Add missing GENERIC_HARDIRQS dependency
        da9030_battery: Include notifier.h
        bq27x00_battery: Fix reporting battery temperature
        power/reset: Remove newly introduced __dev* annotations
        lp8727_charger: Small cleanup in naming
        ab8500_btemp: Demote initcall sequence
        ds2782_battery: Add power_supply_changed() calls for proper uevent support
        power: Add battery driver for goldfish emulator
        u8500-charger: Delay for USB enumeration
        ab8500-bm: Remove individual [charger|btemp|fg|chargalg] pdata structures
        ab8500-charger: Do not touch VBUSOVV bits
        ab8500-fg: Use correct battery charge full design
        pm2301: LPN mode control support
        pm2301: Enable vbat low monitoring
        ab8500-bm: Flush all work queues before suspending
        ab8500-fg: Go to INIT_RECOVERY when charger removed
        ab8500-charger: Add support for autopower on AB8505 and AB9540
        abx500-chargalg: Add new sysfs interface to get current charge status
        ...
      
      Fix up fairly straightforward conflicts in the ab8500 driver.  But since
      it seems to be ARM-specific, I can't even compile-test the result..
      5a120391
    • David S. Miller's avatar
      sparc64: Fix tsb_grow() in atomic context. · 0fbebed6
      David S. Miller authored
      If our first THP installation for an MM is via the set_pmd_at() done
      during khugepaged's collapsing we'll end up in tsb_grow() trying to do
      a GFP_KERNEL allocation with several locks held.
      
      Simply using GFP_ATOMIC in this situation is not the best option
      because we really can't have this fail, so we'd really like to keep
      this an order 0 GFP_KERNEL allocation if possible.
      
      Also, doing the TSB allocation from khugepaged is a really bad idea
      because we'll allocate it potentially from the wrong NUMA node in that
      context.
      
      So what we do is defer the hugepage TSB allocation until the first TLB
      miss we take on a hugepage.  This is slightly tricky because we have
      to handle two unusual cases:
      
      1) Taking the first hugepage TLB miss in the window trap handler.
         We'll call the winfix_trampoline when that is detected.
      
      2) An initial TSB allocation via TLB miss races with a hugetlb
         fault on another cpu running the same MM.  We handle this by
         unconditionally loading the TSB we see into the current cpu
         even if it's non-NULL at hugetlb_setup time.
      Reported-by: default avatarMeelis Roos <mroos@ut.ee>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      0fbebed6
    • David S. Miller's avatar
      sparc64: Handle hugepage TSB being NULL. · bcd896ba
      David S. Miller authored
      Accomodate the possibility that the TSB might be NULL at
      the point that update_mmu_cache() is invoked.  This is
      necessary because we will sometimes need to defer the TSB
      allocation to the first fault that happens in the 'mm'.
      
      Seperate out the hugepage PTE test into a seperate function
      so that the logic is clearer.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      bcd896ba
    • David S. Miller's avatar
      sparc64: Fix gfp_flags setting in tsb_grow(). · a55ee1ff
      David S. Miller authored
      We should "|= more_flags" rather than "= more_flags".
      Reported-by: default avatarDavid Rientjes <rientjes@google.com>
      Acked-by: default avatarDavid Rientjes <rientjes@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      a55ee1ff
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · c560dc87
      Linus Torvalds authored
      Pull hwmon updates from Guenter Roeck:
      
       - New drivers for MAX6697 and compatibles and for INA209.
      
       - Added support for IT8771E, IT8772E, MAX34460, MAX34461, MCP98244, and
         ADT7420 to existing drivers.
      
       - Added support for additional attributes to various drivers.
      
       - Replaced SENSORS_LIMIT with clamp_val; retire SENSORS_LIMIT;
      
       - Clean up PMBus code to reduce its size; clean up adt7410 driver.
      
       - A couple of minor bug fixes as well as documentation cleanup.
      
       - Out-of-tree change: Replace SENSORS_LIMIT with clamp_val in
         platform/x86/eeepc-laptop driver.
      
      * tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (32 commits)
        hwmon: (ntc_thermistor): Fix sparse warnings
        hwmon: (adt7410) Add device table entry for the adt7420
        hwmon: (adt7410) Use I2C_ADDRS helper macro
        hwmon: (adt7410) Use the SIMPLE_DEV_PM_OPS helper macro
        hwmon: (adt7410) Let suspend/resume depend on CONFIG_PM_SLEEP
        hwmon: (adt7410) Clear unwanted bits in the config register
        hwmon: (jc42) Add support for MCP98244
        hwmon: (pmbus) Clean up for code size reduction
        hwmon: (pmbus/max34440) Add support for MAX34460 and MAX34461
        hwmon: (pmbus) Add support for word status register
        hwmon: (pmbus/zl6100) Add support for VMON/VDRV
        hwmon: (pmbus) Add function to clear sensor cache
        hwmon: (pmbus) Add support for additional voltage sensor
        hwmon: (pmbus) Use krealloc to allocate attribute memory
        hwmon: (pmbus) Simplify memory allocation for sensor attributes
        hwmon: (pmbus) Improve boolean handling
        hwmon: (pmbus) Simplify memory allocation for labels and booleans
        hwmon: (pmbus) Use dev variable to represent client->dev
        hwmon: (pmbus) Fix 'Macros with multiple statements' checkpatch error
        hwmon: (pmbus) Drop unnecessary error messages in probe error path
        ...
      c560dc87
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-for-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 8a3a11f9
      Linus Torvalds authored
      Pull pinctrl changes from Linus Walleij:
       "These are the main pinctrl changes for the v3.9 merge window.  The
        most interesting change by far is how the device core grabs pinctrl
        default handles avoiding the need to stick boilerplate into driver
        consumers.
      
         - Grabbing of default pinctrl handles from the device core.  These
           are the hunks hitting drivers/base.  All is ACKed by Greg, after a
           long discussion about different alternatives.
      
         - Some stuff also touches the MFD and ARM SoC trees, this has been
           coordinated and ACKed.
      
         - New drivers for:
           - The Tegra 114 sub-SoC
           - Allwinner sunxi
           - New ABx500 driver and sub-SoC drivers for AB8500, AB8505, AB9540
             and AB8540.
      
         - Make it possible for hogged pins to enter a sleep mode, and make it
           possible for drivers to control that mode.
      
         - Various clean-up, extensions and device tree support to various pin
           controllers."
      
      * tag 'pinctrl-for-v3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (68 commits)
        pinctrl: tegra: add clfvs function to Tegra114 support
        pinctrl: generic: rename input schmitt disable
        pinctrl/pinconfig: add debug interface
        pinctrl: samsung: remove duplicated line
        ARM: ux500: use real AB8500 IRQ numbers instead of virtual ones
        ARM: ux500: remove irq_base property from platform_data
        pinctrl/abx500: use direct IRQ defines
        pinctrl/abx500: replace IRQ offsets with table read-in values
        pinctrl/abx500: move IRQ handling to ab8500-core
        pinctrl: exynos5440: remove erroneous __init
        pinctrl/abx500: adjust offset for get_mode()
        pinctrl/abx500: add Device Tree support
        pinctrl/abx500: align GPIO cluster boundaries
        pinctrl/abx500: prevent error path from corrupting returning error
        pinctrl: sunxi: add of_xlate function
        pinctrl/lantiq: fix pin number in ltq_pmx_gpio_request_enable
        pinctrl/lantiq: add functionality to falcon_pinconf_dbg_show
        pinctrl/lantiq: fix pinconfig parameters
        pinctrl/lantiq: one of the boot leds was defined incorrectly
        pinctrl/lantiq: only probe available pad controllers
        ...
      8a3a11f9
    • Linus Torvalds's avatar
      Merge tag 'regulator-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 8909ff65
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "A fairly quiet release for the regulator API, the bulk of the changes
        being lots of small cleanups and API updates contributed by Axel Lin
        with just a small set of larger changes:
      
         - New driver for LP8755
      
         - DT support for S5M8767, TPS51632, TPS6507x and TPS65090
      
         - Support for writing a "commit changes" bit in the regmap helper
           functions."
      
      * tag 'regulator-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (60 commits)
        regulator: Fix memory garbage dev_err printout.
        regulator: max77686: Reuse rdev_get_id() function.
        regulator: tps51632: Use regulator_[get|set]_voltage_sel_regmap
        regulator: as3711: Fix checking if no platform initialization data
        regulator: s5m8767: Prevent possible NULL pointer dereference
        regulator: s5m8767: Fix dev argument for devm_kzalloc and of_get_regulator_init_data
        regulator: core: Optimize _regulator_do_set_voltage if voltage does not change
        regulator: max8998: Let regulator core handle the case selector == old_selector
        regulator: s5m8767: Use of_get_child_count()
        regulator: anatop: improve precision of delay time
        regulator: show state for GPIO-controlled regulators
        regulator: s5m8767: Fix build in non-DT case
        regulator: add device tree support for s5m8767
        regulator: palmas: Remove a redundant setting for warm_reset
        regulator: mc13xxx: Use of_get_child_count()
        regulator: max8997: Use of_get_child_count()
        regulator: tps65090: Fix using wrong dev argument for calling of_regulator_match
        regulators: anatop: add set_voltage_time_sel interface
        regulator: Add missing of_node_put()
        regulator: tps6507x: Fix using wrong dev argument for calling of_regulator_match
        ...
      8909ff65
    • Linus Torvalds's avatar
      Merge tag 'regmap-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 88cff241
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "Several nice new features and performance improvements here,
        especially the first:
      
         - Support for using the cache infrastructure without the physical
           I/O, allowing devices which don't fit the physical model regmap has
           to take advantage of the cache infrastructure, contributed by
           Andrey Smirnov.
      
         - Several small improvements to the support for wake capable IRQs.
      
         - Support for asynchronous I/O, allowing us to come much closer to
           saturating fast buses like SPI.
      
         - Support for simple array caches, giving higher performance for use
           with MMIO devices.
      
         - Restoration of the use of bulk reads for handling interrupts,
           giving a performance improvement.
      
         - Support for 24 bit register addresses.
      
         - More performance improvements for debugfs."
      
      * tag 'regmap-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap: (24 commits)
        regmap: mmio: add register clock support
        regmap: debugfs: Factor out debugfs_tot_len calc into a function
        regmap: debugfs: Optimize seeking within blocks of registers
        regmap: debugfs: Add a `max_reg' member in struct regmap_debugfs_off_cache
        regmap: debugfs: Fix reading in register field units
        regmap: spi: Handle allocation failures gracefully
        regmap: Export regmap_async_complete()
        regmap: Export regmap_async_complete_cb
        regmap: include linux/sched.h to fix build
        regmap: spi: Support asynchronous I/O for SPI
        regmap: Add asynchronous I/O support
        regmap: Add "no-bus" option for regmap API
        regmap: regmap: avoid spurious warning in regmap_read_debugfs
        regmap: Add provisions to have user-defined write operation
        regmap: Add provisions to have user-defined read operation
        regmap: Add support for 24 bit wide register addresses
        mfd: wm5110: Mark wakes as inverted
        mfd: wm5102: Mark wakes as inverted
        regmap: irq: Support wake IRQ mask inversion
        regmap: irq: Fix sync of wake statuses to hardware
        ...
      88cff241
    • Linus Torvalds's avatar
      Merge branch 'for-3.9-cpuset' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 9ae46e67
      Linus Torvalds authored
      Pull cpuset changes from Tejun Heo:
      
       - Synchornization has seen a lot of changes with focus on decoupling
         cpuset synchronization from cgroup internal locking.
      
         After this change, there only remain a couple of mostly trivial
         dependencies on cgroup_lock outside cgroup core proper.  cgroup_lock
         is scheduled to be unexported in this devel cycle.
      
         This will finally remove the fragile locking order around cgroup
         (cgroup locking wants to / should be one of the outermost but yet has
         been acquired from deep inside individual controllers).
      
       - At this point, Li is most knowlegeable with cpuset and taking over
         the maintainership of cpuset.
      
      * 'for-3.9-cpuset' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cpuset: drop spurious retval assignment in proc_cpuset_show()
        cpuset: fix RCU lockdep splat
        cpuset: update MAINTAINERS
        cpuset: remove cpuset->parent
        cpuset: replace cpuset->stack_list with cpuset_for_each_descendant_pre()
        cpuset: replace cgroup_mutex locking with cpuset internal locking
        cpuset: schedule hotplug propagation from cpuset_attach() if the cpuset is empty
        cpuset: pin down cpus and mems while a task is being attached
        cpuset: make CPU / memory hotplug propagation asynchronous
        cpuset: drop async_rebuild_sched_domains()
        cpuset: don't nest cgroup_mutex inside get_online_cpus()
        cpuset: reorganize CPU / memory hotplug handling
        cpuset: cleanup cpuset[_can]_attach()
        cpuset: introduce cpuset_for_each_child()
        cpuset: introduce CS_ONLINE
        cpuset: introduce ->css_on/offline()
        cpuset: remove fast exit path from remove_tasks_in_empty_cpuset()
        cpuset: remove unused cpuset_unlock()
      9ae46e67
    • Linus Torvalds's avatar
      Merge branch 'for-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 502b24c2
      Linus Torvalds authored
      Pull cgroup changes from Tejun Heo:
       "Nothing too drastic.
      
         - Removal of synchronize_rcu() from userland visible paths.
      
         - Various fixes and cleanups from Li.
      
         - cgroup_rightmost_descendant() added which will be used by cpuset
           changes (it will be a separate pull request)."
      
      * 'for-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cgroup: fail if monitored file and event_control are in different cgroup
        cgroup: fix cgroup_rmdir() vs close(eventfd) race
        cpuset: fix cpuset_print_task_mems_allowed() vs rename() race
        cgroup: fix exit() vs rmdir() race
        cgroup: remove bogus comments in cgroup_diput()
        cgroup: remove synchronize_rcu() from cgroup_diput()
        cgroup: remove duplicate RCU free on struct cgroup
        sched: remove redundant NULL cgroup check in task_group_path()
        sched: split out css_online/css_offline from tg creation/destruction
        cgroup: initialize cgrp->dentry before css_alloc()
        cgroup: remove a NULL check in cgroup_exit()
        cgroup: fix bogus kernel warnings when cgroup_create() failed
        cgroup: remove synchronize_rcu() from rebind_subsystems()
        cgroup: remove synchronize_rcu() from cgroup_attach_{task|proc}()
        cgroup: use new hashtable implementation
        cgroups: fix cgroup_event_listener error handling
        cgroups: move cgroup_event_listener.c to tools/cgroup
        cgroup: implement cgroup_rightmost_descendant()
        cgroup: remove unused dummy cgroup_fork_callbacks()
      502b24c2
    • Russell King's avatar
      Merge branch 'misc' into for-linus · 1b1c7409
      Russell King authored
      Conflicts:
      	arch/arm/include/asm/memory.h
      1b1c7409
    • Russell King's avatar
      573f8c8d
    • Linus Torvalds's avatar
      Merge branch 'for-3.9-async' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · ece8e0b2
      Linus Torvalds authored
      Pull async changes from Tejun Heo:
       "These are followups for the earlier deadlock issue involving async
        ending up waiting for itself through block requesting module[1].  The
        following changes are made by these commits.
      
         - Instead of requesting default elevator on each request_queue init,
           block now requests it once early during boot.
      
         - Kmod triggers warning if invoked from an async worker.
      
         - Async synchronization implementation has been reimplemented.  It's
           a lot simpler now."
      
      * 'for-3.9-async' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        async: initialise list heads to fix crash
        async: replace list of active domains with global list of pending items
        async: keep pending tasks on async_domain and remove async_pending
        async: use ULLONG_MAX for infinity cookie value
        async: bring sanity to the use of words domain and running
        async, kmod: warn on synchronous request_module() from async workers
        block: don't request module during elevator init
        init, block: try to load default elevator module early during boot
      ece8e0b2
    • Dmitry Torokhov's avatar
      Merge branch 'next' into for-linus · 2d9f0d96
      Dmitry Torokhov authored
      Prepare first set of updates for 3.9 merge window.
      2d9f0d96
    • Linus Torvalds's avatar
      Merge branch 'for-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 67cb104b
      Linus Torvalds authored
      Pull workqueue changes from Tejun Heo:
       "A lot of reorganization is going on mostly to prepare for worker pools
        with custom attributes so that workqueue can replace custom pool
        implementations in places including writeback and btrfs and make CPU
        assignment in crypto more flexible.
      
        workqueue evolved from purely per-cpu design and implementation, so
        there are a lot of assumptions regarding being bound to CPUs and even
        unbound workqueues are implemented as an extension of the model -
        workqueues running on the special unbound CPU.  Bulk of changes this
        round are about promoting worker_pools as the top level abstraction
        replacing global_cwq (global cpu workqueue).  At this point, I'm
        fairly confident about getting custom worker pools working pretty soon
        and ready for the next merge window.
      
        Lai's patches are replacing the convoluted mb() dancing workqueue has
        been doing with much simpler mechanism which only depends on
        assignment atomicity of long.  For details, please read the commit
        message of 0b3dae68 ("workqueue: simplify is-work-item-queued-here
        test").  While the change ends up adding one pointer to struct
        delayed_work, the inflation in percentage is less than five percent
        and it decouples delayed_work logic a lot more cleaner from usual work
        handling, removes the unusual memory barrier dancing, and allows for
        further simplification, so I think the trade-off is acceptable.
      
        There will be two more workqueue related pull requests and there are
        some shared commits among them.  I'll write further pull requests
        assuming this pull request is pulled first."
      
      * 'for-3.9' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (37 commits)
        workqueue: un-GPL function delayed_work_timer_fn()
        workqueue: rename cpu_workqueue to pool_workqueue
        workqueue: reimplement is_chained_work() using current_wq_worker()
        workqueue: fix is_chained_work() regression
        workqueue: pick cwq instead of pool in __queue_work()
        workqueue: make get_work_pool_id() cheaper
        workqueue: move nr_running into worker_pool
        workqueue: cosmetic update in try_to_grab_pending()
        workqueue: simplify is-work-item-queued-here test
        workqueue: make work->data point to pool after try_to_grab_pending()
        workqueue: add delayed_work->wq to simplify reentrancy handling
        workqueue: make work_busy() test WORK_STRUCT_PENDING first
        workqueue: replace WORK_CPU_NONE/LAST with WORK_CPU_END
        workqueue: post global_cwq removal cleanups
        workqueue: rename nr_running variables
        workqueue: remove global_cwq
        workqueue: remove worker_pool->gcwq
        workqueue: replace for_each_worker_pool() with for_each_std_worker_pool()
        workqueue: make freezing/thawing per-pool
        workqueue: make hotplug processing per-pool
        ...
      67cb104b
    • Linus Torvalds's avatar
      Merge branch 'for-3.9-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 1eaec821
      Linus Torvalds authored
      Pull workqueue [delayed_]work_pending() cleanups from Tejun Heo:
       "This is part of on-going cleanups to remove / minimize usages of
        workqueue interfaces which are deprecated and/or misleading.
      
        This round drops a number of usages of [delayed_]work_pending(), which
        are dangerous as they lack any form of synchronization and thus often
        lead to buggy / unnecessary code.  There are a couple legitimate use
        cases in kernel.  Hopefully, they can be converted and
        [delayed_]work_pending() can be removed completely.  Even if not,
        removing most of misuses should make it more difficult to find
        examples of misuses and thus slow down growth of them.
      
        These changes are independent from other workqueue changes."
      
      * 'for-3.9-cleanups' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        wimax/i2400m: fix i2400m->wake_tx_skb handling
        kprobes: fix wait_for_kprobe_optimizer()
        ipw2x00: simplify scan_event handling
        video/exynos: don't use [delayed_]work_pending()
        tty/max3100: don't use [delayed_]work_pending()
        x86/mce: don't use [delayed_]work_pending()
        rfkill: don't use [delayed_]work_pending()
        wl1251: don't use [delayed_]work_pending()
        thinkpad_acpi: don't use [delayed_]work_pending()
        mwifiex: don't use [delayed_]work_pending()
        sja1000: don't use [delayed_]work_pending()
      1eaec821
    • Linus Torvalds's avatar
      Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1a13c0b1
      Linus Torvalds authored
      Pull x86 UV3 support update from Ingo Molnar:
       "Support for the SGI Ultraviolet System 3 (UV3) platform - the upcoming
        third major iteration and upscaling of the SGI UV supercomputing
        platform."
      
      * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, uv, uv3: Trim MMR register definitions after code changes for SGI UV3
        x86, uv, uv3: Check current gru hub support for SGI UV3
        x86, uv, uv3: Update Time Support for SGI UV3
        x86, uv, uv3: Update x2apic Support for SGI UV3
        x86, uv, uv3: Update Hub Info for SGI UV3
        x86, uv, uv3: Update ACPI Check to include SGI UV3
        x86, uv, uv3: Update MMR register definitions for SGI Ultraviolet System 3 (UV3)
      1a13c0b1
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f98982ce
      Linus Torvalds authored
      Pull x86 platform changes from Ingo Molnar:
      
       - Support for the Technologic Systems TS-5500 platform, by Vivien
         Didelot
      
       - Improved NUMA support on AMD systems:
      
         Add support for federated systems where multiple memory controllers
         can exist and see each other over multiple PCI domains.  This
         basically means that AMD node ids can be more than 8 now and the code
         handling this is taught to incorporate PCI domain into those IDs.
      
       - Support for the Goldfish virtual Android emulator, by Jun Nakajima,
         Intel, Google, et al.
      
       - Misc fixlets.
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Add TS-5500 platform support
        x86/srat: Simplify memory affinity init error handling
        x86/apb/timer: Remove unnecessary "if"
        goldfish: platform device for x86
        amd64_edac: Fix type usage in NB IDs and memory ranges
        amd64_edac: Fix PCI function lookup
        x86, AMD, NB: Use u16 for northbridge IDs in amd_get_nb_id
        x86, AMD, NB: Add multi-domain support
      f98982ce
    • Linus Torvalds's avatar
      Merge branch 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 29d50523
      Linus Torvalds authored
      Pull x86/hyperv changes from Ingo Molnar:
       "The biggest change is support for Windows 8's improved hypervisor
        interrupt model on the Linux Hyper-V guest subsystem code side.
      
        Smallish fixes otherwise."
      
      * 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, hyperv: HYPERV depends on X86_LOCAL_APIC
        X86: Handle Hyper-V vmbus interrupts as special hypervisor interrupts
        X86: Add a check to catch Xen emulation of Hyper-V
        x86: Hyper-V: register clocksource only if its advertised
      29d50523
    • Linus Torvalds's avatar
      Merge branch 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 026f149c
      Linus Torvalds authored
      Pull x86/debug changes from Ingo Molnar:
       "Two init annotations and a built-in memtest speedup"
      
      * 'x86-debug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/memtest: Shorten time for tests
        x86: Convert a few mistaken __cpuinit annotations to __init
        x86/EFI: Properly init-annotate BGRT code
      026f149c
    • David S. Miller's avatar
      Merge branch 'for-davem' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-next · c6b53807
      David S. Miller authored
      John W. Linville says:
      
      ====================
      One last batch of stragglers intended for 3.9...
      
      For the iwlwifi pull, Johannes says:
      
      "I hadn't expected to ask you to pull iwlwifi-next again, but I have a
      number of fixes most of which I'd also send in after rc1, so here it is.
      
      The first commit is a merge error between mac80211-next and
      iwlwifi-next; in addition I have fixes for P2P scanning and MVM driver
      MAC (virtual interface) management from Ilan, a CT-kill (critical
      temperature) fix from Eytan, and myself fixed three different little but
      annoying bugs in the MVM driver.
      
      The only ones I might not send for -rc1 are Emmanuel's debug patch, but
      OTOH it should help greatly if there are any issues, and my own time
      event debugging patch that I used to find the race condition but we
      decided to keep it for the future."
      
      For the mac80211 pull, Johannes says:
      
      "Like iwlwifi-next, this would almost be suitable for rc1.
      
      I have a fix for station management on non-TDLS drivers, a CAB queue
      crash fix for mesh, a fix for an annoying (but harmless) warning, a
      tracing fix and a documentation fix. Other than that, only a few mesh
      cleanups."
      
      Along with that is a fix for memory corruption in rtlwifi, an
      orinoco_usb fix to avoid allocating a DMA buffer on the stack, an a
      hostap fix to return -ENOMEM instead of -1 after a memory allocation
      failure.  The remaining bits implement 802.11ac support for the mwifiex
      driver -- I think that is still worth getting into 3.9.
      
      Please let me know if there are problems!
      ====================
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      c6b53807