13 Apr, 2014

2 commits

  • Pull llvm patches from Behan Webster:
    "These are some initial updates to support compiling the kernel with
    clang.

    These patches have been through the proper reviews to the best of my
    ability, and have been soaking in linux-next for a few weeks. These
    patches by themselves still do not completely allow clang to be used
    with the kernel code, but lay the foundation for other patches which
    are still under review.

    Several other of the LLVMLinux patches have been already added via
    maintainer trees"

    * tag 'llvmlinux-for-v3.15' of git://git.linuxfoundation.org/llvmlinux/kernel:
    x86: LLVMLinux: Fix "incomplete type const struct x86cpu_device_id"
    x86 kbuild: LLVMLinux: More cc-options added for clang
    x86, acpi: LLVMLinux: Remove nested functions from Thinkpad ACPI
    LLVMLinux: Add support for clang to compiler.h and new compiler-clang.h
    LLVMLinux: Remove warning about returning an uninitialized variable
    kbuild: LLVMLinux: Fix LINUX_COMPILER definition script for compilation with clang
    Documentation: LLVMLinux: Update Documentation/dontdiff
    kbuild: LLVMLinux: Adapt warnings for compilation with clang
    kbuild: LLVMLinux: Add Kbuild support for building kernel with Clang

    Linus Torvalds
     
  • Pull vfs updates from Al Viro:
    "The first vfs pile, with deep apologies for being very late in this
    window.

    Assorted cleanups and fixes, plus a large preparatory part of iov_iter
    work. There's a lot more of that, but it'll probably go into the next
    merge window - it *does* shape up nicely, removes a lot of
    boilerplate, gets rid of locking inconsistencie between aio_write and
    splice_write and I hope to get Kent's direct-io rewrite merged into
    the same queue, but some of the stuff after this point is having
    (mostly trivial) conflicts with the things already merged into
    mainline and with some I want more testing.

    This one passes LTP and xfstests without regressions, in addition to
    usual beating. BTW, readahead02 in ltp syscalls testsuite has started
    giving failures since "mm/readahead.c: fix readahead failure for
    memoryless NUMA nodes and limit readahead pages" - might be a false
    positive, might be a real regression..."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (63 commits)
    missing bits of "splice: fix racy pipe->buffers uses"
    cifs: fix the race in cifs_writev()
    ceph_sync_{,direct_}write: fix an oops on ceph_osdc_new_request() failure
    kill generic_file_buffered_write()
    ocfs2_file_aio_write(): switch to generic_perform_write()
    ceph_aio_write(): switch to generic_perform_write()
    xfs_file_buffered_aio_write(): switch to generic_perform_write()
    export generic_perform_write(), start getting rid of generic_file_buffer_write()
    generic_file_direct_write(): get rid of ppos argument
    btrfs_file_aio_write(): get rid of ppos
    kill the 5th argument of generic_file_buffered_write()
    kill the 4th argument of __generic_file_aio_write()
    lustre: don't open-code kernel_recvmsg()
    ocfs2: don't open-code kernel_recvmsg()
    drbd: don't open-code kernel_recvmsg()
    constify blk_rq_map_user_iov() and friends
    lustre: switch to kernel_sendmsg()
    ocfs2: don't open-code kernel_sendmsg()
    take iov_iter stuff to mm/iov_iter.c
    process_vm_access: tidy up a bit
    ...

    Linus Torvalds
     

12 Apr, 2014

2 commits

  • Pull spi fixes from Mark Brown:
    "A few driver specific fixes, the main one being the fix for handling
    of complete callbacks that are open coded in individual drivers to
    allow callers to omit the completion. As we move things into the core
    that sort of issue should become less and less common"

    * tag 'spi-v3.15-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi:
    spi: qup: Depend on ARCH_QCOM
    spi: efm32: Update binding document to make "efm32,location" property optional
    spi: omap2-mcspi: Convert to use devm_kcalloc
    spi: Always check complete callback before calling it

    Linus Torvalds
     
  • Pull more ACPI and power management fixes and updates from Rafael Wysocki:
    "This is PM and ACPI material that has emerged over the last two weeks
    and one fix for a CPU hotplug regression introduced by the recent CPU
    hotplug notifiers registration series.

    Included are intel_idle and turbostat updates from Len Brown (these
    have been in linux-next for quite some time), a new cpufreq driver for
    powernv (that might spend some more time in linux-next, but BenH was
    asking me so nicely to push it for 3.15 that I couldn't resist), some
    cpufreq fixes and cleanups (including fixes for some silly breakage in
    a couple of cpufreq drivers introduced during the 3.14 cycle),
    assorted ACPI cleanups, wakeup framework documentation fixes, a new
    sysfs attribute for cpuidle and a new command line argument for power
    domains diagnostics.

    Specifics:

    - Fix for a recently introduced CPU hotplug regression in ARM KVM
    from Ming Lei.

    - Fixes for breakage in the at32ap, loongson2_cpufreq, and unicore32
    cpufreq drivers introduced during the 3.14 cycle (-stable material)
    from Chen Gang and Viresh Kumar.

    - New powernv cpufreq driver from Vaidyanathan Srinivasan, with bits
    from Gautham R Shenoy and Srivatsa S Bhat.

    - Exynos cpufreq driver fix preventing it from being included into
    multiplatform builds that aren't supported by it from Sachin Kamat.

    - cpufreq cleanups related to the usage of the driver_data field in
    struct cpufreq_frequency_table from Viresh Kumar.

    - cpufreq ppc driver cleanup from Sachin Kamat.

    - Intel BayTrail support for intel_idle and ACPI idle from Len Brown.

    - Intel CPU model 54 (Atom N2000 series) support for intel_idle from
    Jan Kiszka.

    - intel_idle fix for Intel Ivy Town residency targets from Len Brown.

    - turbostat updates (Intel Broadwell support and output cleanups)
    from Len Brown.

    - New cpuidle sysfs attribute for exporting C-states' target
    residency information to user space from Daniel Lezcano.

    - New kernel command line argument to prevent power domains enabled
    by the bootloader from being turned off even if they are not in use
    (for diagnostics purposes) from Tushar Behera.

    - Fixes for wakeup sysfs attributes documentation from Geert
    Uytterhoeven.

    - New ACPI video blacklist entry for ThinkPad Helix from Stephen
    Chandler Paul.

    - Assorted ACPI cleanups and a Kconfig help update from Jonghwan
    Choi, Zhihui Zhang, Hanjun Guo"

    * tag 'pm+acpi-3.15-rc1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (28 commits)
    ACPI: Update the ACPI spec information in Kconfig
    arm, kvm: fix double lock on cpu_add_remove_lock
    cpuidle: sysfs: Export target residency information
    cpufreq: ppc: Remove duplicate inclusion of fsl_soc.h
    cpufreq: create another field .flags in cpufreq_frequency_table
    cpufreq: use kzalloc() to allocate memory for cpufreq_frequency_table
    cpufreq: don't print value of .driver_data from core
    cpufreq: ia64: don't set .driver_data to index
    cpufreq: powernv: Select CPUFreq related Kconfig options for powernv
    cpufreq: powernv: Use cpufreq_frequency_table.driver_data to store pstate ids
    cpufreq: powernv: cpufreq driver for powernv platform
    cpufreq: at32ap: don't declare local variable as static
    cpufreq: loongson2_cpufreq: don't declare local variable as static
    cpufreq: unicore32: fix typo issue for 'clk'
    cpufreq: exynos: Disable on multiplatform build
    PM / wakeup: Correct presence vs. emptiness of wakeup_* attributes
    PM / domains: Add pd_ignore_unused to keep power domains enabled
    ACPI / dock: Drop dock_device_ids[] table
    ACPI / video: Favor native backlight interface for ThinkPad Helix
    ACPI / thermal: Fix wrong variable usage in debug statement
    ...

    Linus Torvalds
     

11 Apr, 2014

2 commits

  • Pull sound fixes from Takashi Iwai:
    "Here is a bunch of small fixes that have been collected since the
    previous pull request. In addition to various misc fixes, the
    following are included:

    - HD-audio quirks for Dell, HP, Chromebook, and ALC28x codecs
    - HD-audio AMD HDMI regression fix
    - Continued PM support/fixes for ice1712 driver
    - Multiplatform fixes for ASoC samsung drivers
    - Addition of device id tables to a few ASoC drivers
    - Bit clock polarity config and error flag fixes in ASoC fsl_sai"

    * tag 'sound-fix-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (32 commits)
    ALSA: usb-audio: Suppress repetitive debug messages from retire_playback_urb()
    ALSA: hda - Make full_reset boolean
    ALSA: hda - add headset mic detect quirk for a Dell laptop
    sound: dmasound: use module_platform_driver_probe()
    ALSA: au1x00: use module_platform_driver()
    ALSA: hda - Use runtime helper to check active state.
    ALSA: ice1712: Fix boundary checks in PCM pointer ops
    ASoC: davinci-mcasp: Fix bit clock polarity settings
    ASoC: samsung: Fix build on multiplatform
    ASoC: fsl_sai: Fix Bit Clock Polarity configurations
    ALSA: hda - Do not assign streams in reverse order
    ALSA: hda/realtek - Add eapd shutup to ALC283
    ALSA: hda/realtek - Change model name alias for ChromeOS
    ASoC: da732x: Print correct major id
    ALSA: hda/realtek - Improve HP depop when system change power state on Chromebook
    ASoC: cs42l52: Fix mask for REVID
    sound/oss: Remove uncompilable DBG macro use
    ALSA: ice1712: Save/restore routing and rate registers
    ALSA: ice1712: restore AK4xxx volumes on resume
    ASoC: alc56(23|32): fix undefined return value of probing code
    ...

    Linus Torvalds
     
  • Pull LED updates from Bryan Wu:
    "This cycle we got:
    - new driver for leds-mc13783
    - bug fixes
    - code cleanup"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/cooloney/linux-leds:
    leds: make sure we unregister a trigger only once
    leds: leds-pwm: properly clean up after probe failure
    leds: clevo-mail: Make probe function __init
    leds-ot200: Fix dependencies
    leds-gpio: of: introduce MODULE_DEVICE_TABLE for module autoloading
    leds: clevo-mail: remove __initdata marker
    leds: leds-ss4200: remove __initdata marker
    leds: blinkm: remove unnecessary spaces
    leds: lp5562: remove unnecessary parentheses
    leds: leds-ss4200: remove DEFINE_PCI_DEVICE_TABLE macro
    leds: leds-s3c24xx: Trivial cleanup in header file
    drivers/leds: delete non-required instances of include
    leds: leds-gpio: add retain-state-suspended property
    leds: leds-mc13783: Add devicetree support
    leds: leds-mc13783: Remove unnecessary cleaning of registers on exit
    leds: leds-mc13783: Use proper "max_brightness" value fo LEDs
    leds: leds-mc13783: Use LED core PM functions
    leds: leds-mc13783: Add MC34708 LED support
    leds: Turn off led if blinking is disabled
    ledtrig-cpu: Handle CPU hot(un)plugging

    Linus Torvalds
     

10 Apr, 2014

3 commits

  • Pull slave-dmaengine updates from Vinod Koul:
    - New driver for Qcom bam dma
    - New driver for RCAR peri-peri
    - New driver for FSL eDMA
    - Various odd fixes and updates thru the subsystem

    * 'for-linus' of git://git.infradead.org/users/vkoul/slave-dma: (29 commits)
    dmaengine: add Qualcomm BAM dma driver
    shdma: add R-Car Audio DMAC peri peri driver
    dmaengine: sirf: enable generic dt binding for dma channels
    dma: omap-dma: Implement device_slave_caps callback
    dmaengine: qcom_bam_dma: Add device tree binding
    dma: dw: Add suspend and resume handling for PCI mode DW_DMAC.
    dma: dw: allocate memory in two stages in probe
    Add new line to test result strings produced in verbose mode
    dmaengine: pch_dma: use tasklet_kill in teardown
    dmaengine: at_hdmac: use tasklet_kill in teardown
    dma: cppi41: start tear down only if channel is busy
    usb: musb: musb_cppi41: Dont reprogram DMA if tear down is initiated
    dmaengine: s3c24xx-dma: make phy->irq signed for error handling
    dma: imx-dma: Add missing module owner field
    dma: imx-dma: Replace printk with dev_*
    dma: fsl-edma: fix static checker warning of NULL dereference
    dma: Remove comment about embedding dma_slave_config into custom structs
    dma: mmp_tdma: move to generic device tree binding
    dma: mmp_pdma: add IRQF_SHARED when request irq
    dma: edma: Fix memory leak in edma_prep_dma_cyclic()
    ...

    Linus Torvalds
     
  • Pull backlight changes from Lee Jones:
    - core: call put_device() instead of kfree()
    - gpio-backlight: add DT support
    - lm3639_bl driver: use managed resources

    * tag 'backlight-for-linus-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
    backlight: lm3639: Use devm_backlight_device_register()
    backlight: gpio-backlight: Add DT support
    backlight: core: Replace kfree with put_device

    Linus Torvalds
     
  • Clang has a few other kinds of derived files which shouldn't be added to a
    patch. Add them to the Documentation/dontdiff file to prevent this.

    Signed-off-by: Jan-Simon Möller
    Signed-off-by: Behan Webster
    Cc: PaX Team

    Jan-Simon Möller
     

09 Apr, 2014

5 commits

  • …e/sound into for-linus

    ASoC: Fixes for v3.15

    A smattering of device specific fixes, nothing stands out here except
    for the multiplatform fixes for Samsung and the device IDs being added
    by Stephen Warren - there's no real code changes from those and they
    give better robustness to the enumeration with DT.

    Takashi Iwai
     
  • Pull i2c updates from Wolfram Sang:
    "Here is the pull request from the i2c subsystem. It got a little
    delayed because I needed to wait for a dependency to be included
    (commit b424080a9e08: "reset: Add optional resets and stubs"). Plus,
    I had some email problems. All done now, the highlights are:

    - drivers can now deprecate their use of i2c classes. That shouldn't
    be used on embedded platforms anyhow and was often blindly
    copy&pasted. This mechanism gives users time to switch away and
    ultimately boot faster once the use of classes for those drivers is
    gone for good.

    - new drivers for QUP, Cadence, efm32

    - tracepoint support for I2C and SMBus

    - bigger cleanups for the mv64xxx, nomadik, and designware drivers

    And the usual bugfixes, cleanups, feature additions. Most stuff has
    been in linux-next for a while. Just some hot fixes and new drivers
    were added a bit more recently."

    * 'i2c/for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (63 commits)
    i2c: cadence: fix Kconfig dependency
    i2c: Add driver for Cadence I2C controller
    i2c: cadence: Document device tree bindings
    Documentation: i2c: improve section about flags mangling the protocol
    i2c: qup: use proper type fro clk_freq
    i2c: qup: off by ones in qup_i2c_probe()
    i2c: efm32: fix binding doc
    MAINTAINERS: update I2C web resources
    i2c: qup: New bus driver for the Qualcomm QUP I2C controller
    i2c: qup: Add device tree bindings information
    i2c: i2c-xiic: deprecate class based instantiation
    i2c: i2c-sirf: deprecate class based instantiation
    i2c: i2c-mv64xxx: deprecate class based instantiation
    i2c: i2c-designware-platdrv: deprecate class based instantiation
    i2c: i2c-davinci: deprecate class based instantiation
    i2c: i2c-bcm2835: deprecate class based instantiation
    i2c: mv64xxx: Fix reset controller handling
    i2c: omap: fix usage of IS_ERR_VALUE with pm_runtime_get_sync
    i2c: efm32: new bus driver
    i2c: exynos5: remove unnecessary cast of void pointer
    ...

    Linus Torvalds
     
  • Pull MMC updates from Chris Ball:
    "MMC highlights for 3.15:

    Core:
    - CONFIG_MMC_UNSAFE_RESUME=y is now default behavior
    - DT bindings for SDHCI UHS, eMMC HS200, high-speed DDR, at 1.8/1.2V
    - Add GPIO descriptor based slot-gpio card detect API

    Drivers:
    - dw_mmc: Refactor SOCFPGA support as a variant inside dw_mmc-pltfm.c
    - mmci: Support HW busy detection on ux500
    - omap: Support MMC_ERASE
    - omap_hsmmc: Support MMC_PM_KEEP_POWER, MMC_PM_WAKE_SDIO_IRQ, (a)cmd23
    - rtsx: Support pre-req/post-req async
    - sdhci: Add support for Realtek RTS5250 controllers
    - sdhci-acpi: Add support for 80860F16, fix 80860F14/SDIO card detect
    - sdhci-msm: Add new driver for Qualcomm SDHCI chipset support
    - sdhci-pxav3: Add support for Marvell Armada 380 and 385 SoCs"

    * tag 'mmc-updates-for-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc: (102 commits)
    mmc: sdhci-acpi: Intel SDIO has broken card detect
    mmc: sdhci-pxav3: add support for the Armada 38x SDHCI controller
    mmc: sdhci-msm: Add platform_execute_tuning implementation
    mmc: sdhci-msm: Initial support for Qualcomm chipsets
    mmc: sdhci-msm: Qualcomm SDHCI binding documentation
    sdhci: only reprogram retuning timer when flag is set
    mmc: rename ARCH_BCM to ARCH_BCM_MOBILE
    mmc: sdhci: Allow for irq being shared
    mmc: sdhci-acpi: Add device id 80860F16
    mmc: sdhci-acpi: Fix broken card detect for ACPI HID 80860F14
    mmc: slot-gpio: Add GPIO descriptor based CD GPIO API
    mmc: slot-gpio: Split out CD IRQ request into a separate function
    mmc: slot-gpio: Record GPIO descriptors instead of GPIO numbers
    Revert "dts: socfpga: Add support for SD/MMC on the SOCFPGA platform"
    mmc: sdhci-spear: use generic card detection gpio support
    mmc: sdhci-spear: remove support for power gpio
    mmc: sdhci-spear: simplify resource handling
    mmc: sdhci-spear: fix platform_data usage
    mmc: sdhci-spear: fix error handling paths for DT
    mmc: sdhci-bcm-kona: fix build errors when built-in
    ...

    Linus Torvalds
     
  • Pull second set of arm64 updates from Catalin Marinas:
    "A second pull request for this merging window, mainly with fixes and
    docs clarification:

    - Documentation clarification on CPU topology and booting
    requirements
    - Additional cache flushing during boot (needed in the presence of
    external caches or under virtualisation)
    - DMA range invalidation fix for non cache line aligned buffers
    - Build failure fix with !COMPAT
    - Kconfig update for STRICT_DEVMEM"

    * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
    arm64: Fix DMA range invalidation for cache line unaligned buffers
    arm64: Add missing Kconfig for CONFIG_STRICT_DEVMEM
    arm64: fix !CONFIG_COMPAT build failures
    Revert "arm64: virt: ensure visibility of __boot_cpu_mode"
    arm64: Relax the kernel cache requirements for boot
    arm64: Update the TCR_EL1 translation granule definitions for 16K pages
    ARM: topology: Make it clear that all CPUs need to be described

    Linus Torvalds
     
  • Pull drm updates from Dave Airlie:
    "Highlights:

    - drm:

    Generic display port aux features, primary plane support, drm
    master management fixes, logging cleanups, enforced locking checks
    (instead of docs), documentation improvements, minor number
    handling cleanup, pseudofs for shared inodes.

    - ttm:

    add ability to allocate from both ends

    - i915:

    broadwell features, power domain and runtime pm, per-process
    address space infrastructure (not enabled)

    - msm:

    power management, hdmi audio support

    - nouveau:

    ongoing GPU fault recovery, initial maxwell support, random fixes

    - exynos:

    refactored driver to clean up a lot of abstraction, DP support
    moved into drm, LVDS bridge support added, parallel panel support

    - gma500:

    SGX MMU support, SGX irq handling, asle irq work fixes

    - radeon:

    video engine bringup, ring handling fixes, use dp aux helpers

    - vmwgfx:

    add rendernode support"

    * 'drm-next' of git://people.freedesktop.org/~airlied/linux: (849 commits)
    DRM: armada: fix corruption while loading cursors
    drm/dp_helper: don't return EPROTO for defers (v2)
    drm/bridge: export ptn3460_init function
    drm/exynos: remove MODULE_DEVICE_TABLE definitions
    ARM: dts: exynos4412-trats2: enable exynos/fimd node
    ARM: dts: exynos4210-trats: enable exynos/fimd node
    ARM: dts: exynos4412-trats2: add panel node
    ARM: dts: exynos4210-trats: add panel node
    ARM: dts: exynos4: add MIPI DSI Master node
    drm/panel: add S6E8AA0 driver
    ARM: dts: exynos4210-universal_c210: add proper panel node
    drm/panel: add ld9040 driver
    panel/ld9040: add DT bindings
    panel/s6e8aa0: add DT bindings
    drm/exynos: add DSIM driver
    exynos/dsim: add DT bindings
    drm/exynos: disallow fbdev initialization if no device is connected
    drm/mipi_dsi: create dsi devices only for nodes with reg property
    drm/mipi_dsi: add flags to DSI messages
    Skip intel_crt_init for Dell XPS 8700
    ...

    Linus Torvalds
     

08 Apr, 2014

26 commits

  • Signed-off-by: Denis Carikli
    Acked-by: Jingoo Han
    Signed-off-by: Lee Jones

    Denis Carikli
     
  • * pm-wakeup:
    PM / wakeup: Correct presence vs. emptiness of wakeup_* attributes

    * pm-domains:
    PM / domains: Add pd_ignore_unused to keep power domains enabled

    Rafael J. Wysocki
     
  • Pull kbuild changes from Michal Marek:
    - cleanups in the main Makefiles and Documentation/DocBook/Makefile
    - make O=... directory is automatically created if needed
    - mrproper/distclean removes the old include/linux/version.h to make
    life easier when bisecting across the commit that moved the version.h
    file

    * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
    kbuild: docbook: fix the include error when executing "make help"
    kbuild: create a build directory automatically for out-of-tree build
    kbuild: remove redundant '.*.cmd' pattern from make distclean
    kbuild: move "quote" to Kbuild.include to be consistent
    kbuild: docbook: use $(obj) and $(src) rather than specific path
    kbuild: unconditionally clobber include/linux/version.h on distclean
    kbuild: docbook: specify KERNELDOC dependency correctly
    kbuild: docbook: include cmd files more simply
    kbuild: specify build_docproc as a phony target

    Linus Torvalds
     
  • Merge second patch-bomb from Andrew Morton:
    - the rest of MM
    - zram updates
    - zswap updates
    - exit
    - procfs
    - exec
    - wait
    - crash dump
    - lib/idr
    - rapidio
    - adfs, affs, bfs, ufs
    - cris
    - Kconfig things
    - initramfs
    - small amount of IPC material
    - percpu enhancements
    - early ioremap support
    - various other misc things

    * emailed patches from Andrew Morton : (156 commits)
    MAINTAINERS: update Intel C600 SAS driver maintainers
    fs/ufs: remove unused ufs_super_block_third pointer
    fs/ufs: remove unused ufs_super_block_second pointer
    fs/ufs: remove unused ufs_super_block_first pointer
    fs/ufs/super.c: add __init to init_inodecache()
    doc/kernel-parameters.txt: add early_ioremap_debug
    arm64: add early_ioremap support
    arm64: initialize pgprot info earlier in boot
    x86: use generic early_ioremap
    mm: create generic early_ioremap() support
    x86/mm: sparse warning fix for early_memremap
    lglock: map to spinlock when !CONFIG_SMP
    percpu: add preemption checks to __this_cpu ops
    vmstat: use raw_cpu_ops to avoid false positives on preemption checks
    slub: use raw_cpu_inc for incrementing statistics
    net: replace __this_cpu_inc in route.c with raw_cpu_inc
    modules: use raw_cpu_write for initialization of per cpu refcount.
    mm: use raw_cpu ops for determining current NUMA node
    percpu: add raw_cpu_ops
    slub: fix leak of 'name' in sysfs_slab_add
    ...

    Linus Torvalds
     
  • Add description of early_ioremap_debug kernel parameter.

    Signed-off-by: Mark Salter
    Cc: Borislav Petkov
    Cc: Catalin Marinas
    Cc: Dave Young
    Cc: H. Peter Anvin
    Cc: Will Deacon
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Salter
     
  • Add support for early IO or memory mappings which are needed before the
    normal ioremap() is usable. This also adds fixmap support for permanent
    fixed mappings such as that used by the earlyprintk device register
    region.

    Signed-off-by: Mark Salter
    Acked-by: Catalin Marinas
    Cc: Borislav Petkov
    Cc: Dave Young
    Cc: H. Peter Anvin
    Cc: Will Deacon
    Cc: Ingo Molnar
    Cc: Thomas Gleixner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Mark Salter
     
  • Clean asm/system.h from docs as nothing should refer to that header anymore.

    Signed-off-by: David Howells
    Cc: Ingo Molnar
    Cc: Arnd Bergmann
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Howells
     
  • "make allnoconfig" exists to ease testing of minimal configurations.
    Documentation/SubmitChecklist includes a note to test with allnoconfig.
    This helps catch missing dependencies on common-but-not-required
    functionality, which might otherwise go unnoticed.

    However, allnoconfig still leaves many symbols enabled, because they're
    hidden behind CONFIG_EMBEDDED or CONFIG_EXPERT. For instance, allnoconfig
    still has CONFIG_PRINTK and CONFIG_BLOCK enabled, so drivers don't
    typically get build-tested with those disabled.

    To address this, introduce a new Kconfig option "allnoconfig_y", used on
    symbols which only exist to hide other symbols. Set it on CONFIG_EMBEDDED
    (which then selects CONFIG_EXPERT). allnoconfig will then disable all the
    symbols hidden behind those.

    Signed-off-by: Josh Triplett
    Tested-by: Paul E. McKenney
    Cc: Michal Marek
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Josh Triplett
     
  • Normal behavior for filenames exceeding specific filesystem limits is to
    refuse operation.

    AFFS standard name length being only 30 characters against 255 for usual
    Linux filesystems, original implementation does filename truncate by
    default with a define value AFFS_NO_TRUNCATE which can be enabled but
    needs module compilation.

    This patch adds 'nofilenametruncate' mount option so that user can
    easily activate that feature and avoid a lot of problems (eg overwrite
    files ...)

    Signed-off-by: Fabian Frederick
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Fabian Frederick
     
  • As sysctl_hung_task_timeout_sec is unsigned long, when this value is
    larger then LONG_MAX/HZ, the function schedule_timeout_interruptible in
    watchdog will return immediately without sleep and with print :

    schedule_timeout: wrong timeout value ffffffffffffff83

    and then the funtion watchdog will call schedule_timeout_interruptible
    again and again. The screen will be filled with

    "schedule_timeout: wrong timeout value ffffffffffffff83"

    This patch does some check and correction in sysctl, to let the function
    schedule_timeout_interruptible allways get the valid parameter.

    Signed-off-by: Liu Hua
    Tested-by: Satoru Takeuchi
    Cc: [3.4+]
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Liu Hua
     
  • This patch removes an artificial RapidIO bus root device and establishes
    actual device hierarchy by providing reference to real parent devices.
    It also introduces device class for RapidIO controller devices (on-chip
    or an eternal bridge, known as "mport").

    Existing implementation was sufficient for SoC-based platforms that have
    a single RapidIO controller. With introduction of devices using
    multiple RapidIO controllers and PCIe-to-RapidIO bridges the old scheme
    is very limiting or does not work at all. The implemented changes allow
    to properly reference platform's local RapidIO mport devices and provide
    device details needed for upper layers.

    This change to RapidIO device hierarchy does not break any known
    existing kernel or user space interfaces.

    Signed-off-by: Alexandre Bounine
    Cc: Matt Porter
    Cc: Li Yang
    Cc: Kumar Gala
    Cc: Andre van Herk
    Cc: Stef van Os
    Cc: Jerry Jacobs
    Cc: Arno Tiemersma
    Cc: Rob Landley
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexandre Bounine
     
  • Currently we don't have a way how to determing from which mount point
    file has been opened. This information is required for proper dumping
    and restoring file descriptos due to presence of mount namespaces. It's
    possible, that two file descriptors are opened using the same paths, but
    one fd references mount point from one namespace while the other fd --
    from other namespace.

    $ ls -l /proc/1/fd/1
    lrwx------ 1 root root 64 Mar 19 23:54 /proc/1/fd/1 -> /dev/null

    $ cat /proc/1/fdinfo/1
    pos: 0
    flags: 0100002
    mnt_id: 16

    $ cat /proc/1/mountinfo | grep ^16
    16 32 0:4 / /dev rw,nosuid shared:2 - devtmpfs devtmpfs rw,size=1013356k,nr_inodes=253339,mode=755

    Signed-off-by: Andrey Vagin
    Acked-by: Pavel Emelyanov
    Acked-by: Cyrill Gorcunov
    Cc: Rob Landley
    Cc: Al Viro
    Cc: Oleg Nesterov
    Cc: "Eric W. Biederman"
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Andrey Vagin
     
  • When we initialized zcomp with single, we couldn't change
    max_comp_streams without zram reset but current interface doesn't show
    any error to user and even it changes max_comp_streams's value without
    any effect so it would make user very confusing.

    This patch prevents max_comp_streams's change when zcomp was initialized
    as single zcomp and emit the error to user(ex, echo).

    [akpm@linux-foundation.org: don't return with the lock held, per Sergey]
    [fengguang.wu@intel.com: fix coccinelle warnings]
    Signed-off-by: Minchan Kim
    Cc: Nitin Gupta
    Cc: Jerome Marchand
    Acked-by: Sergey Senozhatsky
    Signed-off-by: Fengguang Wu
    Cc: Stephen Rothwell
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Minchan Kim
     
  • Add and document `comp_algorithm' device attribute. This attribute allows
    to show supported compression and currently selected compression
    algorithms:

    cat /sys/block/zram0/comp_algorithm
    [lzo] lz4

    and change selected compression algorithm:
    echo lzo > /sys/block/zram0/comp_algorithm

    Signed-off-by: Sergey Senozhatsky
    Acked-by: Minchan Kim
    Cc: Jerome Marchand
    Cc: Nitin Gupta
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sergey Senozhatsky
     
  • Existing zram (zcomp) implementation has only one compression stream
    (buffer and algorithm private part), so in order to prevent data
    corruption only one write (compress operation) can use this compression
    stream, forcing all concurrent write operations to wait for stream lock
    to be released. This patch changes zcomp to keep a compression streams
    list of user-defined size (via sysfs device attr). Each write operation
    still exclusively holds compression stream, the difference is that we
    can have N write operations (depending on size of streams list)
    executing in parallel. See TEST section later in commit message for
    performance data.

    Introduce struct zcomp_strm_multi and a set of functions to manage
    zcomp_strm stream access. zcomp_strm_multi has a list of idle
    zcomp_strm structs, spinlock to protect idle list and wait queue, making
    it possible to perform parallel compressions.

    The following set of functions added:
    - zcomp_strm_multi_find()/zcomp_strm_multi_release()
    find and release a compression stream, implement required locking
    - zcomp_strm_multi_create()/zcomp_strm_multi_destroy()
    create and destroy zcomp_strm_multi

    zcomp ->strm_find() and ->strm_release() callbacks are set during
    initialisation to zcomp_strm_multi_find()/zcomp_strm_multi_release()
    correspondingly.

    Each time zcomp issues a zcomp_strm_multi_find() call, the following set
    of operations performed:

    - spin lock strm_lock
    - if idle list is not empty, remove zcomp_strm from idle list, spin
    unlock and return zcomp stream pointer to caller
    - if idle list is empty, current adds itself to wait queue. it will be
    awaken by zcomp_strm_multi_release() caller.

    zcomp_strm_multi_release():
    - spin lock strm_lock
    - add zcomp stream to idle list
    - spin unlock, wake up sleeper

    Minchan Kim reported that spinlock-based locking scheme has demonstrated
    a severe perfomance regression for single compression stream case,
    comparing to mutex-based (see https://lkml.org/lkml/2014/2/18/16)

    base spinlock mutex

    ==Initial write ==Initial write ==Initial write
    records: 5 records: 5 records: 5
    avg: 1642424.35 avg: 699610.40 avg: 1655583.71
    std: 39890.95(2.43%) std: 232014.19(33.16%) std: 52293.96
    max: 1690170.94 max: 1163473.45 max: 1697164.75
    min: 1568669.52 min: 573429.88 min: 1553410.23
    ==Rewrite ==Rewrite ==Rewrite
    records: 5 records: 5 records: 5
    avg: 1611775.39 avg: 501406.64 avg: 1684419.11
    std: 17144.58(1.06%) std: 15354.41(3.06%) std: 18367.42
    max: 1641800.95 max: 531356.78 max: 1706445.84
    min: 1593515.27 min: 488817.78 min: 1655335.73

    When only one compression stream available, mutex with spin on owner
    tends to perform much better than frequent wait_event()/wake_up(). This
    is why single stream implemented as a special case with mutex locking.

    Introduce and document zram device attribute max_comp_streams. This
    attr shows and stores current zcomp's max number of zcomp streams
    (max_strm). Extend zcomp's zcomp_create() with `max_strm' parameter.
    `max_strm' limits the number of zcomp_strm structs in compression
    backend's idle list (max_comp_streams).

    max_comp_streams used during initialisation as follows:
    -- passing to zcomp_create() max_strm equals to 1 will initialise zcomp
    using single compression stream zcomp_strm_single (mutex-based locking).
    -- passing to zcomp_create() max_strm greater than 1 will initialise zcomp
    using multi compression stream zcomp_strm_multi (spinlock-based locking).

    default max_comp_streams value is 1, meaning that zram with single stream
    will be initialised.

    Later patch will introduce configuration knob to change max_comp_streams
    on already initialised and used zcomp.

    TEST
    iozone -t 3 -R -r 16K -s 60M -I +Z

    test base 1 strm (mutex) 3 strm (spinlock)
    -----------------------------------------------------------------------
    Initial write 589286.78 583518.39 718011.05
    Rewrite 604837.97 596776.38 1515125.72
    Random write 584120.11 595714.58 1388850.25
    Pwrite 535731.17 541117.38 739295.27
    Fwrite 1418083.88 1478612.72 1484927.06

    Usage example:
    set max_comp_streams to 4
    echo 4 > /sys/block/zram0/max_comp_streams

    show current max_comp_streams (default value is 1).
    cat /sys/block/zram0/max_comp_streams

    Signed-off-by: Sergey Senozhatsky
    Acked-by: Minchan Kim
    Cc: Jerome Marchand
    Cc: Nitin Gupta
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sergey Senozhatsky
     
  • Document `failed_reads' and `failed_writes' device attributes.
    Remove info about `discard' - there is no such zram attr.

    Signed-off-by: Sergey Senozhatsky
    Cc: Minchan Kim
    Cc: Jerome Marchand
    Cc: Nitin Gupta
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sergey Senozhatsky
     
  • Move zram warning about disksize and size of memory correlation to zram
    documentation.

    Signed-off-by: Sergey Senozhatsky
    Acked-by: Minchan Kim
    Cc: Jerome Marchand
    Cc: Nitin Gupta
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Sergey Senozhatsky
     
  • mem_cgroup_newpage_charge is used only for charging anonymous memory so
    it is better to rename it to mem_cgroup_charge_anon.

    mem_cgroup_cache_charge is used for file backed memory so rename it to
    mem_cgroup_charge_file.

    Signed-off-by: Michal Hocko
    Cc: Johannes Weiner
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Michal Hocko
     
  • The res_counter_{charge,uncharge}_locked() variants are not used in the
    kernel outside of the resource counter code itself, so remove the
    interface.

    Signed-off-by: David Rientjes
    Acked-by: Michal Hocko
    Cc: Johannes Weiner
    Cc: KAMEZAWA Hiroyuki
    Cc: Christoph Lameter
    Cc: Pekka Enberg
    Cc: Tejun Heo
    Cc: Mel Gorman
    Cc: Oleg Nesterov
    Cc: Rik van Riel
    Cc: Jianguo Wu
    Cc: Tim Hockin
    Cc: Christoph Lameter
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     
  • Here's new version of faultaround patchset. It took a while to tune it
    and collect performance data.

    First patch adds new callback ->map_pages to vm_operations_struct.

    ->map_pages() is called when VM asks to map easy accessible pages.
    Filesystem should find and map pages associated with offsets from
    "pgoff" till "max_pgoff". ->map_pages() is called with page table
    locked and must not block. If it's not possible to reach a page without
    blocking, filesystem should skip it. Filesystem should use do_set_pte()
    to setup page table entry. Pointer to entry associated with offset
    "pgoff" is passed in "pte" field in vm_fault structure. Pointers to
    entries for other offsets should be calculated relative to "pte".

    Currently VM use ->map_pages only on read page fault path. We try to
    map FAULT_AROUND_PAGES a time. FAULT_AROUND_PAGES is 16 for now.
    Performance data for different FAULT_AROUND_ORDER is below.

    TODO:
    - implement ->map_pages() for shmem/tmpfs;
    - modify get_user_pages() to be able to use ->map_pages() and implement
    mmap(MAP_POPULATE|MAP_NONBLOCK) on top.

    =========================================================================
    Tested on 4-socket machine (120 threads) with 128GiB of RAM.

    Few real-world workloads. The sweet spot for FAULT_AROUND_ORDER here is
    somewhere between 3 and 5. Let's say 4 :)

    Linux build (make -j60)
    FAULT_AROUND_ORDER Baseline 1 3 4 5 7 9
    minor-faults 283,301,572 247,151,987 212,215,789 204,772,882 199,568,944 194,703,779 193,381,485
    time, seconds 151.227629483 153.920996480 151.356125472 150.863792049 150.879207877 151.150764954 151.450962358
    Linux rebuild (make -j60)
    FAULT_AROUND_ORDER Baseline 1 3 4 5 7 9
    minor-faults 5,396,854 4,148,444 2,855,286 2,577,282 2,361,957 2,169,573 2,112,643
    time, seconds 27.404543757 27.559725591 27.030057426 26.855045126 26.678618635 26.974523490 26.761320095
    Git test suite (make -j60 test)
    FAULT_AROUND_ORDER Baseline 1 3 4 5 7 9
    minor-faults 129,591,823 99,200,751 66,106,718 57,606,410 51,510,808 45,776,813 44,085,515
    time, seconds 66.087215026 64.784546905 64.401156567 65.282708668 66.034016829 66.793780811 67.237810413

    Two synthetic tests: access every word in file in sequential/random order.
    It doesn't improve much after FAULT_AROUND_ORDER == 4.

    Sequential access 16GiB file
    FAULT_AROUND_ORDER Baseline 1 3 4 5 7 9
    1 thread
    minor-faults 4,195,437 2,098,275 525,068 262,251 131,170 32,856 8,282
    time, seconds 7.250461742 6.461711074 5.493859139 5.488488147 5.707213983 5.898510832 5.109232856
    8 threads
    minor-faults 33,557,540 16,892,728 4,515,848 2,366,999 1,423,382 442,732 142,339
    time, seconds 16.649304881 9.312555263 6.612490639 6.394316732 6.669827501 6.75078944 6.371900528
    32 threads
    minor-faults 134,228,222 67,526,810 17,725,386 9,716,537 4,763,731 1,668,921 537,200
    time, seconds 49.164430543 29.712060103 12.938649729 10.175151004 11.840094583 9.594081325 9.928461797
    60 threads
    minor-faults 251,687,988 126,146,952 32,919,406 18,208,804 10,458,947 2,733,907 928,217
    time, seconds 86.260656897 49.626551828 22.335007632 17.608243696 16.523119035 16.339489186 16.326390902
    120 threads
    minor-faults 503,352,863 252,939,677 67,039,168 35,191,827 19,170,091 4,688,357 1,471,862
    time, seconds 124.589206333 79.757867787 39.508707872 32.167281632 29.972989292 28.729834575 28.042251622
    Random access 1GiB file
    1 thread
    minor-faults 262,636 132,743 34,369 17,299 8,527 3,451 1,222
    time, seconds 15.351890914 16.613802482 16.569227308 15.179220992 16.557356122 16.578247824 15.365266994
    8 threads
    minor-faults 2,098,948 1,061,871 273,690 154,501 87,110 25,663 7,384
    time, seconds 15.040026343 15.096933500 14.474757288 14.289129964 14.411537468 14.296316837 14.395635804
    32 threads
    minor-faults 8,390,734 4,231,023 1,054,432 528,847 269,242 97,746 26,881
    time, seconds 20.430433109 21.585235358 22.115062928 14.872878951 14.880856305 14.883370649 14.821261690
    60 threads
    minor-faults 15,733,258 7,892,809 1,973,393 988,266 594,789 164,994 51,691
    time, seconds 26.577302548 25.692397770 18.728863715 20.153026398 21.619101933 17.745086260 17.613215273
    120 threads
    minor-faults 31,471,111 15,816,616 3,959,209 1,978,685 1,008,299 264,635 96,010
    time, seconds 41.835322703 40.459786095 36.085306105 35.313894834 35.814445675 36.552633793 34.289210594

    Touch only one page in page table in 16GiB file
    FAULT_AROUND_ORDER Baseline 1 3 4 5 7 9
    1 thread
    minor-faults 8,372 8,324 8,270 8,260 8,249 8,239 8,237
    time, seconds 0.039892712 0.045369149 0.051846126 0.063681685 0.079095975 0.17652406 0.541213386
    8 threads
    minor-faults 65,731 65,681 65,628 65,620 65,608 65,599 65,596
    time, seconds 0.124159196 0.488600638 0.156854426 0.191901957 0.242631486 0.543569456 1.677303984
    32 threads
    minor-faults 262,388 262,341 262,285 262,276 262,266 262,257 263,183
    time, seconds 0.452421421 0.488600638 0.565020946 0.648229739 0.789850823 1.651584361 5.000361559
    60 threads
    minor-faults 491,822 491,792 491,723 491,711 491,701 491,691 491,825
    time, seconds 0.763288616 0.869620515 0.980727360 1.161732354 1.466915814 3.04041448 9.308612938
    120 threads
    minor-faults 983,466 983,655 983,366 983,372 983,363 984,083 984,164
    time, seconds 1.595846553 1.667902182 2.008959376 2.425380942 2.941368804 5.977807890 18.401846125

    This patch (of 2):

    Introduce new vm_ops callback ->map_pages() and uses it for mapping easy
    accessible pages around fault address.

    On read page fault, if filesystem provides ->map_pages(), we try to map up
    to FAULT_AROUND_PAGES pages around page fault address in hope to reduce
    number of minor page faults.

    We call ->map_pages first and use ->fault() as fallback if page by the
    offset is not ready to be mapped (cold page cache or something).

    Signed-off-by: Kirill A. Shutemov
    Acked-by: Linus Torvalds
    Cc: Mel Gorman
    Cc: Rik van Riel
    Cc: Andi Kleen
    Cc: Matthew Wilcox
    Cc: Dave Hansen
    Cc: Alexander Viro
    Cc: Dave Chinner
    Cc: Ning Qu
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Kirill A. Shutemov
     
  • Pull CPU hotplug notifiers registration fixes from Rafael Wysocki:
    "The purpose of this single series of commits from Srivatsa S Bhat
    (with a small piece from Gautham R Shenoy) touching multiple
    subsystems that use CPU hotplug notifiers is to provide a way to
    register them that will not lead to deadlocks with CPU online/offline
    operations as described in the changelog of commit 93ae4f978ca7f ("CPU
    hotplug: Provide lockless versions of callback registration
    functions").

    The first three commits in the series introduce the API and document
    it and the rest simply goes through the users of CPU hotplug notifiers
    and converts them to using the new method"

    * tag 'cpu-hotplug-3.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (52 commits)
    net/iucv/iucv.c: Fix CPU hotplug callback registration
    net/core/flow.c: Fix CPU hotplug callback registration
    mm, zswap: Fix CPU hotplug callback registration
    mm, vmstat: Fix CPU hotplug callback registration
    profile: Fix CPU hotplug callback registration
    trace, ring-buffer: Fix CPU hotplug callback registration
    xen, balloon: Fix CPU hotplug callback registration
    hwmon, via-cputemp: Fix CPU hotplug callback registration
    hwmon, coretemp: Fix CPU hotplug callback registration
    thermal, x86-pkg-temp: Fix CPU hotplug callback registration
    octeon, watchdog: Fix CPU hotplug callback registration
    oprofile, nmi-timer: Fix CPU hotplug callback registration
    intel-idle: Fix CPU hotplug callback registration
    clocksource, dummy-timer: Fix CPU hotplug callback registration
    drivers/base/topology.c: Fix CPU hotplug callback registration
    acpi-cpufreq: Fix CPU hotplug callback registration
    zsmalloc: Fix CPU hotplug callback registration
    scsi, fcoe: Fix CPU hotplug callback registration
    scsi, bnx2fc: Fix CPU hotplug callback registration
    scsi, bnx2i: Fix CPU hotplug callback registration
    ...

    Linus Torvalds
     
  • This is the final piece in the puzzle, as all patches to remove the
    last users of \(interruptible_\|\)sleep_on\(_timeout\|\) have made it
    into the 3.15 merge window. The work was long overdue, and this
    interface in particular should not have survived the BKL removal
    that was done a couple of years ago.

    Citing Jon Corbet from http://lwn.net/2001/0201/kernel.php3":

    "[...] it was suggested that the janitors look for and fix all code
    that calls sleep_on() [...] since (1) almost all such code is
    incorrect, and (2) Linus has agreed that those functions should
    be removed in the 2.5 development series".

    We haven't quite made it for 2.5, but maybe we can merge this for 3.15.

    Signed-off-by: Arnd Bergmann
    Cc: Peter Zijlstra
    Cc: Ingo Molnar
    Signed-off-by: Linus Torvalds

    Arnd Bergmann
     
  • Pull f2fs updates from Jaegeuk Kim:
    "This patch-set includes the following major enhancement patches.
    - introduce large directory support
    - introduce f2fs_issue_flush to merge redundant flush commands
    - merge write IOs as much as possible aligned to the segment
    - add sysfs entries to tune the f2fs configuration
    - use radix_tree for the free_nid_list to reduce in-memory operations
    - remove costly bit operations in f2fs_find_entry
    - enhance the readahead flow for CP/NAT/SIT/SSA blocks

    The other bug fixes are as follows:
    - recover xattr node blocks correctly after sudden-power-cut
    - fix to calculate the maximum number of node ids
    - enhance to handle many error cases

    And, there are a bunch of cleanups"

    * tag 'for-f2fs-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs: (62 commits)
    f2fs: fix wrong statistics of inline data
    f2fs: check the acl's validity before setting
    f2fs: introduce f2fs_issue_flush to avoid redundant flush issue
    f2fs: fix to cover io->bio with io_rwsem
    f2fs: fix error path when fail to read inline data
    f2fs: use list_for_each_entry{_safe} for simplyfying code
    f2fs: avoid free slab cache under spinlock
    f2fs: avoid unneeded lookup when xattr name length is too long
    f2fs: avoid unnecessary bio submit when wait page writeback
    f2fs: return -EIO when node id is not matched
    f2fs: avoid RECLAIM_FS-ON-W warning
    f2fs: skip unnecessary node writes during fsync
    f2fs: introduce fi->i_sem to protect fi's info
    f2fs: change reclaim rate in percentage
    f2fs: add missing documentation for dir_level
    f2fs: remove unnecessary threshold
    f2fs: throttle the memory footprint with a sysfs entry
    f2fs: avoid to drop nat entries due to the negative nr_shrink
    f2fs: call f2fs_wait_on_page_writeback instead of native function
    f2fs: introduce nr_pages_to_write for segment alignment
    ...

    Linus Torvalds
     
  • Pull OMAP fbdev changes from Tomi Valkeinen:
    "This is based on the already pulled fbdev-main changes, and this also
    merges .dts branch from Tony Lindgren (which has also been pulled), so
    that I was able to add the display related .dts changes.

    This contains OMAP related fbdev changes for 3.15. The bulk of the
    patches are for adding Device Tree support for OMAP Display Subsystem:

    - SoCs: OMAP2/3/4

    - Boards: OMAP4 Panda, OMAP4 SDP, OMAP3 Beagle, OMAP3 Beagle-xM,
    OMAP3 IGEP0020, OMAP3 N900

    - Devices: TFP410 Encoder, tpd12s015 HDMI companion chip, Sony
    acx565akm panel, MIPI DSI Command mode panel and HDMI, DVI and
    Analog TV connectors"

    * tag 'fbdev-omap-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/tomba/linux: (45 commits)
    OMAPDSS: HDMI: fix interlace output
    OMAPDSS: add missing __init for dss_init_ports
    ARM: OMAP2+: remove pdata quirks for displays
    OMAPDSS: remove DT hacks for regulators
    Doc/DT: Add DT binding documentation for tpd12s015 encoder
    Doc/DT: Add DT binding documentation for TFP410 encoder
    Doc/DT: Add DT binding documentation for Sony acx565akm panel
    Doc/DT: Add DT binding documentation for MIPI DSI CM Panel
    Doc/DT: Add DT binding documentation for HDMI Connector
    Doc/DT: Add DT binding documentation for DVI Connector
    Doc/DT: Add DT binding documentation for Analog TV Connector
    ARM: omap3-n900.dts: add display information
    ARM: omap3-igep0020.dts: add display information
    ARM: omap3-beagle-xm.dts: add display information
    ARM: omap3-beagle.dts: add display information
    ARM: omap4-sdp.dts: add display information
    Doc/DT: Add DT binding documentation for OMAP DSS
    OMAPDSS: acx565akm: Add DT support
    OMAPDSS: connector-analog-tv: Add DT support
    OMAPDSS: hdmi-connector: Add DT support
    ...

    Linus Torvalds
     
  • Pull MFD updates from Lee Jones:
    "Changes to existing drivers:
    - Use of managed resources - omap, twl4030, ti_am335x_tscadc
    - Advanced error handling - omap
    - Rework clk management - omap
    - Device Tree (re-)work - tc3589x, pm8921, da9055, sec
    - IRC management overhaul and !BROKEN - pm8921
    - Convert to regmap - ssbi, pm8921
    - Use simple power-management ops - ucb1x00
    - Include file clean-up - adp5520, cs5535, janz, lpc_ich,
    - lpc_sch, max14577, mcp-sa11x0, pcf50633-adc, rc5t583,
    rdc321x-southbridge, retu, smsc-ece1099, ti-ssp, ti_am335x_tscadc,
    tps65912, vexpress-config, wm8350, ywm8350
    - Various bug fixes across the subsystem
    - NULL/invalid pointer dereference prevention
    - Resource leak mitigation,
    - Variable used initialised
    - Staticise various containers
    - Enforce return value checks

    New drivers/supported devices:
    - Add support for s2mps14 and s2mpa01 to sec
    - Add support for da9063 (v5) to da9063
    - Add support for atom-c2000 to gpio-ich
    - Add support for come-{mbt10,cbt6,chl6} to kempld
    - Add support for da9053 to da9052
    - Add support for itco-wdt (v3) and baytrail to lpc_ich
    - Add new drivers for tps65218, rtsx_usb, bcm590xx

    (Re-)moved drivers:
    - twl4030 ==> drivers/iio
    - ti-ssp ==> /dev/null"

    * tag 'mfd-for-linus-3.15' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (103 commits)
    mfd: wm5110: Correct default for HEADPHONE_DETECT_1
    mfd: arizona: Correct small errors in the DT binding documentation
    mfd: arizona: Mark DSP clocking register as volatile
    mfd: devicetree: bindings: Add pm8xxx RTC description
    mfd: kempld-core: Fix potential hang-up during boot
    mfd: sec-core: Fix uninitialized 'regmap_rtc' on S2MPA01
    mfd: tps65910: Fix regmap_irq_chip_data leak on mfd_add_devices fail
    mfd: tps65910: Fix possible invalid pointer dereference on regmap_add_irq_chip fail
    mfd: sec-core: Fix I2C dummy device resource leak on probe failure
    mfd: sec-core: Add of_compatible strings for clock MFD cells
    mfd: Remove obsolete ti-ssp driver
    Documentation: mfd: s2mps11: Describe S5M8767 and S2MPS14 clocks
    mfd: bcm590xx: Fix type argument for module device table
    mfd: lpc_ich: Add support for Intel Bay Trail SoC
    mfd: lpc_ich: Add support for NM10 GPIO
    mfd: lpc_ich: Change Avoton to iTCO v3
    watchdog: iTCO_wdt: Add support for v3 silicon
    mfd: lpc_ich: Add support for iTCO v3
    mfd: lpc_ich: Remove lpc_ich_cfg struct use
    mfd: lpc_ich: Only configure watchdog or GPIO when present
    ...

    Linus Torvalds
     
  • Pull MTD updates from Brian Norris:
    - A few SPI NOR ID definitions
    - Kill the NAND "max pagesize" restriction
    - Fix some x16 bus-width NAND support
    - Add NAND JEDEC parameter page support
    - DT bindings for NAND ECC
    - GPMI NAND updates (subpage reads)
    - More OMAP NAND refactoring
    - New STMicro SPI NOR driver (now in 40 patches!)
    - A few other random bugfixes

    * tag 'for-linus-20140405' of git://git.infradead.org/linux-mtd: (120 commits)
    Fix index regression in nand_read_subpage
    mtd: diskonchip: mem resource name is not optional
    mtd: nand: fix mention to CONFIG_MTD_NAND_ECC_BCH
    mtd: nand: fix GET/SET_FEATURES address on 16-bit devices
    mtd: omap2: Use devm_ioremap_resource()
    mtd: denali_dt: Use devm_ioremap_resource()
    mtd: devices: elm: update DRIVER_NAME as "omap-elm"
    mtd: devices: elm: configure parallel channels based on ecc_steps
    mtd: devices: elm: clean elm_load_syndrome
    mtd: devices: elm: check for hardware engine's design constraints
    mtd: st_spi_fsm: Succinctly reorganise .remove()
    mtd: st_spi_fsm: Allow loop to run at least once before giving up CPU
    mtd: st_spi_fsm: Correct vendor name spelling issue - missing "M"
    mtd: st_spi_fsm: Avoid duplicating MTD core code
    mtd: st_spi_fsm: Remove useless consts from function arguments
    mtd: st_spi_fsm: Convert ST SPI FSM (NOR) Flash driver to new DT partitions
    mtd: st_spi_fsm: Move runtime configurable msg sequences into device's struct
    mtd: st_spi_fsm: Supply the W25Qxxx chip specific configuration call-back
    mtd: st_spi_fsm: Supply the S25FLxxx chip specific configuration call-back
    mtd: st_spi_fsm: Supply the MX25xxx chip specific configuration call-back
    ...

    Linus Torvalds