1. 04 Jul, 2013 1 commit
    • Viresh Kumar's avatar
      cpufreq: Fix serialization of frequency transitions · 266c13d7
      Viresh Kumar authored
      Commit 7c30ed ("cpufreq: make sure frequency transitions are serialized")
      interacts poorly with systems that have a single core freqency for all
      cores.  On such systems we have a single policy for all cores with
      several CPUs.  When we do a frequency transition the governor calls the
      pre and post change notifiers which causes cpufreq_notify_transition()
      per CPU.  Since the policy is the same for all of them all CPUs after
      the first and the warnings added are generated by checking a per-policy
      flag the warnings will be triggered for all cores after the first.
      
      Fix this by allowing notifier to be called for n times. Where n is the number of
      cpus in policy->cpus.
      Reported-and-tested-by: default avatarMark Brown <broonie@linaro.org>
      Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      266c13d7
  2. 03 Jul, 2013 31 commits
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-3.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · f991fae5
      Linus Torvalds authored
      Pull power management and ACPI updates from Rafael Wysocki:
       "This time the total number of ACPI commits is slightly greater than
        the number of cpufreq commits, but Viresh Kumar (who works on cpufreq)
        remains the most active patch submitter.
      
        To me, the most significant change is the addition of offline/online
        device operations to the driver core (with the Greg's blessing) and
        the related modifications of the ACPI core hotplug code.  Next are the
        freezer updates from Colin Cross that should make the freezing of
        tasks a bit less heavy weight.
      
        We also have a couple of regression fixes, a number of fixes for
        issues that have not been identified as regressions, two new drivers
        and a bunch of cleanups all over.
      
        Highlights:
      
         - Hotplug changes to support graceful hot-removal failures.
      
           It sometimes is necessary to fail device hot-removal operations
           gracefully if they cannot be carried out completely.  For example,
           if memory from a memory module being hot-removed has been allocated
           for the kernel's own use and cannot be moved elsewhere, it's
           desirable to fail the hot-removal operation in a graceful way
           rather than to crash the kernel, but currenty a success or a kernel
           crash are the only possible outcomes of an attempted memory
           hot-removal.  Needless to say, that is not a very attractive
           alternative and it had to be addressed.
      
           However, in order to make it work for memory, I first had to make
           it work for CPUs and for this purpose I needed to modify the ACPI
           processor driver.  It's been split into two parts, a resident one
           handling the low-level initialization/cleanup and a modular one
           playing the actual driver's role (but it binds to the CPU system
           device objects rather than to the ACPI device objects representing
           processors).  That's been sort of like a live brain surgery on a
           patient who's riding a bike.
      
           So this is a little scary, but since we found and fixed a couple of
           regressions it caused to happen during the early linux-next testing
           (a month ago), nobody has complained.
      
           As a bonus we remove some duplicated ACPI hotplug code, because the
           ACPI-based CPU hotplug is now going to use the common ACPI hotplug
           code.
      
         - Lighter weight freezing of tasks.
      
           These changes from Colin Cross and Mandeep Singh Baines are
           targeted at making the freezing of tasks a bit less heavy weight
           operation.  They reduce the number of tasks woken up every time
           during the freezing, by using the observation that the freezer
           simply doesn't need to wake up some of them and wait for them all
           to call refrigerator().  The time needed for the freezer to decide
           to report a failure is reduced too.
      
           Also reintroduced is the check causing a lockdep warining to
           trigger when try_to_freeze() is called with locks held (which is
           generally unsafe and shouldn't happen).
      
         - cpufreq updates
      
           First off, a commit from Srivatsa S Bhat fixes a resume regression
           introduced during the 3.10 cycle causing some cpufreq sysfs
           attributes to return wrong values to user space after resume.  The
           fix is kind of fresh, but also it's pretty obvious once Srivatsa
           has identified the root cause.
      
           Second, we have a new freqdomain_cpus sysfs attribute for the
           acpi-cpufreq driver to provide information previously available via
           related_cpus.  From Lan Tianyu.
      
           Finally, we fix a number of issues, mostly related to the
           CPUFREQ_POSTCHANGE notifier and cpufreq Kconfig options and clean
           up some code.  The majority of changes from Viresh Kumar with bits
           from Jacob Shin, Heiko Stübner, Xiaoguang Chen, Ezequiel Garcia,
           Arnd Bergmann, and Tang Yuantian.
      
         - ACPICA update
      
           A usual bunch of updates from the ACPICA upstream.
      
           During the 3.4 cycle we introduced support for ACPI 5 extended
           sleep registers, but they are only supposed to be used if the
           HW-reduced mode bit is set in the FADT flags and the code attempted
           to use them without checking that bit.  That caused suspend/resume
           regressions to happen on some systems.  Fix from Lv Zheng causes
           those registers to be used only if the HW-reduced mode bit is set.
      
           Apart from this some other ACPICA bugs are fixed and code cleanups
           are made by Bob Moore, Tomasz Nowicki, Lv Zheng, Chao Guan, and
           Zhang Rui.
      
         - cpuidle updates
      
           New driver for Xilinx Zynq processors is added by Michal Simek.
      
           Multidriver support simplification, addition of some missing
           kerneldoc comments and Kconfig-related fixes come from Daniel
           Lezcano.
      
         - ACPI power management updates
      
           Changes to make suspend/resume work correctly in Xen guests from
           Konrad Rzeszutek Wilk, sparse warning fix from Fengguang Wu and
           cleanups and fixes of the ACPI device power state selection
           routine.
      
         - ACPI documentation updates
      
           Some previously missing pieces of ACPI documentation are added by
           Lv Zheng and Aaron Lu (hopefully, that will help people to
           uderstand how the ACPI subsystem works) and one outdated doc is
           updated by Hanjun Guo.
      
         - Assorted ACPI updates
      
           We finally nailed down the IA-64 issue that was the reason for
           reverting commit 9f29ab11 ("ACPI / scan: do not match drivers
           against objects having scan handlers"), so we can fix it and move
           the ACPI scan handler check added to the ACPI video driver back to
           the core.
      
           A mechanism for adding CMOS RTC address space handlers is
           introduced by Lan Tianyu to allow some EC-related breakage to be
           fixed on some systems.
      
           A spec-compliant implementation of acpi_os_get_timer() is added by
           Mika Westerberg.
      
           The evaluation of _STA is added to do_acpi_find_child() to avoid
           situations in which a pointer to a disabled device object is
           returned instead of an enabled one with the same _ADR value.  From
           Jeff Wu.
      
           Intel BayTrail PCH (Platform Controller Hub) support is added to
           the ACPI driver for Intel Low-Power Subsystems (LPSS) and that
           driver is modified to work around a couple of known BIOS issues.
           Changes from Mika Westerberg and Heikki Krogerus.
      
           The EC driver is fixed by Vasiliy Kulikov to use get_user() and
           put_user() instead of dereferencing user space pointers blindly.
      
           Code cleanups are made by Bjorn Helgaas, Nicholas Mazzuca and Toshi
           Kani.
      
         - Assorted power management updates
      
           The "runtime idle" helper routine is changed to take the return
           values of the callbacks executed by it into account and to call
           rpm_suspend() if they return 0, which allows us to reduce the
           overall code bloat a bit (by dropping some code that's not
           necessary any more after that modification).
      
           The runtime PM documentation is updated by Alan Stern (to reflect
           the "runtime idle" behavior change).
      
           New trace points for PM QoS are added by Sahara
           (<keun-o.park@windriver.com>).
      
           PM QoS documentation is updated by Lan Tianyu.
      
           Code cleanups are made and minor issues are addressed by Bernie
           Thompson, Bjorn Helgaas, Julius Werner, and Shuah Khan.
      
         - devfreq updates
      
           New driver for the Exynos5-bus device from Abhilash Kesavan.
      
           Minor cleanups, fixes and MAINTAINERS update from MyungJoo Ham,
           Abhilash Kesavan, Paul Bolle, Rajagopal Venkat, and Wei Yongjun.
      
         - OMAP power management updates
      
           Adaptive Voltage Scaling (AVS) SmartReflex voltage control driver
           updates from Andrii Tseglytskyi and Nishanth Menon."
      
      * tag 'pm+acpi-3.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (162 commits)
        cpufreq: Fix cpufreq regression after suspend/resume
        ACPI / PM: Fix possible NULL pointer deref in acpi_pm_device_sleep_state()
        PM / Sleep: Warn about system time after resume with pm_trace
        cpufreq: don't leave stale policy pointer in cdbs->cur_policy
        acpi-cpufreq: Add new sysfs attribute freqdomain_cpus
        cpufreq: make sure frequency transitions are serialized
        ACPI: implement acpi_os_get_timer() according the spec
        ACPI / EC: Add HP Folio 13 to ec_dmi_table in order to skip DSDT scan
        ACPI: Add CMOS RTC Operation Region handler support
        ACPI / processor: Drop unused variable from processor_perflib.c
        cpufreq: tegra: call CPUFREQ_POSTCHANGE notfier in error cases
        cpufreq: s3c64xx: call CPUFREQ_POSTCHANGE notfier in error cases
        cpufreq: omap: call CPUFREQ_POSTCHANGE notfier in error cases
        cpufreq: imx6q: call CPUFREQ_POSTCHANGE notfier in error cases
        cpufreq: exynos: call CPUFREQ_POSTCHANGE notfier in error cases
        cpufreq: dbx500: call CPUFREQ_POSTCHANGE notfier in error cases
        cpufreq: davinci: call CPUFREQ_POSTCHANGE notfier in error cases
        cpufreq: arm-big-little: call CPUFREQ_POSTCHANGE notfier in error cases
        cpufreq: powernow-k8: call CPUFREQ_POSTCHANGE notfier in error cases
        cpufreq: pcc: call CPUFREQ_POSTCHANGE notfier in error cases
        ...
      f991fae5
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6 · d4141531
      Linus Torvalds authored
      Pull cifs updates from Steve French:
       "Various CIFS/SMB2/SMB3 updates for 3.11.  Includes bug fixes - SMB3
        support should be much more stable with key DFS fix and also signing
        possible now (although is more work to do to get SMB3 signing working
        well with multiuser).
      
        Mounts using the new SMB 3.02 dialect can now be done (specify
        "vers=3.02" on mount) against the most current Microsoft systems.
      
        Also includes a big cleanup of the cifs/smb2/smb3 authentication code
        from Jeff which fixes some long standing problems with the way allowed
        authentication flavors and signing are configured.
      
        Some followon patches later in the cycle will clean up allocation of
        structures for the various security mechanisms depending on what
        dialect is chosen (reduces memory usage a little) and to add support
        for the secure negotiate fsctl (for smb3) which prevents downgrade
        attacks."
      
      * 'for-next' of git://git.samba.org/sfrench/cifs-2.6: (39 commits)
        cifs: fill TRANS2_QUERY_FILE_INFO ByteCount fields
        cifs: fix SMB2 signing enablement in cifs_enable_signing
        [CIFS] Fix build warning
        [CIFS] SMB3 Signing enablement
        [CIFS] Do not set DFS flag on SMB2 open
        [CIFS] fix static checker warning
        cifs: try to handle the MUST SecurityFlags sanely
        When server doesn't provide SecurityBuffer on SMB2Negotiate pick default
        Handle big endianness in NTLM (ntlmv2) authentication
        revalidate directories instiantiated via FIND_* in order to handle DFS referrals
        SMB2 FSCTL and IOCTL worker function
        Charge at least one credit, if server says that it supports multicredit
        Remove typo
        Some missing share flags
        cifs: using strlcpy instead of strncpy
        Update headers to update various SMB3 ioctl definitions
        Update cifs version number
        Add ability to dipslay SMB3 share flags and capabilities for debugging
        Add some missing SMB3 and SMB3.02 flags
        Add SMB3.02 dialect support
        ...
      d4141531
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security · f39d420f
      Linus Torvalds authored
      Pull security subsystem updates from James Morris:
       "In this update, Smack learns to love IPv6 and to mount a filesystem
        with a transmutable hierarchy (i.e.  security labels are inherited
        from parent directory upon creation rather than creating process).
      
        The rest of the changes are maintenance"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security: (37 commits)
        tpm/tpm_i2c_infineon: Remove unused header file
        tpm: tpm_i2c_infinion: Don't modify i2c_client->driver
        evm: audit integrity metadata failures
        integrity: move integrity_audit_msg()
        evm: calculate HMAC after initializing posix acl on tmpfs
        maintainers:  add Dmitry Kasatkin
        Smack: Fix the bug smackcipso can't set CIPSO correctly
        Smack: Fix possible NULL pointer dereference at smk_netlbl_mls()
        Smack: Add smkfstransmute mount option
        Smack: Improve access check performance
        Smack: Local IPv6 port based controls
        tpm: fix regression caused by section type conflict of tpm_dev_release() in ppc builds
        maintainers: Remove Kent from maintainers
        tpm: move TPM_DIGEST_SIZE defintion
        tpm_tis: missing platform_driver_unregister() on error in init_tis()
        security: clarify cap_inode_getsecctx description
        apparmor: no need to delay vfree()
        apparmor: fix fully qualified name parsing
        apparmor: fix setprocattr arg processing for onexec
        apparmor: localize getting the security context to a few macros
        ...
      f39d420f
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · fe489bf4
      Linus Torvalds authored
      Pull KVM fixes from Paolo Bonzini:
       "On the x86 side, there are some optimizations and documentation
        updates.  The big ARM/KVM change for 3.11, support for AArch64, will
        come through Catalin Marinas's tree.  s390 and PPC have misc cleanups
        and bugfixes"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (87 commits)
        KVM: PPC: Ignore PIR writes
        KVM: PPC: Book3S PR: Invalidate SLB entries properly
        KVM: PPC: Book3S PR: Allow guest to use 1TB segments
        KVM: PPC: Book3S PR: Don't keep scanning HPTEG after we find a match
        KVM: PPC: Book3S PR: Fix invalidation of SLB entry 0 on guest entry
        KVM: PPC: Book3S PR: Fix proto-VSID calculations
        KVM: PPC: Guard doorbell exception with CONFIG_PPC_DOORBELL
        KVM: Fix RTC interrupt coalescing tracking
        kvm: Add a tracepoint write_tsc_offset
        KVM: MMU: Inform users of mmio generation wraparound
        KVM: MMU: document fast invalidate all mmio sptes
        KVM: MMU: document fast invalidate all pages
        KVM: MMU: document fast page fault
        KVM: MMU: document mmio page fault
        KVM: MMU: document write_flooding_count
        KVM: MMU: document clear_spte_count
        KVM: MMU: drop kvm_mmu_zap_mmio_sptes
        KVM: MMU: init kvm generation close to mmio wrap-around value
        KVM: MMU: add tracepoint for check_mmio_spte
        KVM: MMU: fast invalidate all mmio sptes
        ...
      fe489bf4
    • Linus Torvalds's avatar
      Merge tag 'stable/for-linus-3.11-rc0-tag-two' of... · 3e34131a
      Linus Torvalds authored
      Merge tag 'stable/for-linus-3.11-rc0-tag-two' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen
      
      Pull Xen bugfixes from Konrad Rzeszutek Wilk:
       - Fix memory leak when CPU hotplugging.
       - Compile bugs with various #ifdefs
       - Fix state changes in Xen PCI front not dealing well with new
         toolstack.
       - Cleanups in code (use pr_*, fix 80 characters splits, etc)
       - Long standing bug in double-reporting the steal time
      
      * tag 'stable/for-linus-3.11-rc0-tag-two' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/xen:
        xen/time: remove blocked time accounting from xen "clockchip"
        xen: Convert printks to pr_<level>
        xen: ifdef CONFIG_HIBERNATE_CALLBACKS xen_*_suspend
        xen/pcifront: Deal with toolstack missing 'XenbusStateClosing' state.
        xen/time: Free onlined per-cpu data structure if we want to online it again.
        xen/time: Check that the per_cpu data structure has data before freeing.
        xen/time: Don't leak interrupt name when offlining.
        xen/time: Encapsulate the struct clock_event_device in another structure.
        xen/spinlock: Don't leak interrupt name when offlining.
        xen/smp: Don't leak interrupt name when offlining.
        xen/smp: Set the per-cpu IRQ number to a valid default.
        xen/smp: Introduce a common structure to contain the IRQ name and interrupt line.
        xen/smp: Coalesce the free_irq calls in one function.
        xen-pciback: fix error return code in pcistub_irq_handler_switch()
      3e34131a
    • Linus Torvalds's avatar
      Merge tag 'edac_for_3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · f3acb96f
      Linus Torvalds authored
      Pull AMD EDAC update from Borislav Petkov:
       "Add MCE signatures for family 0x15, models 30-3f"
      
      * tag 'edac_for_3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC, MCE, AMD: Add an MCE signature for new Fam15h models
        EDAC: Replace strict_strtoul() with kstrtoul()
      f3acb96f
    • Linus Torvalds's avatar
      Merge tags 'modules-next-for-linus' and 'virtio-next-for-linus' of... · baa6f820
      Linus Torvalds authored
      Merge tags 'modules-next-for-linus' and 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux
      
      Pull trivial module and virtio fixes from Rusty Russell.
      
      Apparently these were meant for 3.10, but came in after the release.
      
      * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        modpost.c: Add .text.unlikely to TEXT_SECTIONS
      
      * tag 'virtio-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        virtio: remove virtqueue_add_buf().
        lguest: rename i386_head.S
        virtio_blk: Add missing 'static' qualifiers
        virtio: console: Add emergency writeonly register to config space
        virtio_pci: better macro exported in uapi
      baa6f820
    • Linus Torvalds's avatar
      Merge tag 'regulator-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 76f7a102
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "Very quiet release here, as well as the usual driver specific updates
        only a couple of new things:
      
         - New drivers for TI ABB LDOs and MAX77693 PMICs
         - Support for enabling bypass mode support via device tree"
      
      * tag 'regulator-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (23 commits)
        regulator: max77693: Remove NULL test for rmatch[i].init_data
        regulator: max77693: Fix trivial typo
        regulator: ab8500-ext: Staticize local symbols
        regulator: max77693: Add max77693 regualtor driver.
        regulator: max8973: fix a typo in documentation
        regulator: max8973: initial DT support
        regulators: max8973: fix multiple instance support
        regulator: of: Added a property to indicate bypass mode support
        regulator: ti-abb: Convert to use devm_ioremap_resource
        regulator: tps62360: Fix crash in i2c_driver .probe
        regulator: ab8500: Provide supply names for the AUX regulators
        regulator: ab8500-ext: Enable for Device Tree
        regulator: ab8500-ext: Register as a device in its own right
        regulator: ab8500-ext: Provide a set_voltage call-back operation
        regulator: ab8500: Ensure AB8500 external registers are probed first
        regulator: core: add regulator_get_linear_step()
        regulator: lp397x: use devm_kzalloc() to make cleanup paths simpler
        regulator: lp872x: support the device tree feature
        regulator: Remove unnecessary include of linux/delay.h from regulator drivers
        regulator: isl6271a: Use NULL instead of 0
        ...
      76f7a102
    • Linus Torvalds's avatar
      Merge tag 'clk-for-linus-3.11' of git://git.linaro.org/people/mturquette/linux · 92295f63
      Linus Torvalds authored
      Pull clock framework updates from Mike Turquette:
       "The common clock framework changes for 3.11 include new clock drivers
        across several different platforms and architectures, fixes to
        existing drivers, a MAINTAINERS file fix and improvements to the basic
        clock types that allow them to be of use to more platforms than before.
      
        Only a few fixes to the core framework are included with most all of
        the changes landing in the various clock drivers themselves."
      
      * tag 'clk-for-linus-3.11' of git://git.linaro.org/people/mturquette/linux: (55 commits)
        clk: tegra: fix ifdef for tegra_periph_reset_assert inline
        clk: tegra: provide tegra_periph_reset_assert alternative
        clk: exynos4: Fix clock aliases for cpufreq related clocks
        clk: samsung: Add MUX_FA macro to pass flag and alias
        clk: add support for Rockchip gate clocks
        clk: vexpress: Make the clock drivers directly available for arm64
        clk: vexpress: Use full node name to identify individual clocks
        clk: tegra: T114: add DFLL DVCO reset control
        clk: tegra: T114: add DFLL source clocks
        clk: tegra: T114: add FCPU clock shaper programming, needed by the DFLL
        clk: gate: add CLK_GATE_HIWORD_MASK
        clk: divider: add CLK_DIVIDER_HIWORD_MASK flag
        clk: mux: add CLK_MUX_HIWORD_MASK
        clk: Always notify whole subtree when reparenting
        MAINTAINERS: make drivers/clk entry match subdirs
        clk: honor CLK_GET_RATE_NOCACHE in clk_set_rate
        clk: use clk_get_rate() for debugfs
        clk: tegra: Use override bits when needed
        clk: tegra: override bits for Tegra30 PLLM
        clk: tegra: override bits for Tegra114 PLLM
        ...
      92295f63
    • Linus Torvalds's avatar
      Merge tag 'spi-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 750b2d7b
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "A fairly quiet release for the SPI subsystem, the standout changes
        being:
      
         - Core support for implementing bits per word constraints implemented
           by Stephen Warren, factoring some code out of drivers.
      
         - Addition of polling mode support for the s3c64xx driver as some
           newer Exynos systems have taken the unusual step of removing
           interrupt support.
      
         - Use of the in-IP FIFO and generic dmaengine support for the OMAP2
           driver, providing improved performance.
      
         - Conversion of the mpc512x driver to use the core message queue
           infrastructure.
      
        The nicest thing being that all the factoring out into common code
        leads to a negative diffstat overall."
      
      * tag 'spi-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (42 commits)
        spi/s3c64xx: Rely on the compiler eliminating the OF ID table
        spi: s3c64xx: Added support for exynos5440 spi
        spi: s3c64xx: Added provision for dedicated cs pin
        spi: omap2-mcspi: add generic DMA request support to the DT binding
        spi: omap2-mcspi: convert to dma_request_slave_channel_compat()
        spi/s3c64xx: Make wait_for_timeout() function name less generic
        spi: s3c64xx: added support for polling mode
        spi: omap2-mcspi: Add FIFO buffer support
        spi: omap2-mcspi: Move bytes per word calculation to the function
        spi: spi-xilinx: cleanup a check in xilinx_spi_txrx_bufs()
        spi: spi-nuc900: Remove redundant platform_set_drvdata()
        spi: spi-fsl-lib: Make mpc8xxx_spi_work static
        spi: spi-topcliff-pch: Fix sparse warnings
        spi: spi-xilinx: Remove redundant platform_set_drvdata()
        spi: spi-xilinx: Add run run-time endian detection
        spi: mpc512x: use the SPI subsystem's message queue
        spi: mpc512x: improve throughput in the RX/TX func
        spi: mpc512x: minor prep before feature change
        spi: atmel: convert to dma_request_slave_channel_compat()
        spi: sirf: avoid uninitialized-use warning
        ...
      750b2d7b
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-for-v3.11-1' of... · 3dbde57a
      Linus Torvalds authored
      Merge tag 'pinctrl-for-v3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl
      
      Pull pin control changes from Linus Walleij:
      
       - A large slew of improvements of the Genric pin configuration support,
         and deployment in four different platforms: Rockchip, Super-H PFC,
         ABx500 and TZ1090.  Support BIAS_BUS_HOLD, get device tree parsing
         and debugfs support into shape.
      
       - We also have device tree support with generic naming conventions for
         the generic pin configuration.
      
       - Delete the unused and confusing direct pinconf API.  Now state
         transitions is *the* way to control pins and multiplexing.
      
       - New drivers for Rockchip, TZ1090, and TZ1090 PDC.
      
       - Two pin control states related to power management are now handled in
         the device core: "sleep" and "idle", removing a lot of boilerplate
         code in drivers.  We do not yet know if this is the final word for
         pin PM, but it already make things a lot easier to handle.
      
       - Handle sparse GPIO ranges passing a list of disparate pins, and
         utilize these in the new BayTrail (x86 Atom SoC) driver.
      
       - Make the sunxi (AllWinner) driver handle external interrupts.
      
       - Make it possible for pinctrl-single to handle the case where several
         pins are managed by a single register, and augment it to handle sleep
         modes.
      
       - Cleanups and improvements for the abx500 drivers.
      
       - Move Sirf pin control drivers to their own directory, support
         save/restore of context and add support for the SiRFatlas6 SoC.
      
       - PMU muxing for the Dove pinctrl driver.
      
       - Finalization and support for VF610 in the i.MX6 pinctrl driver.
      
       - Smoothen out various Exynos rough edges.
      
       - Generic cleanups of various kinds.
      
      * tag 'pinctrl-for-v3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (82 commits)
        pinctrl: vt8500: wmt: remove redundant dev_err call in wmt_pinctrl_probe()
        pinctrl: remove bindings for pinconf options needing more thought
        pinctrl: remove slew-rate parameter from tz1090
        pinctrl: set unit for debounce time pinconfig to usec
        pinctrl: more clarifications for generic pull configs
        pinctrl: rip out the direct pinconf API
        pinctrl-tz1090-pdc: add TZ1090 PDC pinctrl driver
        pinctrl-tz1090: add TZ1090 pinctrl driver
        pinctrl: samsung: Staticize drvdata_list
        pinctrl: rockchip: Add missing irq_gc_unlock() call before return error
        pinctrl: abx500: rework error path
        pinctrl: abx500: suppress hardcoded value
        pinctrl: abx500: factorize code
        pinctrl: abx500: fix abx500_gpio_get()
        pinctrl: abx500: fix abx500_pin_config_set()
        pinctrl: abx500: Add device tree support
        sh-pfc: Guard DT parsing with #ifdef CONFIG_OF
        pinctrl: add Intel BayTrail GPIO/pinctrl support
        pinctrl: fix pinconf_ops::pin_config_dbg_parse_modify kerneldoc
        pinctrl: Staticize local symbols
        ...
      
      Conflicts:
      	drivers/net/ethernet/ti/davinci_mdio.c
      	drivers/pinctrl/Makefile
      3dbde57a
    • Linus Torvalds's avatar
      Merge tag 'regmap-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · a6e6d863
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "A small but useful set of regmap updates this time around:
      
         - An abstraction for bitfields within a register map contributed by
           Srinivas Kandagatla, allowing drivers to cope more easily when
           hardware designers randomly move things about (mainly when talking
           to things like system controllers).
      
         - Changes from Lars-Peter Clausen to allow the MMIO regmap to be used
           from hard IRQ context.
      
         - Small improvements to the cache infrastructure and performance,
           including a default cache sync operation so now all regmaps can
           sync easily.
      
        There's also a pinctrl driver making use of the new bitfield API,
        merged here for dependency reasons.  There will be a simple add/add
        conflict with the pinctrl tree as a result."
      
      * tag 'regmap-v3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        pinctrl: st: Remove unnecessary use of of_match_ptr macro
        pinctrl: st: fix return value check
        pinctrl: st: Add pinctrl and pinconf support.
        regmap: debugfs: Suppress cache for partial register files
        regmap: Add regmap_field APIs
        regmap: core: Cache all registers by default when cache is enabled
        regmap: Implemented default cache sync operation
        regmap: Make regmap-mmio usable from atomic contexts
        regmap: regcache: Fixup locking for custom lock callbacks
        regmap: debugfs: Fix return from regmap_debugfs_get_dump_start
        regmap: debugfs: Don't mark lockdep as broken due to debugfs write
        regmap: rbtree: Use range information to allocate nodes
        regmap: rbtree: Factor out node allocation
        regmap: Make regmap_check_range_table() a public API
        regmap: Add support for discarding parts of the register cache
      a6e6d863
    • Linus Torvalds's avatar
      Merge tag 'gpio-for-v3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 60b5adff
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "Here is a batch of GPIO changes for v3.11.  I have agreed with Grant
        to take care of the pull requests for this development cycle.
      
        No special things are happening in the GPIO tree this time (nice with
        some calm) and I have been extra careful to do regression builds and
        it's well boiled in -next.
      
        GPIO changes for the v3.11 development cycle:
         - Incremental development for the Langwell (Atom SoC), Xilinx, ICH
           and RCAR drivers.
         - Cleanups from Jingoo Han, Axel Lin, Wei Jongjun, Wolfram Sang,
           Tushar Behera, Sachin Kamat and Yijing Wang"
      
      * tag 'gpio-for-v3.11-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (35 commits)
        Gpio/trivial: replace numeric with standard PM state macros
        gpiolib: remove warnning of allocations with IRQs disabled
        gpio: grgpio: Staticize local symbols
        gpio-langwell: remove Withney point support
        gpio: ich: add GPO_BLINK support
        gpio-sta2x11: Convert to use devm_ioremap_resource
        gpio_msm: Convert to use devm_ioremap_resource
        gpio-rcar: Use OUTDT when reading GPIOs configured as output
        gpio-sta2x11: Fix potential NULL pointer dereference
        gpio/omap: omap_gpio_init_context stub must be inline
        gpio: msm-v1: Remove errant __devinit to fix compile
        gpio: devres: make comments proper
        GPIO: xilinx: Enable driver for Xilinx zynq
        DT: Add documentation for gpio-xilinx
        GPIO: xilinx: Use BIT macro
        GPIO: xilinx: Use __raw_readl/__raw_writel IO functions
        GPIO: xilinx: Add support for dual channel
        GPIO: xilinx: Simplify driver probe function
        gpio: sx150x: convert to use devm_* functions
        MAINTAINERS: add linux-gpio mailing list
        ...
      60b5adff
    • Linus Torvalds's avatar
      Merge tag 'please-pull-mce-therm' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · a9f4a700
      Linus Torvalds authored
      Pull thermal power-limit update from Tony Luck:
       "Thermal limit warnings are too scary and cause unnecessary concern"
      
      * tag 'please-pull-mce-therm' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        x86 thermal: Disable power limit notification interrupt by default
        x86 thermal: Delete power-limit-notification console messages
      a9f4a700
    • Linus Torvalds's avatar
      Merge tag 'please-pull-root_bus_hotplug' of... · 37577505
      Linus Torvalds authored
      Merge tag 'please-pull-root_bus_hotplug' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux
      
      Pull ia64 IOH hotplug fixes from Tony Luck:
       "Series to fix IOH hotplug in ia64"
      
      * tag 'please-pull-root_bus_hotplug' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        PCI: Replace printks with appropriate pr_*()
        PCI/IA64: introduce probe_pci_root_info() to manage _CRS resource
        PCI/IA64: Add host bridge resource release for _CRS path
        PCI/IA64: fix memleak for create pci root bus fail
        PCI/IA64: Allocate pci_root_info instead of using stack
        PCI/IA64: embed pci hostbridge resources into pci_root_info
        PCI/IA64: SN: use normal resource instead of pci_window
        PCI/IA64: SN: remove sn_pci_window_fixup()
      37577505
    • Linus Torvalds's avatar
      Merge tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · 04bbc8e1
      Linus Torvalds authored
      Pull pstore update from Tony Luck:
       "Fixes for pstore for 3.11 merge window"
      
      * tag 'please-pull-pstore' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        efivars: If pstore_register fails, free unneeded pstore buffer
        acpi: Eliminate console msg if pstore.backend excludes ERST
        pstore: Return unique error if backend registration excluded by kernel param
        pstore: Fail to unlink if a driver has not defined pstore_erase
        pstore/ram: remove the power of buffer size limitation
        pstore/ram: avoid atomic accesses for ioremapped regions
        efi, pstore: Cocci spatch "memdup.spatch"
      04bbc8e1
    • Linus Torvalds's avatar
      Merge tag 'please-pull-misc-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · e39dfe52
      Linus Torvalds authored
      Pull misc ia64 updates from Tony Luck:
       "Miscellaneous ia64 changes for 3.11 merge window"
      
      * tag 'please-pull-misc-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        [IA64] Delete __cpuinit usage from all ia64 users
        [IA64] hpsim: Fix check for overlong simscsi prefix.
        [IA64] pci: Remove unused fallback_dev
        [IA64] perfmon: Use %*phD specifier to dump small buffers
        [IA64] Fix trap #45 handling
      e39dfe52
    • Linus Torvalds's avatar
      Merge branch 'exotic-arch-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · ab534857
      Linus Torvalds authored
      Pull "exotic" arch fixes from Geert Uytterhoeven:
       "This is a collection of several exotic architecture fixes, and a few
        other fixes for issues that were detected while doing the former"
      
      * 'exotic-arch-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k: (35 commits)
        lib: Move fonts from drivers/video/console/ to lib/fonts/
        console/font: Refactor font support code selection logic
        Revert "staging/solo6x10: depend on CONFIG_FONTS"
        input: cros_ec_keyb_clear_keyboard() depends on CONFIG_PM_SLEEP
        score: Wire up asm-generic/xor.h
        score: Remove unneeded <asm/dma-mapping.h>
        openrisc: Wire up asm-generic/xor.h
        h8300/boot: Use POSIX "$((..))" instead of bashism "$[...]"
        h8300: Mark H83002 and H83048 CPU support broken
        h8300: Switch h8300 to drivers/Kconfig
        h8300: Limit timer channel ranges in Kconfig
        h8300: Wire up asm-generic/xor.h
        h8300: Fill the system call table using a CALL() macro
        h8300: Fix <asm/tlb.h>
        h8300: Hardcode symbol prefixes in asm sources
        h8300: add missing definition for read_barries_depends()
        frv: head.S - Remove commented-out initialization code
        cris: Wire up asm-generic/vga.h
        parport: disable PC-style parallel port support on cris
        console: Disable VGA text console support on cris
        ...
      ab534857
    • Linus Torvalds's avatar
      Merge branch 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 0e97456a
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven.
      
      * 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k/q40: Enable PC parallel port in defconfig
        m68k/q40: Undefine insl/outsl before redefining them
        m68k/uaccess: Fix asm constraints for userspace access
        swim: Release memory region after incorrect return/goto
        m68k/irq: Vector ints need a valid interrupt handler
        m68k/math-emu: unsigned issue, 'unsigned long' will never be less than zero
        m68k: remove CONFIG_EARLY_PRINTK dependency on CONFIG_EMBEDDED, default to n
        m68k/sun3: remove inline marking of EXPORT_SYMBOL functions
        [SCSI] a3000: use module_platform_driver_probe()
        [SCSI] a4000t: use module_platform_driver_probe()
        m68k: Remove inline strcpy() and strcat() implementations
      0e97456a
    • Linus Torvalds's avatar
      Merge tag 'arc-v3.11-rc1-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc · 76d3f4c2
      Linus Torvalds authored
      Pull first batch of ARC changes from Vineet Gupta:
       "There's a second bunch to follow next week - which depends on commits
        on other trees (irq/net).  I'd have preferred the accompanying ARC
        change via respective trees, but it didn't workout somehow.
      
        Highlights of changes:
      
         - Continuation of ARC MM changes from 3.10 including
      
             zero page optimization
             Setting pagecache pages dirty by default
             Non executable stack by default
             Reducing dcache flushes for aliasing VIPT config
      
         - Long overdue rework of pt_regs machinery - removing the unused word
           gutters and adding ECR register to baseline (helps cleanup lot of
           low level code)
      
         - Support for ARC gcc 4.8
      
         - Few other preventive fixes, cosmetics, usage of Kconfig helper..
      
        The diffstat is larger than normal primarily because of arcregs.h
        header split as well as beautification of macros in entry.h"
      
      * tag 'arc-v3.11-rc1-part1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc: (32 commits)
        ARC: warn on improper stack unwind FDE entries
        arc: delete __cpuinit usage from all arc files
        ARC: [tlb-miss] Fix bug with CONFIG_ARC_DBG_TLB_MISS_COUNT
        ARC: [tlb-miss] Extraneous PTE bit testing/setting
        ARC: Adjustments for gcc 4.8
        ARC: Setup Vector Table Base in early boot
        ARC: Remove explicit passing around of ECR
        ARC: pt_regs update #5: Use real ECR for pt_regs->event vs. synth values
        ARC: stop using pt_regs->orig_r8
        ARC: pt_regs update #4: r25 saved/restored unconditionally
        ARC: K/U SP saved from one location in stack switching macro
        ARC: Entry Handler tweaks: Simplify branch for in-kernel preemption
        ARC: Entry Handler tweaks: Avoid hardcoded LIMMS for ECR values
        ARC: Increase readability of entry handlers
        ARC: pt_regs update #3: Remove unused gutter at start of callee_regs
        ARC: pt_regs update #2: Remove unused gutter at start of pt_regs
        ARC: pt_regs update #1: Align pt_regs end with end of kernel stack page
        ARC: pt_regs update #0: remove kernel stack canary
        ARC: [mm] Remove @write argument to do_page_fault()
        ARC: [mm] Make stack/heap Non-executable by default
        ...
      76d3f4c2
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · c1101cbc
      Linus Torvalds authored
      Pull s390 updates from Martin Schwidefsky:
       "This is the bulk of the s390 patches for the 3.11 merge window.
      
        Notable enhancements are: the block timeout patches for dasd from
        Hannes, and more work on the PCI support front.  In addition some
        cleanup and the usual bug fixing."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (42 commits)
        s390/dasd: Fail all requests when DASD_FLAG_ABORTIO is set
        s390/dasd: Add 'timeout' attribute
        block: check for timeout function in blk_rq_timed_out()
        block/dasd: detailed I/O errors
        s390/dasd: Reduce amount of messages for specific errors
        s390/dasd: Implement block timeout handling
        s390/dasd: process all requests in the device tasklet
        s390/dasd: make number of retries configurable
        s390/dasd: Clarify comment
        s390/hwsampler: Updated misleading member names in hws_data_entry
        s390/appldata_net_sum: do not use static data
        s390/appldata_mem: do not use static data
        s390/vmwatchdog: do not use static data
        s390/airq: simplify adapter interrupt code
        s390/pci: remove per device debug attribute
        s390/dma: remove gratuitous brackets
        s390/facility: decompose test_facility()
        s390/sclp: remove duplicated include from sclp_ctl.c
        s390/irq: store interrupt information in pt_regs
        s390/drivers: Cocci spatch "ptr_ret.spatch"
        ...
      c1101cbc
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64 · 1873e500
      Linus Torvalds authored
      Pull ARM64 updates from Catalin Marinas:
       "Main features:
         - KVM and Xen ports to AArch64
         - Hugetlbfs and transparent huge pages support for arm64
         - Applied Micro X-Gene Kconfig entry and dts file
         - Cache flushing improvements
      
        For arm64 huge pages support, there are x86 changes moving part of
        arch/x86/mm/hugetlbpage.c into mm/hugetlb.c to be re-used by arm64"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/cmarinas/linux-aarch64: (66 commits)
        arm64: Add initial DTS for APM X-Gene Storm SOC and APM Mustang board
        arm64: Add defines for APM ARMv8 implementation
        arm64: Enable APM X-Gene SOC family in the defconfig
        arm64: Add Kconfig option for APM X-Gene SOC family
        arm64/Makefile: provide vdso_install target
        ARM64: mm: THP support.
        ARM64: mm: Raise MAX_ORDER for 64KB pages and THP.
        ARM64: mm: HugeTLB support.
        ARM64: mm: Move PTE_PROT_NONE bit.
        ARM64: mm: Make PAGE_NONE pages read only and no-execute.
        ARM64: mm: Restore memblock limit when map_mem finished.
        mm: thp: Correct the HPAGE_PMD_ORDER check.
        x86: mm: Remove general hugetlb code from x86.
        mm: hugetlb: Copy general hugetlb code from x86 to mm.
        x86: mm: Remove x86 version of huge_pmd_share.
        mm: hugetlb: Copy huge_pmd_share from x86 to mm.
        arm64: KVM: document kernel object mappings in HYP
        arm64: KVM: MAINTAINERS update
        arm64: KVM: userspace API documentation
        arm64: KVM: enable initialization of a 32bit vcpu
        ...
      1873e500
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm · fb2af002
      Linus Torvalds authored
      Pull ARM updates from Russell King:
       "This contains the usual updates from other people (listed below) and
        the usual random muddle of miscellaneous ARM updates which cover some
        low priority bug fixes and performance improvements.
      
        I've started to put the pull request wording into the merge commits,
        which are:
      
         - NoMMU stuff:
      
           This includes the following series sent earlier to the list:
            - nommu-fixes
            - R7 Support
            - MPU support
      
           I've left out the ARCH_MULTIPLATFORM/!MMU stuff that Arnd and I
           were discussing today until we've reached a conclusion/that's had
           some more review.
      
           This is rebased (and re-tested) on your devel-stable branch because
           otherwise there were going to be conflicts with Uwe's V7M work now
           that you've merged that.  I've included the fix for limiting MPU to
           CPU_V7.
      
         - Huge page support
      
           These changes bring both HugeTLB support and Transparent HugePage
           (THP) support to ARM.  Only long descriptors (LPAE) are supported
           in this series.
      
           The code has been tested on an Arndale board (Exynos 5250).
      
         - LPAE updates
      
           Please pull these miscellaneous LPAE fixes I've been collecting for
           a while now for 3.11.  They've been tested and reviewed by quite a
           few people, and most of the patches are pretty trivial.  -- Will Deacon.
      
         - arch_timer cleanups
      
           Please pull these arch_timer cleanups I've been holding onto for a
           while.  They're the same as my last posting, but have been rebased
           to v3.10-rc3.
      
         - mpidr linearisation (multiprocessor id register - identifies which
           CPU number we are in the system)
      
           This patch series that implements MPIDR linearization through a
           simple hashing algorithm and updates current cpu_{suspend}/{resume}
           code to use the newly created hash structures to retrieve context
           pointers.  It represents a stepping stone for the implementation of
           power management code on forthcoming multi-cluster ARM systems.
      
           It has been tested on TC2 (dual cluster A15xA7 system), iMX6q,
           OMAP4 and Tegra, with processors hitting low-power states requiring
           warm-boot resume through the cpu_resume code path"
      
      * 'for-linus' of git://git.linaro.org/people/rmk/linux-arm: (77 commits)
        ARM: 7775/1: mm: Remove do_sect_fault from LPAE code
        ARM: 7777/1: Avoid extra calls to the C compiler
        ARM: 7774/1: Fix dtb dependency to use order-only prerequisites
        ARM: 7770/1: remove residual ARMv2 support from decompressor
        ARM: 7769/1: Cortex-A15: fix erratum 798181 implementation
        ARM: 7768/1: prevent risks of out-of-bound access in ASID allocator
        ARM: 7767/1: let the ASID allocator handle suspended animation
        ARM: 7766/1: versatile: don't mark pen as __INIT
        ARM: 7765/1: perf: Record the user-mode PC in the call chain.
        ARM: 7735/2: Preserve the user r/w register TPIDRURW on context switch and fork
        ARM: kernel: implement stack pointer save array through MPIDR hashing
        ARM: kernel: build MPIDR hash function data structure
        ARM: mpu: Ensure that MPU depends on CPU_V7
        ARM: mpu: protect the vectors page with an MPU region
        ARM: mpu: Allow enabling of the MPU via kconfig
        ARM: 7758/1: introduce config HAS_BANDGAP
        ARM: 7757/1: mm: don't flush icache in switch_mm with hardware broadcasting
        ARM: 7751/1: zImage: don't overwrite ourself with a page table
        ARM: 7749/1: spinlock: retry trylock operation if strex fails on free lock
        ARM: 7748/1: oabi: handle faults when loading swi instruction from userspace
        ...
      fb2af002
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 790eac56
      Linus Torvalds authored
      Pull second set of VFS changes from Al Viro:
       "Assorted f_pos race fixes, making do_splice_direct() safe to call with
        i_mutex on parent, O_TMPFILE support, Jeff's locks.c series,
        ->d_hash/->d_compare calling conventions changes from Linus, misc
        stuff all over the place."
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (63 commits)
        Document ->tmpfile()
        ext4: ->tmpfile() support
        vfs: export lseek_execute() to modules
        lseek_execute() doesn't need an inode passed to it
        block_dev: switch to fixed_size_llseek()
        cpqphp_sysfs: switch to fixed_size_llseek()
        tile-srom: switch to fixed_size_llseek()
        proc_powerpc: switch to fixed_size_llseek()
        ubi/cdev: switch to fixed_size_llseek()
        pci/proc: switch to fixed_size_llseek()
        isapnp: switch to fixed_size_llseek()
        lpfc: switch to fixed_size_llseek()
        locks: give the blocked_hash its own spinlock
        locks: add a new "lm_owner_key" lock operation
        locks: turn the blocked_list into a hashtable
        locks: convert fl_link to a hlist_node
        locks: avoid taking global lock if possible when waking up blocked waiters
        locks: protect most of the file_lock handling with i_lock
        locks: encapsulate the fl_link list handling
        locks: make "added" in __posix_lock_file a bool
        ...
      790eac56
    • Al Viro's avatar
      Document ->tmpfile() · 48bde8d3
      Al Viro authored
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      48bde8d3
    • Al Viro's avatar
      ext4: ->tmpfile() support · af51a2ac
      Al Viro authored
      very similar to ext3 counterpart...
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      af51a2ac
    • Jie Liu's avatar
      vfs: export lseek_execute() to modules · 46a1c2c7
      Jie Liu authored
      For those file systems(btrfs/ext4/ocfs2/tmpfs) that support
      SEEK_DATA/SEEK_HOLE functions, we end up handling the similar
      matter in lseek_execute() to update the current file offset
      to the desired offset if it is valid, ceph also does the
      simliar things at ceph_llseek().
      
      To reduce the duplications, this patch make lseek_execute()
      public accessible so that we can call it directly from the
      underlying file systems.
      
      Thanks Dave Chinner for this suggestion.
      
      [AV: call it vfs_setpos(), don't bring the removed 'inode' argument back]
      
      v2->v1:
      - Add kernel-doc comments for lseek_execute()
      - Call lseek_execute() in ceph->llseek()
      Signed-off-by: default avatarJie Liu <jeff.liu@oracle.com>
      Cc: Dave Chinner <dchinner@redhat.com>
      Cc: Al Viro <viro@zeniv.linux.org.uk>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Chris Mason <chris.mason@fusionio.com>
      Cc: Josef Bacik <jbacik@fusionio.com>
      Cc: Ben Myers <bpm@sgi.com>
      Cc: Ted Tso <tytso@mit.edu>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Mark Fasheh <mfasheh@suse.com>
      Cc: Joel Becker <jlbec@evilplan.org>
      Cc: Sage Weil <sage@inktank.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      46a1c2c7
    • Linus Torvalds's avatar
      Merge branch 'for-3.11-cpuset' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 0b0585c3
      Linus Torvalds authored
      Pull cpuset changes from Tejun Heo:
       "cpuset has always been rather odd about its configurations - a cgroup
        right after creation didn't allow any task executions before
        configuration, changing configuration in the parent modifies the
        descendants irreversibly and so on.  These behaviors are inherently
        nasty and almost hostile against sharing the hierarchy with other
        controllers making it very difficult to use in unified hierarchy.
      
        Li is currently in the process of updating the behaviors for
        __DEVEL__sane_behavior which is the bulk of changes in this pull
        request.  It isn't complete yet and the behaviors will change further
        but all changes are gated behind sane_behavior.  In the process, the
        rather hairy work-item punting which was used to work around the
        limitations of cgroup descendant iterator was simplified."
      
      * 'for-3.11-cpuset' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
        cpuset: rename @cont to @cgrp
        cpuset: fix to migrate mm correctly in a corner case
        cpuset: allow to move tasks to empty cpusets
        cpuset: allow to keep tasks in empty cpusets
        cpuset: introduce effective_{cpumask|nodemask}_cpuset()
        cpuset: record old_mems_allowed in struct cpuset
        cpuset: remove async hotplug propagation work
        cpuset: let hotplug propagation work wait for task attaching
        cpuset: re-structure update_cpumask() a bit
        cpuset: remove cpuset_test_cpumask()
        cpuset: remove unnecessary variable in cpuset_attach()
        cpuset: cleanup guarantee_online_{cpus|mems}()
        cpuset: remove redundant check in cpuset_cpus_allowed_fallback()
      0b0585c3
    • Linus Torvalds's avatar
      Merge branch 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · b028161f
      Linus Torvalds authored
      Pull cgroup changes from Tejun Heo:
       "This pull request contains the following changes.
      
         - cgroup_subsys_state (css) reference counting has been converted to
           percpu-ref.  css is what each resource controller embeds into its
           own control structure and perform reference count against.  It may
           be used in hot paths of various subsystems and is similar to module
           refcnt in that aspect.  For example, block-cgroup's css refcnting
           was showing up a lot in Mikulaus's device-mapper scalability work
           and this should alleviate it.
      
         - cgroup subtree iterator has been updated so that RCU read lock can
           be released after grabbing reference.  This allows simplifying its
           users which requires blocking which used to build iteration list
           under RCU read lock and then traverse it outside.  This pull
           request contains simplification of cgroup core and device-cgroup.
           A separate pull request will update cpuset.
      
         - Fixes for various bugs including corner race conditions and RCU
           usage bugs.
      
         - A lot of cleanups and some prepartory work for the planned unified
           hierarchy support."
      
      * 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (48 commits)
        cgroup: CGRP_ROOT_SUBSYS_BOUND should also be ignored when mounting an existing hierarchy
        cgroup: CGRP_ROOT_SUBSYS_BOUND should be ignored when comparing mount options
        cgroup: fix deadlock on cgroup_mutex via drop_parsed_module_refcounts()
        cgroup: always use RCU accessors for protected accesses
        cgroup: fix RCU accesses around task->cgroups
        cgroup: fix RCU accesses to task->cgroups
        cgroup: grab cgroup_mutex in drop_parsed_module_refcounts()
        cgroup: fix cgroupfs_root early destruction path
        cgroup: reserve ID 0 for dummy_root and 1 for unified hierarchy
        cgroup: implement for_each_[builtin_]subsys()
        cgroup: move init_css_set initialization inside cgroup_mutex
        cgroup: s/for_each_subsys()/for_each_root_subsys()/
        cgroup: clean up find_css_set() and friends
        cgroup: remove cgroup->actual_subsys_mask
        cgroup: prefix global variables with "cgroup_"
        cgroup: convert CFTYPE_* flags to enums
        cgroup: rename cont to cgrp
        cgroup: clean up cgroup_serial_nr_cursor
        cgroup: convert cgroup_cft_commit() to use cgroup_for_each_descendant_pre()
        cgroup: make serial_nr_cursor available throughout cgroup.c
        ...
      b028161f
    • Linus Torvalds's avatar
      Merge branch 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · f317ff9e
      Linus Torvalds authored
      Pull workqueue changes from Tejun Heo:
       "Surprisingly, Lai and I didn't break too many things implementing
        custom pools and stuff last time around and there aren't any follow-up
        changes necessary at this point.
      
        The only change in this pull request is Viresh's patches to make some
        per-cpu workqueues to behave as unbound workqueues dependent on a boot
        param whose default can be configured via a config option.  This leads
        to higher processing overhead / lower bandwidth as more work items are
        bounced across CPUs; however, it can lead to noticeable powersave in
        certain configurations - ~10% w/ idlish constant workload on a
        big.LITTLE configuration according to Viresh.
      
        This is because per-cpu workqueues interfere with how the scheduler
        perceives whether or not each CPU is idle by forcing pinned tasks on
        them, which makes the scheduler's power-aware scheduling decisions
        less effective.
      
        Its effectiveness is likely less pronounced on homogenous
        configurations and this type of optimization can probably be made
        automatic; however, the changes are pretty minimal and the affected
        workqueues are clearly marked, so it's an easy gain for some
        configurations for the time being with pretty unintrusive changes."
      
      * 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        fbcon: queue work on power efficient wq
        block: queue work on power efficient wq
        PHYLIB: queue work on system_power_efficient_wq
        workqueue: Add system wide power_efficient workqueues
        workqueues: Introduce new flag WQ_POWER_EFFICIENT for power oriented workqueues
      f317ff9e
    • Linus Torvalds's avatar
      Merge branch 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · 13cc5601
      Linus Torvalds authored
      Pull per-cpu changes from Tejun Heo:
       "This pull request contains Kent's per-cpu reference counter.  It has
        gone through several iterations since the last time and the dynamic
        allocation is gone.
      
        The usual usage is relatively straight-forward although async kill
        confirm interface, which is not used int most cases, is somewhat icky.
        There also are some interface concerns - e.g.  I'm not sure about
        passing in @relesae callback during init as that becomes funny when we
        later implement synchronous kill_and_drain - but nothing too serious
        and it's quite useable now.
      
        cgroup_subsys_state refcnting has already been converted and we should
        convert module refcnt (Kent?)"
      
      * 'for-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu-refcount: use RCU-sched insted of normal RCU
        percpu-refcount: implement percpu_tryget() along with percpu_ref_kill_and_confirm()
        percpu-refcount: implement percpu_ref_cancel_init()
        percpu-refcount: add __must_check to percpu_ref_init() and don't use ACCESS_ONCE() in percpu_ref_kill_rcu()
        percpu-refcount: cosmetic updates
        percpu-refcount: consistently use plain (non-sched) RCU
        percpu-refcount: Don't use silly cmpxchg()
        percpu: implement generic percpu refcounting
      13cc5601
  3. 02 Jul, 2013 8 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7c6809ff
      Linus Torvalds authored
      Pull x86 UV update from Ingo Molnar:
       "There's a single commit in this tree, which adds support for a new SGI
        UV GRU (Global Reference Unit - fast NUMA messaging ASIC) hardware
        feature to scale up and beyond: an optional distributed mode that will
        allow per-node address mapping of local GRU space, as opposed to
        mapping all GRU hardware to the same contiguous high space"
      
      * 'x86-uv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/UV: Add GRU distributed mode mappings
      7c6809ff
    • Linus Torvalds's avatar
      Merge branch 'x86-tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 96a3d998
      Linus Torvalds authored
      Pull x86 tracing updates from Ingo Molnar:
       "This tree adds IRQ vector tracepoints that are named after the handler
        and which output the vector #, based on a zero-overhead approach that
        relies on changing the IDT entries, by Seiji Aguchi.
      
        The new tracepoints look like this:
      
         # perf list | grep -i irq_vector
          irq_vectors:local_timer_entry                      [Tracepoint event]
          irq_vectors:local_timer_exit                       [Tracepoint event]
          irq_vectors:reschedule_entry                       [Tracepoint event]
          irq_vectors:reschedule_exit                        [Tracepoint event]
          irq_vectors:spurious_apic_entry                    [Tracepoint event]
          irq_vectors:spurious_apic_exit                     [Tracepoint event]
          irq_vectors:error_apic_entry                       [Tracepoint event]
          irq_vectors:error_apic_exit                        [Tracepoint event]
         [...]"
      
      * 'x86-tracing-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tracing: Add config option checking to the definitions of mce handlers
        trace,x86: Do not call local_irq_save() in load_current_idt()
        trace,x86: Move creation of irq tracepoints from apic.c to irq.c
        x86, trace: Add irq vector tracepoints
        x86: Rename variables for debugging
        x86, trace: Introduce entering/exiting_irq()
        tracing: Add DEFINE_EVENT_FN() macro
      96a3d998
    • Linus Torvalds's avatar
      Merge branch 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3045f94a
      Linus Torvalds authored
      Pull x86 RAS update from Ingo Molnar:
       "The changes in this tree are:
      
         - ACPI APEI (ACPI Platform Error Interface) improvements, by Chen
           Gong
         - misc MCE fixes/cleanups"
      
      * 'x86-ras-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce: Update MCE severity condition check
        mce: acpi/apei: Add comments to clarify usage of the various bitfields in the MCA subsystem
        ACPI/APEI: Update einj documentation for param1/param2
        ACPI/APEI: Add parameter check before error injection
        ACPI, APEI, EINJ: Fix error return code in einj_init()
        x86, mce: Fix "braodcast" typo
      3045f94a
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 52e8ad90
      Linus Torvalds authored
      Pull x86 platform updates from Ingo Molnar:
       "Two changes:
      
         - A Kconfig dependency fix/cleanup
      
         - Introduce the 'make kvmconfig' KVM configuration helper utility
           that turns the current .config into a KVM-bootable config.  Useful
           for debugging specific native kernel configs that have no KVM
           config options enabled on VM setups."
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/platform: Make X86_GOLDFISH depend on X86_EXTENDED_PLATFORM
        x86/platform: Add kvmconfig to the phony targets
        x86, platform, kvm, kconfig: Turn existing .config's into KVM-capable configs
      52e8ad90
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1982269a
      Linus Torvalds authored
      Pull x86 mm changes from Ingo Molnar:
       "Misc improvements:
      
         - Fix /proc/mtrr reporting
         - Fix ioremap printout
         - Remove the unused pvclock fixmap entry on 32-bit
         - misc cleanups"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/ioremap: Correct function name output
        x86: Fix /proc/mtrr with base/size more than 44bits
        ix86: Don't waste fixmap entries
        x86/mm: Drop unneeded include <asm/*pgtable, page*_types.h>
        x86_64: Correct phys_addr in cleanup_highmap comment
      1982269a
    • Linus Torvalds's avatar
      Merge branch 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fdd78889
      Linus Torvalds authored
      Pull x86 microcode loading update from Ingo Molnar:
       "Two main changes that improve microcode loading on AMD CPUs:
      
         - Add support for all-in-one binary microcode files that concatenate
           the microcode images of multiple processor families, by Jacob Shin
      
         - Add early microcode loading (embedded in the initrd) support, also
           by Jacob Shin"
      
      * 'x86-microcode-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, microcode, amd: Another early loading fixup
        x86, microcode, amd: Allow multiple families' bin files appended together
        x86, microcode, amd: Make find_ucode_in_initrd() __init
        x86, microcode, amd: Fix warnings and errors on with CONFIG_MICROCODE=m
        x86, microcode, amd: Early microcode patch loading support for AMD
        x86, microcode, amd: Refactor functions to prepare for early loading
        x86, microcode: Vendor abstract out save_microcode_in_initrd()
        x86, microcode, intel: Correct typo in printk
      fdd78889
    • Linus Torvalds's avatar
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d652df0b
      Linus Torvalds authored
      Pull x86 FPU changes from Ingo Molnar:
       "There are two bigger changes in this tree:
      
         - Add an [early-use-]safe static_cpu_has() variant and other
           robustness improvements, including the new X86_DEBUG_STATIC_CPU_HAS
           configurable debugging facility, motivated by recent obscure FPU
           code bugs, by Borislav Petkov
      
         - Reimplement FPU detection code in C and drop the old asm code, by
           Peter Anvin."
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, fpu: Use static_cpu_has_safe before alternatives
        x86: Add a static_cpu_has_safe variant
        x86: Sanity-check static_cpu_has usage
        x86, cpu: Add a synthetic, always true, cpu feature
        x86: Get rid of ->hard_math and all the FPU asm fu
      d652df0b
    • Linus Torvalds's avatar
      Merge branch 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4d6f843a
      Linus Torvalds authored
      Pull x86 EFI changes from Ingo Molnar:
       "Two fixes that should in principle increase robustness of our
        interaction with the EFI firmware, and a cleanup"
      
      * 'x86-efi-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86, efi: retry ExitBootServices() on failure
        efi: Convert runtime services function ptrs
        UEFI: Don't pass boot services regions to SetVirtualAddressMap()
      4d6f843a