1. 25 Mar, 2016 28 commits
    • Michal Hocko's avatar
      oom, oom_reaper: disable oom_reaper for oom_kill_allocating_task · 855b0183
      Michal Hocko authored
      Tetsuo has reported that oom_kill_allocating_task=1 will cause
      oom_reaper_list corruption because oom_kill_process doesn't follow
      standard OOM exclusion (aka ignores TIF_MEMDIE) and allows to enqueue
      the same task multiple times - e.g.  by sacrificing the same child
      multiple times.
      
      This patch fixes the issue by introducing a new MMF_OOM_KILLED mm flag
      which is set in oom_kill_process atomically and oom reaper is disabled
      if the flag was already set.
      Signed-off-by: default avatarMichal Hocko <mhocko@suse.com>
      Reported-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Mel Gorman <mgorman@techsingularity.net>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Rik van Riel <riel@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      855b0183
    • Michal Hocko's avatar
      mm, oom_reaper: implement OOM victims queuing · 03049269
      Michal Hocko authored
      wake_oom_reaper has allowed only 1 oom victim to be queued.  The main
      reason for that was the simplicity as other solutions would require some
      way of queuing.  The current approach is racy and that was deemed
      sufficient as the oom_reaper is considered a best effort approach to
      help with oom handling when the OOM victim cannot terminate in a
      reasonable time.  The race could lead to missing an oom victim which can
      get stuck
      
      out_of_memory
        wake_oom_reaper
          cmpxchg // OK
          			oom_reaper
      			  oom_reap_task
      			    __oom_reap_task
      oom_victim terminates
      			      atomic_inc_not_zero // fail
      out_of_memory
        wake_oom_reaper
          cmpxchg // fails
      			  task_to_reap = NULL
      
      This race requires 2 OOM invocations in a short time period which is not
      very likely but certainly not impossible.  E.g.  the original victim
      might have not released a lot of memory for some reason.
      
      The situation would improve considerably if wake_oom_reaper used a more
      robust queuing.  This is what this patch implements.  This means adding
      oom_reaper_list list_head into task_struct (eat a hole before embeded
      thread_struct for that purpose) and a oom_reaper_lock spinlock for
      queuing synchronization.  wake_oom_reaper will then add the task on the
      queue and oom_reaper will dequeue it.
      Signed-off-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Vladimir Davydov <vdavydov@virtuozzo.com>
      Cc: Andrea Argangeli <andrea@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      03049269
    • Michal Hocko's avatar
      mm, oom_reaper: report success/failure · bc448e89
      Michal Hocko authored
      Inform about the successful/failed oom_reaper attempts and dump all the
      held locks to tell us more who is blocking the progress.
      
      [akpm@linux-foundation.org: fix CONFIG_MMU=n build]
      Signed-off-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Andrea Argangeli <andrea@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Rik van Riel <riel@redhat.com>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      bc448e89
    • Michal Hocko's avatar
      oom: clear TIF_MEMDIE after oom_reaper managed to unmap the address space · 36324a99
      Michal Hocko authored
      When oom_reaper manages to unmap all the eligible vmas there shouldn't
      be much of the freable memory held by the oom victim left anymore so it
      makes sense to clear the TIF_MEMDIE flag for the victim and allow the
      OOM killer to select another task.
      
      The lack of TIF_MEMDIE also means that the victim cannot access memory
      reserves anymore but that shouldn't be a problem because it would get
      the access again if it needs to allocate and hits the OOM killer again
      due to the fatal_signal_pending resp.  PF_EXITING check.  We can safely
      hide the task from the OOM killer because it is clearly not a good
      candidate anymore as everyhing reclaimable has been torn down already.
      
      This patch will allow to cap the time an OOM victim can keep TIF_MEMDIE
      and thus hold off further global OOM killer actions granted the oom
      reaper is able to take mmap_sem for the associated mm struct.  This is
      not guaranteed now but further steps should make sure that mmap_sem for
      write should be blocked killable which will help to reduce such a lock
      contention.  This is not done by this patch.
      
      Note that exit_oom_victim might be called on a remote task from
      __oom_reap_task now so we have to check and clear the flag atomically
      otherwise we might race and underflow oom_victims or wake up waiters too
      early.
      Signed-off-by: default avatarMichal Hocko <mhocko@suse.com>
      Suggested-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Suggested-by: default avatarTetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Andrea Argangeli <andrea@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Rik van Riel <riel@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      36324a99
    • Michal Hocko's avatar
      mm, oom: introduce oom reaper · aac45363
      Michal Hocko authored
      This patch (of 5):
      
      This is based on the idea from Mel Gorman discussed during LSFMM 2015
      and independently brought up by Oleg Nesterov.
      
      The OOM killer currently allows to kill only a single task in a good
      hope that the task will terminate in a reasonable time and frees up its
      memory.  Such a task (oom victim) will get an access to memory reserves
      via mark_oom_victim to allow a forward progress should there be a need
      for additional memory during exit path.
      
      It has been shown (e.g.  by Tetsuo Handa) that it is not that hard to
      construct workloads which break the core assumption mentioned above and
      the OOM victim might take unbounded amount of time to exit because it
      might be blocked in the uninterruptible state waiting for an event (e.g.
      lock) which is blocked by another task looping in the page allocator.
      
      This patch reduces the probability of such a lockup by introducing a
      specialized kernel thread (oom_reaper) which tries to reclaim additional
      memory by preemptively reaping the anonymous or swapped out memory owned
      by the oom victim under an assumption that such a memory won't be needed
      when its owner is killed and kicked from the userspace anyway.  There is
      one notable exception to this, though, if the OOM victim was in the
      process of coredumping the result would be incomplete.  This is
      considered a reasonable constrain because the overall system health is
      more important than debugability of a particular application.
      
      A kernel thread has been chosen because we need a reliable way of
      invocation so workqueue context is not appropriate because all the
      workers might be busy (e.g.  allocating memory).  Kswapd which sounds
      like another good fit is not appropriate as well because it might get
      blocked on locks during reclaim as well.
      
      oom_reaper has to take mmap_sem on the target task for reading so the
      solution is not 100% because the semaphore might be held or blocked for
      write but the probability is reduced considerably wrt.  basically any
      lock blocking forward progress as described above.  In order to prevent
      from blocking on the lock without any forward progress we are using only
      a trylock and retry 10 times with a short sleep in between.  Users of
      mmap_sem which need it for write should be carefully reviewed to use
      _killable waiting as much as possible and reduce allocations requests
      done with the lock held to absolute minimum to reduce the risk even
      further.
      
      The API between oom killer and oom reaper is quite trivial.
      wake_oom_reaper updates mm_to_reap with cmpxchg to guarantee only
      NULL->mm transition and oom_reaper clear this atomically once it is done
      with the work.  This means that only a single mm_struct can be reaped at
      the time.  As the operation is potentially disruptive we are trying to
      limit it to the ncessary minimum and the reaper blocks any updates while
      it operates on an mm.  mm_struct is pinned by mm_count to allow parallel
      exit_mmap and a race is detected by atomic_inc_not_zero(mm_users).
      Signed-off-by: default avatarMichal Hocko <mhocko@suse.com>
      Suggested-by: default avatarOleg Nesterov <oleg@redhat.com>
      Suggested-by: default avatarMel Gorman <mgorman@suse.de>
      Acked-by: default avatarMel Gorman <mgorman@suse.de>
      Acked-by: default avatarDavid Rientjes <rientjes@google.com>
      Cc: Mel Gorman <mgorman@suse.de>
      Cc: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
      Cc: Oleg Nesterov <oleg@redhat.com>
      Cc: Hugh Dickins <hughd@google.com>
      Cc: Andrea Argangeli <andrea@kernel.org>
      Cc: Rik van Riel <riel@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      aac45363
    • Andrew Morton's avatar
      sched: add schedule_timeout_idle() · 69b27baf
      Andrew Morton authored
      This will be needed in the patch "mm, oom: introduce oom reaper".
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      69b27baf
    • Linus Torvalds's avatar
      Revert "ppdev: use new parport device model" · 1701f680
      Linus Torvalds authored
      This reverts commit e7223f18.
      
      It causes problems when a ppdev tries to register before the parport
      driver has been registered with the device model. That will trigger the
      
              BUG_ON(!drv->bus->p);
      
      at drivers/base/driver.c:153. The call chain is
      
        kernel_init ->
          kernel_init_freeable ->
            do_one_initcall ->
              ppdev_init ->
                __parport_register_driver ->
                  driver_register *BOOM*
      Reported-by: default avatarkernel test robot <fengguang.wu@intel.com>
      Reported-by: default avatarRoss Zwisler <zwisler@gmail.com>
      Reported-by: default avatarPetr Mladek <pmladek@suse.com>
      Cc: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1701f680
    • Linus Torvalds's avatar
      Merge tag 'firewire-update2' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 · 3b3b3bd9
      Linus Torvalds authored
      Pull firewire leftover from Stefan Richter:
       "Occurrences of timeval were supposed to be eliminated last round, now
        remove a last forgotten one"
      
      * tag 'firewire-update2' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394:
        firewire: nosy: Replace timeval with timespec64
      3b3b3bd9
    • Linus Torvalds's avatar
      Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux · f98c2135
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Just a couple of dma-buf related fixes and some amdgpu fixes, along
        with a regression fix for radeon off but default feature, but makes my
        30" monitor happy again"
      
      * 'drm-next' of git://people.freedesktop.org/~airlied/linux:
        drm/radeon/mst: cleanup code indentation
        drm/radeon/mst: fix regression in lane/link handling.
        drm/amdgpu: add invalidate_page callback for userptrs
        drm/amdgpu: Revert "remove the userptr rmn->lock"
        drm/amdgpu: clean up path handling for powerplay
        drm/amd/powerplay: fix memory leak of tdp_table
        dma-buf/fence: fix fence_is_later v2
        dma-buf: Update docs for SYNC ioctl
        drm: remove excess description
        dma-buf, drm, ion: Propagate error code from dma_buf_start_cpu_access()
        drm/atmel-hlcdc: use helper to get crtc state
        drm/atomic: use helper to get crtc state
      f98c2135
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · 11caf57f
      Linus Torvalds authored
      Pull asm-generic updates from Arnd Bergmann:
       "There are only three patches this time, most other changes to files in
        include/asm-generic tend to go through the tree of whoever depends on
        the change.
      
        Two patches are cleanups for stuff that is no longer needed, the main
        change is to adapt the generic version of BUG_ON() for CONFIG_BUG=n to
        make it behave consistently with BUG().
      
        This avoids undefined behavior along with a number of warnings about
        that undefined behavior in randconfig builds when we keep going on
        after hitting a BUG_ON()"
      
      * tag 'asm-generic-4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        asm-generic: remove old nonatomic-io wrapper files
        asm-generic: default BUG_ON(x) to if(x)BUG()
        asm-generic: page.h: Remove useless get_user_page and free_user_page
      11caf57f
    • Dave Airlie's avatar
      Merge branch 'drm-next-4.6' of git://people.freedesktop.org/~agd5f/linux into drm-next · 4604202c
      Dave Airlie authored
      some amd fixes
      * 'drm-next-4.6' of git://people.freedesktop.org/~agd5f/linux:
        drm/radeon/mst: cleanup code indentation
        drm/radeon/mst: fix regression in lane/link handling.
        drm/amdgpu: add invalidate_page callback for userptrs
        drm/amdgpu: Revert "remove the userptr rmn->lock"
        drm/amdgpu: clean up path handling for powerplay
        drm/amd/powerplay: fix memory leak of tdp_table
      4604202c
    • Linus Torvalds's avatar
      Merge tag 'pm+acpi-4.6-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 3d66c6ba
      Linus Torvalds authored
      Pull more power management and ACPI updates from Rafael Wysocki:
       "The second batch of power management and ACPI updates for v4.6.
      
        Included are fixups on top of the previous PM/ACPI pull request and
        other material that didn't make into it but still should go into 4.6.
      
        Among other things, there's a fix for an intel_pstate driver issue
        uncovered by recent cpufreq changes, a workaround for a boot hang on
        Skylake-H related to the handling of deep C-states by the platform and
        a PCI/ACPI fix for the handling of IO port resources on non-x86
        architectures plus some new device IDs and similar.
      
        Specifics:
      
         - Fix for an intel_pstate driver issue related to the handling of MSR
           updates uncovered by the recent cpufreq rework (Rafael Wysocki).
      
         - cpufreq core cleanups related to starting governors and frequency
           synchronization during resume from system suspend and a locking fix
           for cpufreq_quick_get() (Rafael Wysocki, Richard Cochran).
      
         - acpi-cpufreq and powernv cpufreq driver updates (Jisheng Zhang,
           Michael Neuling, Richard Cochran, Shilpasri Bhat).
      
         - intel_idle driver update preventing some Skylake-H systems from
           hanging during initialization by disabling deep C-states mishandled
           by the platform in the problematic configurations (Len Brown).
      
         - Intel Xeon Phi Processor x200 support for intel_idle
           (Dasaratharaman Chandramouli).
      
         - cpuidle menu governor updates to make it always honor PM QoS
           latency constraints (and prevent C1 from being used as the fallback
           C-state on x86 when they are set below its exit latency) and to
           restore the previous behavior to fall back to C1 if the next timer
           event is set far enough in the future that was changed in 4.4 which
           led to an energy consumption regression (Rik van Riel, Rafael
           Wysocki).
      
         - New device ID for a future AMD UART controller in the ACPI driver
           for AMD SoCs (Wang Hongcheng).
      
         - Rockchip rk3399 support for the rockchip-io-domain adaptive voltage
           scaling (AVS) driver (David Wu).
      
         - ACPI PCI resources management fix for the handling of IO space
           resources on architectures where the IO space is memory mapped
           (IA64 and ARM64) broken by the introduction of common ACPI
           resources parsing for PCI host bridges in 4.4 (Lorenzo Pieralisi).
      
         - Fix for the ACPI backend of the generic device properties API to
           make it parse non-device (data node only) children of an ACPI
           device correctly (Irina Tirdea).
      
         - Fixes for the handling of global suspend flags (introduced in 4.4)
           during hibernation and resume from it (Lukas Wunner).
      
         - Support for obtaining configuration information from Device Trees
           in the PM clocks framework (Jon Hunter).
      
         - ACPI _DSM helper code and devfreq framework cleanups (Colin Ian
           King, Geert Uytterhoeven)"
      
      * tag 'pm+acpi-4.6-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (23 commits)
        PM / AVS: rockchip-io: add io selectors and supplies for rk3399
        intel_idle: Support for Intel Xeon Phi Processor x200 Product Family
        intel_idle: prevent SKL-H boot failure when C8+C9+C10 enabled
        ACPI / PM: Runtime resume devices when waking from hibernate
        PM / sleep: Clear pm_suspend_global_flags upon hibernate
        cpufreq: governor: Always schedule work on the CPU running update
        cpufreq: Always update current frequency before startig governor
        cpufreq: Introduce cpufreq_update_current_freq()
        cpufreq: Introduce cpufreq_start_governor()
        cpufreq: powernv: Add sysfs attributes to show throttle stats
        cpufreq: acpi-cpufreq: make Intel/AMD MSR access, io port access static
        PCI: ACPI: IA64: fix IO port generic range check
        ACPI / util: cast data to u64 before shifting to fix sign extension
        cpufreq: powernv: Define per_cpu chip pointer to optimize hot-path
        cpuidle: menu: Fall back to polling if next timer event is near
        cpufreq: acpi-cpufreq: Clean up hot plug notifier callback
        intel_pstate: Do not call wrmsrl_on_cpu() with disabled interrupts
        cpufreq: Make cpufreq_quick_get() safe to call
        ACPI / property: fix data node parsing in acpi_get_next_subnode()
        ACPI / APD: Add device HID for future AMD UART controller
        ...
      3d66c6ba
    • Linus Torvalds's avatar
      Merge tag 'rtc-4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux · 8407ef46
      Linus Torvalds authored
      Pull more RTC updates from Alexandre Belloni:
       "A second pull request for v4.6 with a few fixesi before -rc1.  The new
        features for abx80x actually make the RTC behave correctly.
      
        Drivers:
         - abx80x: handle both XT and RC oscillators, XT failure bit and
           autocalibration
         - m41t80: avoid out of range year values
         - rv8803: workaround an i2c HW issue"
      
      * tag 'rtc-4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/abelloni/linux:
        rtc: abx80x: handle the oscillator failure bit
        rtc: abx80x: handle autocalibration
        rtc: rv8803: workaround i2c HW issue
        rtc: mcp795: add devicetree support
        rtc: asm9260: remove incorrect __init/__exit annotations
        rtc: m41t80: avoid out of range year values
        rtc: s3c: Don't print an error on probe deferral
        rtc: rv3029: stop mentioning rv3029c2
      8407ef46
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v4.6-2' of... · b4ae78ed
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull more hwmon updates from Guenter Roeck:
       "Update hwmon mailing list and web page"
      
      * tag 'hwmon-for-linus-v4.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        MAINTAINERS: Update mailing list and web page for hwmon subsystem
      b4ae78ed
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 1d02369d
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "Final round of fixes for this merge window - some of this has come up
        after the initial pull request, and some of it was put in a post-merge
        branch before the merge window.
      
        This contains:
      
         - Fix for a bad check for an error on dma mapping in the mtip32xx
           driver, from Alexey Khoroshilov.
      
         - A set of fixes for lightnvm, from Javier, Matias, and Wenwei.
      
         - An NVMe completion record corruption fix from Marta, ensuring that
           we read things in the right order.
      
         - Two writeback fixes from Tejun, marked for stable@ as well.
      
         - A blk-mq sw queue iterator fix from Thomas, fixing an oops for
           sparse CPU maps.  They hit this in the hot plug/unplug rework"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        nvme: avoid cqe corruption when update at the same time as read
        writeback, cgroup: fix use of the wrong bdi_writeback which mismatches the inode
        writeback, cgroup: fix premature wb_put() in locked_inode_to_wb_and_lock_list()
        blk-mq: Use proper cpumask iterator
        mtip32xx: fix checks for dma mapping errors
        lightnvm: do not load L2P table if not supported
        lightnvm: do not reserve lun on l2p loading
        nvme: lightnvm: return ppa completion status
        lightnvm: add a bitmap of luns
        lightnvm: specify target's logical address area
        null_blk: add lightnvm null_blk device to the nullb_list
      1d02369d
    • Linus Torvalds's avatar
      Merge tag 'for-linus-20160324' of git://git.infradead.org/linux-mtd · 8f40842e
      Linus Torvalds authored
      Pull MTD updates from Brian Norris:
       "NAND:
         - Add sunxi_nand randomizer support
         - begin refactoring NAND ecclayout structs
         - fix pxa3xx_nand dmaengine usage
         - brcmnand: fix support for v7.1 controller
         - add Qualcomm NAND controller driver
      
        SPI NOR:
         - add new ls1021a, ls2080a support to Freescale QuadSPI
         - add new flash ID entries
         - support bottom-block protection for Winbond flash
         - support Status Register Write Protect
         - remove broken QPI support for Micron SPI flash
      
        JFFS2:
         - improve post-mount CRC scan efficiency
      
        General:
         - refactor bcm63xxpart parser, to later extend for NAND
         - add writebuf size parameter to mtdram
      
        Other minor code quality improvements"
      
      * tag 'for-linus-20160324' of git://git.infradead.org/linux-mtd: (72 commits)
        mtd: nand: remove kerneldoc for removed function parameter
        mtd: nand: Qualcomm NAND controller driver
        dt/bindings: qcom_nandc: Add DT bindings
        mtd: nand: don't select chip in nand_chip's block_bad op
        mtd: spi-nor: support lock/unlock for a few Winbond chips
        mtd: spi-nor: add TB (Top/Bottom) protect support
        mtd: spi-nor: add SPI_NOR_HAS_LOCK flag
        mtd: spi-nor: use BIT() for flash_info flags
        mtd: spi-nor: disallow further writes to SR if WP# is low
        mtd: spi-nor: make lock/unlock bounds checks more obvious and robust
        mtd: spi-nor: silently drop lock/unlock for already locked/unlocked region
        mtd: spi-nor: wait for SR_WIP to clear on initial unlock
        mtd: nand: simplify nand_bch_init() usage
        mtd: mtdswap: remove useless if (!mtd->ecclayout) test
        mtd: create an mtd_oobavail() helper and make use of it
        mtd: kill the ecclayout->oobavail field
        mtd: nand: check status before reporting timeout
        mtd: bcm63xxpart: give width specifier an 'int', not 'size_t'
        mtd: mtdram: Add parameter for setting writebuf size
        mtd: nand: pxa3xx_nand: kill unused field 'drcmr_cmd'
        ...
      8f40842e
    • Linus Torvalds's avatar
      Merge tag 'upstream-4.6-rc1' of git://git.infradead.org/linux-ubifs · 88875667
      Linus Torvalds authored
      Pull UBI/UBIFS updates from Richard Weinberger:
       "This contains cleanups and a maintainer update for UBI and UBIFS"
      
      * tag 'upstream-4.6-rc1' of git://git.infradead.org/linux-ubifs:
        ubifs: Remove unused header
        MAINTAINERS: Update UBIFS entry
        mtd: ubi: Add logging functions ubi_msg, ubi_warn and ubi_err
        ubifs: Add logging functions for ubifs_msg, ubifs_err and ubifs_warn
      88875667
    • Linus Torvalds's avatar
      Merge tag 'nfsd-4.6-1' of git://linux-nfs.org/~bfields/linux · 8b306a2e
      Linus Torvalds authored
      Pull more nfsd updates from Bruce Fields:
       "Apologies for the previous request, which omitted the top 8 commits
        from my for-next branch (including the SCSI layout commits).  Thanks
        to Trond for spotting my error!"
      
      This actually includes the new layout types, so here's that part of
      the pull message repeated:
      
       "Support for a new pnfs layout type from Christoph Hellwig.  The new
        layout type is a variant of the block layout which uses SCSI features
        to offer improved fencing and device identification.
      
        Note this pull request also includes the client side of SCSI layout,
        with Trond's permission"
      
      * tag 'nfsd-4.6-1' of git://linux-nfs.org/~bfields/linux:
        nfsd: use short read as well as i_size to set eof
        nfsd: better layoutupdate bounds-checking
        nfsd: block and scsi layout drivers need to depend on CONFIG_BLOCK
        nfsd: add SCSI layout support
        nfsd: move some blocklayout code
        nfsd: add a new config option for the block layout driver
        nfs/blocklayout: add SCSI layout support
        nfs4.h: add SCSI layout definitions
      8b306a2e
    • Linus Torvalds's avatar
      Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 70c5eb84
      Linus Torvalds authored
      Pull kbuild misc updates from Michal Marek:
       "The non-critical part of kbuild for v4.6-rc1:
      
         - coccinelle cleanup and a new patch
         - make tags rule for kprobe helpers
         - make rpm fix to avoid spurious grub2 entries
         - make rpm support for %postun script (Fedora only at the moment)"
      
      * 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kbuild/mkspec: clean boot loader configuration on rpm removal
        kbuild/mkspec: fix grub2 installkernel issue
        Coccinelle: Add api/setup_timer.cocci
        coccinelle: bugon: reduce rule applicability
        Coccinelle: pm_runtime: reduce rule applicability
        Coccinelle: array_size: reduce rule applicability
        Coccinelle: reduce rule applicability
        scripts/tags.sh: add regex to map kprobe helpers
        scripts/coccinelle: modernize &
      70c5eb84
    • Linus Torvalds's avatar
      Merge branch 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 3a1ef0e0
      Linus Torvalds authored
      Pull kconfig updates from Michal Marek:
       "Just two kconfig commits this time:
      
         - kconfig Makefile fix for make 3.80
      
         - Fix calculating symbols so that KCONFIG_ALLCONFIG=... does not
           disable CONFIG_MODULES silently"
      
      * 'kconfig' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        unbreak allmodconfig KCONFIG_ALLCONFIG=...
        scripts/kconfig: allow building with make 3.80 again
      3a1ef0e0
    • Linus Torvalds's avatar
      Merge branch 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild · 2162b80f
      Linus Torvalds authored
      Pull kbuild updates from Michal Marek:
      
       - make dtbs_install fix
      
       - Error handling fix fixdep and link-vmlinux.sh
      
       - __UNIQUE_ID fix for clang
      
       - Fix for if_changed_* to suppress the "is up to date." message
      
       - The kernel is built with -Werror=incompatible-pointer-types
      
      * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild:
        kbuild: Add option to turn incompatible pointer check into error
        kbuild: suppress annoying "... is up to date." message
        kbuild: fixdep: Check fstat(2) return value
        scripts/link-vmlinux.sh: force error on kallsyms failure
        Kbuild: provide a __UNIQUE_ID for clang
        dtbsinstall: don't move target directory out of the way
      2162b80f
    • Linus Torvalds's avatar
      Merge branch 'parisc-4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux · 976fb3f7
      Linus Torvalds authored
      Pull parisc updates from Helge Deller:
       "This patchset adds stack usage debug info for parisc and metag (on
        both the stack grows upwards), switches to the new generic realative
        extable search and sort routines, drops the long time ago removed
        syscalls alloc_hugepages and free_hugepages and wires up the new
        preadv2 and pwritev2 syscalls"
      
      * 'parisc-4.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux:
        parisc: Wire up preadv2 and pwritev2 syscalls
        parisc: Use generic extable search and sort routines
        parisc: Panic immediately when panic_on_oops
        parisc,metag: Implement CONFIG_DEBUG_STACK_USAGE option
        parisc: Drop alloc_hugepages and free_hugepages syscalls
      976fb3f7
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 9d854607
      Linus Torvalds authored
      Pull second set of arm64 updates from Catalin Marinas:
      
       - KASLR bug fixes: use callee-saved register, boot-time I-cache
         maintenance
      
       - inv_entry asm macro fix (EL0 check typo)
      
       - pr_notice("Virtual kernel memory layout...") splitting
      
       - Clean-ups: use p?d_set_huge consistently, allow preemption around
         copy_to_user_page, remove unused __local_flush_icache_all()
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: mm: allow preemption in copy_to_user_page
        arm64: consistently use p?d_set_huge
        arm64: kaslr: use callee saved register to preserve SCTLR across C call
        arm64: Split pr_notice("Virtual kernel memory layout...") into multiple pr_cont()
        arm64: drop unused __local_flush_icache_all()
        arm64: fix KASLR boot-time I-cache maintenance
        arm64/kernel: fix incorrect EL0 check in inv_entry macro
      9d854607
    • Linus Torvalds's avatar
      Merge tag 'armsoc-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc · 8a20a04b
      Linus Torvalds authored
      Pull more ARM DT changes from Arnd Bergmann:
       "Here are some final updates for ARM SoC specific dts files:
      
         - The i.MX changes were sent relatively late, and had a dependency on
           the clk tree, so I delayed that a bit.  Support for the new i.MX6qp
           SoC and a couple of new boards is added in this branch.
      
         - Uniphier renames a few files to match the final product names that
           were decided by the company, kudos to the kernel developer(s) for
           getting support upstream before the product release.  Also two
           boards are added.  The patches were posted early enough and nice
           overall, but we forgot to apply them and decided to give it some
           more time in linux-next
      
         - at91 has two small bug fixes"
      
      * tag 'armsoc-dt2' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc: (83 commits)
        ARM: dts: at91: sama5d4 Xplained: don't disable hsmci regulator
        ARM: dts: at91: sama5d3 Xplained: don't disable hsmci regulator
        ARM: dts: uniphier: add pinmux node for I2C ch4
        ARM: dts: uniphier: add @{address} to EEPROM node
        ARM: dts: uniphier: add PH1-Pro4 Sanji board support
        ARM: dts: uniphier: add PH1-Pro4 Ace board support
        ARM: dts: uniphier: enable I2C channel 2 of ProXstream2 Gentil board
        ARM: dts: uniphier: add EEPROM node for ProXstream2 Gentil board
        ARM: dts: uniphier: add reference clock nodes
        ARM: dts: uniphier: rework UniPhier System Bus nodes
        ARM: dts: uniphier: factor out ranges property of support card
        arm64: dts: uniphier: rename PH1-LD10 to PH1-LD20
        ARM: dts: imx53-qsb: Fix gpio button polarity
        ARM: dts: vfxxx: Add DAC node for Vybrid SoC
        ARM: dts: imx6q: add missing links between ipu2 and mipi dsi
        ARM: dts: imx: Add support for Advantech/GE B850v3
        ARM: dts: imx: Add support for Advantech/GE B650v3
        ARM: dts: imx: Add support for Advantech/GE B450v3
        ARM: dts: imx: Add support for Advantech/GE Bx50v3
        ARM: dts: imx: Add Advantech BA-16 Qseven module
        ...
      8a20a04b
    • Linus Torvalds's avatar
      Merge tag 'for-4.6' of git://git.osdn.jp/gitroot/uclinux-h8/linux · 732b84ee
      Linus Torvalds authored
      Pull h8300 updates from Yoshinori Sato:
       "Various h8300 fixes"
      
      * tag 'for-4.6' of git://git.osdn.jp/gitroot/uclinux-h8/linux:
        h8300: switch EARLYCON
        h8300: dts: Rename the serial port clock to fck
      732b84ee
    • Mylène Josserand's avatar
      rtc: abx80x: handle the oscillator failure bit · ee087744
      Mylène Josserand authored
      Handle the Oscillator Failure ('OF') bit from Oscillator Status register
      (0x1D). This bit is cleared on set_time function and is read each time the
      date/time is read, but only in case of XT Oscillator selection.
      In RC mode, this bit is always set.
      Signed-off-by: default avatarMylène Josserand <mylene.josserand@free-electrons.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      ee087744
    • Mylène Josserand's avatar
      rtc: abx80x: handle autocalibration · 59a8383a
      Mylène Josserand authored
      The autocalibration is separated in two bits to set in Oscillator
      Control register (0x1c) :
       - OSEL bit to select the oscillator type (XT or RC).
       - ACAL bit to select the autocalibration type.
      
      These functionnalities are exported in sysfs entries : "oscillator"
      and "autocalibration". Respectively, the values are "xtal" for XT
      oscillator and "rc" for RC oscillator and 0 to disable the
      autocalibration cycle, 512 for a 512 seconds autocalibration cycle
      and 1024 for a cycle of 1024 seconds.
      
      Examples :
      Set to XT Oscillator
      echo xtal > /sys/class/rtc/rtc0/device/oscillator
      Activate an autocalibration every 512 seconds
      echo 512 > /sys/class/rtc/rtc0/device/autocalibration
      Signed-off-by: default avatarMylène Josserand <mylene.josserand@free-electrons.com>
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      59a8383a
    • Alexandre Belloni's avatar
      rtc: rv8803: workaround i2c HW issue · 85062c9b
      Alexandre Belloni authored
      The rv8803 has a 60µs window where it will not answer on the i2c bus.
      It also means there will be no ack for the communication. Make sure
      communication is tried multiple times when this happens (the i2c subsystem
      mandates -ENXIO is that case but the number of retries is host specific).
      The critical parts are the probe function and the alarm callback so make
      sure we handle the failure there.
      
      Cc: stable@vger.kernel.org # v4.4
      Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@free-electrons.com>
      85062c9b
  2. 24 Mar, 2016 12 commits
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-soc', 'acpi-misc', 'acpi-pci' and 'device-properties' · ee0140dc
      Rafael J. Wysocki authored
      * acpi-soc:
        ACPI / APD: Add device HID for future AMD UART controller
      
      * acpi-misc:
        ACPI / util: cast data to u64 before shifting to fix sign extension
      
      * acpi-pci:
        PCI: ACPI: IA64: fix IO port generic range check
      
      * device-properties:
        ACPI / property: fix data node parsing in acpi_get_next_subnode()
      ee0140dc
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-avs', 'pm-clk', 'pm-devfreq' and 'pm-sleep' · 3513ac74
      Rafael J. Wysocki authored
      * pm-avs:
        PM / AVS: rockchip-io: add io selectors and supplies for rk3399
      
      * pm-clk:
        PM / clk: Add support for obtaining clocks from device-tree
      
      * pm-devfreq:
        PM / devfreq: Spelling s/frequnecy/frequency/
      
      * pm-sleep:
        ACPI / PM: Runtime resume devices when waking from hibernate
        PM / sleep: Clear pm_suspend_global_flags upon hibernate
      3513ac74
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-cpufreq' and 'pm-cpuidle' · 33068b61
      Rafael J. Wysocki authored
      * pm-cpufreq:
        cpufreq: governor: Always schedule work on the CPU running update
        cpufreq: Always update current frequency before startig governor
        cpufreq: Introduce cpufreq_update_current_freq()
        cpufreq: Introduce cpufreq_start_governor()
        cpufreq: powernv: Add sysfs attributes to show throttle stats
        cpufreq: acpi-cpufreq: make Intel/AMD MSR access, io port access static
        cpufreq: powernv: Define per_cpu chip pointer to optimize hot-path
        cpufreq: acpi-cpufreq: Clean up hot plug notifier callback
        intel_pstate: Do not call wrmsrl_on_cpu() with disabled interrupts
        cpufreq: Make cpufreq_quick_get() safe to call
      
      * pm-cpuidle:
        intel_idle: Support for Intel Xeon Phi Processor x200 Product Family
        intel_idle: prevent SKL-H boot failure when C8+C9+C10 enabled
        cpuidle: menu: Fall back to polling if next timer event is near
        cpuidle: menu: use high confidence factors only when considering polling
      33068b61
    • Guenter Roeck's avatar
      MAINTAINERS: Update mailing list and web page for hwmon subsystem · 968ce1b1
      Guenter Roeck authored
      The old web page for the hwmon subsystem is no longer operational,
      and the mailing list has become unreliable. Move both to kernel.org.
      Reviewed-by: default avatarJean Delvare <jdelvare@suse.de>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
      968ce1b1
    • Linus Torvalds's avatar
      Merge tag 'trace-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · e46b4e2b
      Linus Torvalds authored
      Pull tracing updates from Steven Rostedt:
       "Nothing major this round.  Mostly small clean ups and fixes.
      
        Some visible changes:
      
         - A new flag was added to distinguish traces done in NMI context.
      
         - Preempt tracer now shows functions where preemption is disabled but
           interrupts are still enabled.
      
        Other notes:
      
         - Updates were done to function tracing to allow better performance
           with perf.
      
         - Infrastructure code has been added to allow for a new histogram
           feature for recording live trace event histograms that can be
           configured by simple user commands.  The feature itself was just
           finished, but needs a round in linux-next before being pulled.
      
           This only includes some infrastructure changes that will be needed"
      
      * tag 'trace-v4.6' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace: (22 commits)
        tracing: Record and show NMI state
        tracing: Fix trace_printk() to print when not using bprintk()
        tracing: Remove redundant reset per-CPU buff in irqsoff tracer
        x86: ftrace: Fix the misleading comment for arch/x86/kernel/ftrace.c
        tracing: Fix crash from reading trace_pipe with sendfile
        tracing: Have preempt(irqs)off trace preempt disabled functions
        tracing: Fix return while holding a lock in register_tracer()
        ftrace: Use kasprintf() in ftrace_profile_tracefs()
        ftrace: Update dynamic ftrace calls only if necessary
        ftrace: Make ftrace_hash_rec_enable return update bool
        tracing: Fix typoes in code comment and printk in trace_nop.c
        tracing, writeback: Replace cgroup path to cgroup ino
        tracing: Use flags instead of bool in trigger structure
        tracing: Add an unreg_all() callback to trigger commands
        tracing: Add needs_rec flag to event triggers
        tracing: Add a per-event-trigger 'paused' field
        tracing: Add get_syscall_name()
        tracing: Add event record param to trigger_ops.func()
        tracing: Make event trigger functions available
        tracing: Make ftrace_event_field checking functions available
        ...
      e46b4e2b
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · faea72dd
      Linus Torvalds authored
      Pull thermal updates from Zhang Rui:
      
       - Fix a regression where bogus trip points on some Lenovo laptops start
         to screw up thermal control after commit 81ad4276 ("Thermal:
         initialize thermal zone device correctly").
      
         On these Lenovo laptops, a bogus passive trip point is reported,
         which is 0 degree Celsius.  Without commit 81ad4276, thermal zone
         fails to set cooling devices to proper cooling state, which is a bug.
         But with commit 81ad4276 applied, the processors are always
         throttled on these Lenovo laptops because the current temperature is
         always higher than the passive trip point.
      
         Fix things to ignore such bogus trip points.  (Zhang Rui)
      
       - Introduce Mediatek thermal driver.  (Sascha Hauer)
      
       - Introduce devm_ versions of OF thermal sensor register API.  (Laxman
         Dewangan)
      
       - Changes in Kconfigs to allow compile test on UM arch.  (Krzysztof
         Kozlowski)
      
       - Introduce Skylake support in intel_pch_thermal driver.  (Srinivas
         Pandruvada)
      
       - Several small fixes on Rockchip, TI-SoC, Tegra, RCar, and Exynos
         thermal drivers.
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux: (26 commits)
        Thermal: Ignore invalid trip points
        thermal: trace: migrating thermal traces to use TRACE_DEFINE_ENUM() macros
        thermal: intel_pch_thermal: Enable Skylake PCH thermal
        thermal: doc: Add details of devm_thermal_zone_of_sensor_{register,unregister}
        thermal: of-thermal: Add devm version of thermal_zone_of_sensor_register
        thermal: doc: Add details of thermal_zone_of_sensor_{register,unregister}
        thermal: exynos: Defer probe if vtmu is present but not registered
        thermal: exynos: Use devm_regulator_get_optional() for vtmu
        thermal: exynos: List vtmu-supply as optional property in DT binding
        thermal: exynos: Print a message about exceeded number of supported trip-points
        thermal: exynos: Document number of supported trip-points
        thermal: exynos: Document compatible for Exynos5433 TMU
        thermal: mtk: allow compile testing on UM
        thermal: tegra_soctherm: fix sign bit of temperature
        thermal: Fix build error of missing devm_ioremap_resource on UM
        thermal: ti-soc-thermal: clean up the error handling a bit
        thermal: rcar: Use ARCH_RENESAS
        thermal: rcar_thermal: don't open code of_device_get_match_data()
        thermal: db8500_cpufreq_cooling: Compile with COMPILE_TEST
        thermal: rockchip: fix the tsadc sequence output on rk3228/rk3399
        ...
      faea72dd
    • Linus Torvalds's avatar
      Merge tag 'nfsd-4.6' of git://linux-nfs.org/~bfields/linux · 5b1e167d
      Linus Torvalds authored
      Pull nfsd updates from Bruce Fields:
       "Various bugfixes, a RDMA update from Chuck Lever, and support for a
        new pnfs layout type from Christoph Hellwig.  The new layout type is a
        variant of the block layout which uses SCSI features to offer improved
        fencing and device identification.
      
        (Also: note this pull request also includes the client side of SCSI
        layout, with Trond's permission.)"
      
      * tag 'nfsd-4.6' of git://linux-nfs.org/~bfields/linux:
        sunrpc/cache: drop reference when sunrpc_cache_pipe_upcall() detects a race
        nfsd: recover: fix memory leak
        nfsd: fix deadlock secinfo+readdir compound
        nfsd4: resfh unused in nfsd4_secinfo
        svcrdma: Use new CQ API for RPC-over-RDMA server send CQs
        svcrdma: Use new CQ API for RPC-over-RDMA server receive CQs
        svcrdma: Remove close_out exit path
        svcrdma: Hook up the logic to return ERR_CHUNK
        svcrdma: Use correct XID in error replies
        svcrdma: Make RDMA_ERROR messages work
        rpcrdma: Add RPCRDMA_HDRLEN_ERR
        svcrdma: svc_rdma_post_recv() should close connection on error
        svcrdma: Close connection when a send error occurs
        nfsd: Lower NFSv4.1 callback message size limit
        svcrdma: Do not send Write chunk XDR pad with inline content
        svcrdma: Do not write xdr_buf::tail in a Write chunk
        svcrdma: Find client-provided write and reply chunks once per reply
        nfsd: Update NFS server comments related to RDMA support
        nfsd: Fix a memory leak when meeting unsupported state_protect_how4
        nfsd4: fix bad bounds checking
      5b1e167d
    • Linus Torvalds's avatar
      Merge tag 'staging-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging · 8b97be05
      Linus Torvalds authored
      Pull staging driver fixes from Greg KH:
       "Here are some fixes that poped up due to the big staging tree merge,
        as well as the removal of a staging driver that now is covered by a
        "real" driver.
      
        All of these have been in linux-next for a few days with no reported
        issues"
      
      * tag 'staging-4.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging:
        staging: delete STE RMI4 hackish driver
        staging: android: ion_test: fix check of platform_device_register_simple() error code
        staging: wilc1000: fix a couple of memory leaks
        staging: fsl-mc: fix incorrect type passed to dev_err macros
        staging: fsl-mc: fix incorrect type passed to dev_dbg macros
        staging: wilc1000: fixed kernel panic when firmware is not started
        staging: comedi: ni_mio_common: fix the ni_write[blw]() functions
        staging: most: hdm-dim2: Remove possible dereference error
        staging: lustre: checking for NULL instead of IS_ERR
        staging: lustre: really make lustre dependent on LNet
        staging: refresh TODO for rtl8712
        staging: refresh TODO for rtl8723au
      8b97be05
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 44d1b6dd
      Linus Torvalds authored
      Pull timer fix from Thomas Gleixner:
       "A single fix to the pistachio clocksource driver using the proper
        signedness in the error print format"
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        clocksource/drivers/pistachio: Correct output format of PTR_ERR()
      44d1b6dd
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0f0fbec9
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
       "A small set of fixes for the usual ARM/SOC irqchip drivers
      
         - A set of fixes for mbigen to handle multiple devices in a hardware
           module proper
      
         - A cleanup for the mbigen config option which was pointlessly user
           configurable.
      
         - A cleanup for tegra replacing open coded functionality by the
           proper core function
      
        The config cleanup touches arch/arm64/Kconfig.platforms to select the
        irq chip for the related platform"
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqchip/mbigen: Make CONFIG_HISILICON_IRQ_MBIGEN a hidden option
        ARM64: Kconfig: Select mbigen interrupt controller on Hisilicon platform
        irqchip/mbigen: Handle multiple device nodes in a mbigen module
        irqchip/mbigen: Adjust DT bindings to handle multiple devices in a module
        irqchip/tegra: Switch to use irq_domain_free_irqs_common
      0f0fbec9
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3fa2fe2c
      Linus Torvalds authored
      Pull perf fixes from Ingo Molnar:
       "This tree contains various perf fixes on the kernel side, plus three
        hw/event-enablement late additions:
      
         - Intel Memory Bandwidth Monitoring events and handling
         - the AMD Accumulated Power Mechanism reporting facility
         - more IOMMU events
      
        ... and a final round of perf tooling updates/fixes"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (44 commits)
        perf llvm: Use strerror_r instead of the thread unsafe strerror one
        perf llvm: Use realpath to canonicalize paths
        perf tools: Unexport some methods unused outside strbuf.c
        perf probe: No need to use formatting strbuf method
        perf help: Use asprintf instead of adhoc equivalents
        perf tools: Remove unused perf_pathdup, xstrdup functions
        perf tools: Do not include stringify.h from the kernel sources
        tools include: Copy linux/stringify.h from the kernel
        tools lib traceevent: Remove redundant CPU output
        perf tools: Remove needless 'extern' from function prototypes
        perf tools: Simplify die() mechanism
        perf tools: Remove unused DIE_IF macro
        perf script: Remove lots of unused arguments
        perf thread: Rename perf_event__preprocess_sample_addr to thread__resolve
        perf machine: Rename perf_event__preprocess_sample to machine__resolve
        perf tools: Add cpumode to struct perf_sample
        perf tests: Forward the perf_sample in the dwarf unwind test
        perf tools: Remove misplaced __maybe_unused
        perf list: Fix documentation of :ppp
        perf bench numa: Fix assertion for nodes bitfield
        ...
      3fa2fe2c
    • Arnd Bergmann's avatar
      Merge tag 'at91-fixes' of... · 6fe35ab7
      Arnd Bergmann authored
      Merge tag 'at91-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91 into next/dt2
      
      Merge "First fixes batch for AT91 on 4.6 - DT only fixes" from Nicolas Ferre:
      - prevent the boards from having glitches when inserting/removing SD card on
        sama5d3/d4 Xplained. The regulators should be kept on.
      
      * tag 'at91-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nferre/linux-at91:
        ARM: dts: at91: sama5d4 Xplained: don't disable hsmci regulator
        ARM: dts: at91: sama5d3 Xplained: don't disable hsmci regulator
        ARM: dts: at91: sama5d2 Xplained: add leds node
        ARM: dts: at91: sama5d2 Xplained: add user push button
        ARM: dts: at91: sama5d2 Xplained: set pin muxing for usb gadget and usb host
        ARM: dts: at91: sama5d2: add nand0 and nfc0 nodes
        ARM: dts: at91: sama5d2: add dma properties to UART nodes
        ARM: dts: at91: sama5d2 Xplained: Correct the macb irq pinctrl node
      6fe35ab7