1. 12 Jan, 2016 33 commits
    • Linus Torvalds's avatar
      Merge tag 'locks-v4.5-1' of git://git.samba.org/jlayton/linux · 065019a3
      Linus Torvalds authored
      Pull file locking updates from Jeff Layton:
       "File locking related changes for v4.5 (pile #1)
      
        Highlights:
         - new Kconfig option to allow disabling mandatory locking (which is
           racy anyway)
         - new tracepoints for setlk and close codepaths
         - fix for a long-standing bug in code that handles races between
           setting a POSIX lock and close()"
      
      * tag 'locks-v4.5-1' of git://git.samba.org/jlayton/linux:
        locks: rename __posix_lock_file to posix_lock_inode
        locks: prink more detail when there are leaked locks
        locks: pass inode pointer to locks_free_lock_context
        locks: sprinkle some tracepoints around the file locking code
        locks: don't check for race with close when setting OFD lock
        locks: fix unlock when fcntl_setlk races with a close
        fs: make locks.c explicitly non-modular
        locks: use list_first_entry_or_null()
        locks: Don't allow mounts in user namespaces to enable mandatory locking
        locks: Allow disabling mandatory locking at compile time
      065019a3
    • Linus Torvalds's avatar
      Merge branch 'for-linus-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml · 4f31d774
      Linus Torvalds authored
      Pull UML updates from Richard Weinberger:
       "This contains beside of random fixes/cleanups two bigger changes:
      
         - seccomp support by Mickaël Salaün
      
         - IRQ rework by Anton Ivanov"
      
      * 'for-linus-4.5-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml:
        um: Use race-free temporary file creation
        um: Do not set unsecure permission for temporary file
        um: Fix build error and kconfig for i386
        um: Add seccomp support
        um: Add full asm/syscall.h support
        selftests/seccomp: Remove the need for HAVE_ARCH_TRACEHOOK
        um: Fix ptrace GETREGS/SETREGS bugs
        um: link with -lpthread
        um: Update UBD to use pread/pwrite family of functions
        um: Do not change hard IRQ flags in soft IRQ processing
        um: Prevent IRQ handler reentrancy
        uml: flush stdout before forking
        uml: fix hostfs mknod()
      4f31d774
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 1baa5efb
      Linus Torvalds authored
      Pull KVM updates from Paolo Bonzini:
       "PPC changes will come next week.
      
         - s390: Support for runtime instrumentation within guests, support of
           248 VCPUs.
      
         - ARM: rewrite of the arm64 world switch in C, support for 16-bit VM
           identifiers.  Performance counter virtualization missed the boat.
      
         - x86: Support for more Hyper-V features (synthetic interrupt
           controller), MMU cleanups"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (115 commits)
        kvm: x86: Fix vmwrite to SECONDARY_VM_EXEC_CONTROL
        kvm/x86: Hyper-V SynIC timers tracepoints
        kvm/x86: Hyper-V SynIC tracepoints
        kvm/x86: Update SynIC timers on guest entry only
        kvm/x86: Skip SynIC vector check for QEMU side
        kvm/x86: Hyper-V fix SynIC timer disabling condition
        kvm/x86: Reorg stimer_expiration() to better control timer restart
        kvm/x86: Hyper-V unify stimer_start() and stimer_restart()
        kvm/x86: Drop stimer_stop() function
        kvm/x86: Hyper-V timers fix incorrect logical operation
        KVM: move architecture-dependent requests to arch/
        KVM: renumber vcpu->request bits
        KVM: document which architecture uses each request bit
        KVM: Remove unused KVM_REQ_KICK to save a bit in vcpu->requests
        kvm: x86: Check kvm_write_guest return value in kvm_write_wall_clock
        KVM: s390: implement the RI support of guest
        kvm/s390: drop unpaired smp_mb
        kvm: x86: fix comment about {mmu,nested_mmu}.gva_to_gpa
        KVM: x86: MMU: Use clear_page() instead of init_shadow_page_table()
        arm/arm64: KVM: Detect vGIC presence at runtime
        ...
      1baa5efb
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.5-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · c9bed1cf
      Linus Torvalds authored
      Pull xen updates from David Vrabel:
       "Xen features and fixes for 4.5-rc0:
      
         - Stolen ticks and PV wallclock support for arm/arm64
      
         - Add grant copy ioctl to gntdev device"
      
      * tag 'for-linus-4.5-rc0-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xen/gntdev: add ioctl for grant copy
        x86/xen: don't reset vcpu_info on a cancelled suspend
        xen/gntdev: constify mmu_notifier_ops structures
        xen/grant-table: constify gnttab_ops structure
        xen/time: use READ_ONCE
        xen/x86: convert remaining timespec to timespec64 in xen_pvclock_gtod_notify
        xen/x86: support XENPF_settime64
        xen/arm: set the system time in Xen via the XENPF_settime64 hypercall
        xen/arm: introduce xen_read_wallclock
        arm: extend pvclock_wall_clock with sec_hi
        xen: introduce XENPF_settime64
        xen/arm: introduce HYPERVISOR_platform_op on arm and arm64
        xen: rename dom0_op to platform_op
        xen/arm: account for stolen ticks
        arm64: introduce CONFIG_PARAVIRT, PARAVIRT_TIME_ACCOUNTING and pv_time_ops
        arm: introduce CONFIG_PARAVIRT, PARAVIRT_TIME_ACCOUNTING and pv_time_ops
        missing include asm/paravirt.h in cputime.c
        xen: move xen_setup_runstate_info and get_runstate_snapshot to drivers/xen/time.c
      c9bed1cf
    • Linus Torvalds's avatar
      Merge branch 'for-linux-next' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming · 75777c18
      Linus Torvalds authored
      Pull tiny c6x update from Mark Salter.
      
      * 'for-linux-next' of git://linux-c6x.org/git/projects/linux-c6x-upstreaming:
        c6x: Use generic clkdev.h header
      75777c18
    • Linus Torvalds's avatar
      Merge branch 'component' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · c3ce79d6
      Linus Torvalds authored
      Pull component updates from Russell King:
       "Updates for the component helper merged last year.
      
        This update removes the old add_components method of detecting and
        looking up the components associated with a master device.  Last time
        I checked during the 4.4-rc cycle, there were no users of the old
        interfaces, as has been the case for some time now.  Breakage due to
        conflicting development is possible, in which case this pull will have
        to be reverted - however, these changes have been in linux-next since
        Dec 7th without any problems reported.
      
        Removal of that then allows us to change the way we track components
        internally, allowing us to release data that has been used for
        matching at the appropriate time, thereby allowing any resource leaks
        caused by that missing functionality to be resolved"
      
      * 'component' of git://ftp.arm.linux.org.uk/~rmk/linux-arm:
        component: add support for releasing match data
        component: track components via array rather than list
        component: move check for unbound master into try_to_bring_up_masters()
        component: remove old add_components method
      c3ce79d6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm · 01e9d226
      Linus Torvalds authored
      Pull ARM updates from Russell King:
      
       - UEFI boot and runtime services support for ARM from Ard Biesheuvel
         and Roy Franz.
      
       - DT compatibility with old atags booting protocol for Nokia N900
         devices from Ivaylo Dimitrov.
      
       - PSCI firmware interface using new arm-smc calling convention from
         Jens Wiklander.
      
       - Runtime patching for udiv/sdiv instructions for ARMv7 CPUs that
         support these instructions from Nicolas Pitre.
      
       - L2x0 cache updates from Dirk B and Linus Walleij.
      
       - Randconfig fixes from Arnd Bergmann.
      
       - ARMv7M (nommu) updates from Ezequiel Garcia
      
      * 'for-linus' of git://ftp.arm.linux.org.uk/~rmk/linux-arm: (34 commits)
        ARM: 8481/2: drivers: psci: replace psci firmware calls
        ARM: 8480/2: arm64: add implementation for arm-smccc
        ARM: 8479/2: add implementation for arm-smccc
        ARM: 8478/2: arm/arm64: add arm-smccc
        ARM: 8494/1: mm: Enable PXN when running non-LPAE kernel on LPAE processor
        ARM: 8496/1: OMAP: RX51: save ATAGS data in the early boot stage
        ARM: 8495/1: ATAGS: move save_atags() to arch/arm/include/asm/setup.h
        ARM: 8452/3: PJ4: make coprocessor access sequences buildable in Thumb2 mode
        ARM: 8482/1: l2x0: make it possible to disable outer sync from DT
        ARM: 8488/1: Make IPI_CPU_BACKTRACE a "non-secure" SGI
        ARM: 8487/1: Remove IPI_CALL_FUNC_SINGLE
        ARM: 8485/1: cpuidle: remove cpu parameter from the cpuidle_ops suspend hook
        ARM: 8484/1: Documentation: l2c2x0: Mention separate controllers explicitly
        ARM: 8483/1: Documentation: l2c: Rename l2cc to l2c2x0
        ARM: 8477/1: runtime patch udiv/sdiv instructions into __aeabi_{u}idiv()
        ARM: 8476/1: VDSO: use PTR_ERR_OR_ZERO for vma check
        ARM: 8453/2: proc-v7.S: don't locate temporary stack space in .text section
        ARM: add UEFI stub support
        ARM: wire up UEFI init and runtime support
        ARM: only consider memblocks with NOMAP cleared for linear mapping
        ...
      01e9d226
    • Linus Torvalds's avatar
      Merge tag 'arm64-perf' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 541d284b
      Linus Torvalds authored
      Pull arm[64] perf updates from Will Deacon:
       "In the past, I have funnelled perf updates through the respective
        architecture trees, but now that the arm/arm64 perf driver has been
        largely consolidated under drivers/perf/, it makes more sense to send
        a separate pull, particularly as I'm listed as maintainer for all the
        files involved.  I offered the branch to arm-soc, but Arnd suggested
        that I just send it to you directly.
      
        So, here is the arm/arm64 perf queue for 4.5.  The main features are
        described below, but the most useful change is from Drew, which
        advertises our architected event mapping in sysfs so that the perf
        tool is a lot more user friendly and no longer requires the use of
        magic hex constants for profiling common events.
      
         - Support for the CPU PMU in Cortex-A72
      
         - Add sysfs entries to describe the architected events and their
           mappings for PMUv{1-3}"
      
      * tag 'arm64-perf' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux:
        arm64: perf: add support for Cortex-A72
        arm64: perf: add format entry to describe event -> config mapping
        ARM: perf: add format entry to describe event -> config mapping
        arm64: kernel: enforce pmuserenr_el0 initialization and restore
        arm64: perf: Correct Cortex-A53/A57 compatible values
        arm64: perf: Add event descriptions
        arm64: perf: Convert event enums to #defines
        arm: perf: Add event descriptions
        arm: perf: Convert event enums to #defines
        drivers/perf: kill armpmu_register
      541d284b
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · fa5fd7c6
      Linus Torvalds authored
      Pull arm64 updates from Will Deacon:
       "Here is the core arm64 queue for 4.5.  As you might expect, the
        Christmas break resulted in a number of patches not making the final
        cut, so 4.6 is likely to be larger than usual.  There's still some
        useful stuff here, however, and it's detailed below.
      
        The EFI changes have been Reviewed-by Matt and the memblock change got
        an "OK" from akpm.
      
        Summary:
      
         - Support for a separate IRQ stack, although we haven't reduced the
           size of our thread stack just yet since we don't have enough data
           to determine a safe value
      
         - Refactoring of our EFI initialisation and runtime code into
           drivers/firmware/efi/ so that it can be reused by arch/arm/.
      
         - Ftrace improvements when unwinding in the function graph tracer
      
         - Document our silicon errata handling process
      
         - Cache flushing optimisation when mapping executable pages
      
         - Support for hugetlb mappings using the contiguous hint in the pte"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (45 commits)
        arm64: head.S: use memset to clear BSS
        efi: stub: define DISABLE_BRANCH_PROFILING for all architectures
        arm64: entry: remove pointless SPSR mode check
        arm64: mm: move pgd_cache initialisation to pgtable_cache_init
        arm64: module: avoid undefined shift behavior in reloc_data()
        arm64: module: fix relocation of movz instruction with negative immediate
        arm64: traps: address fallout from printk -> pr_* conversion
        arm64: ftrace: fix a stack tracer's output under function graph tracer
        arm64: pass a task parameter to unwind_frame()
        arm64: ftrace: modify a stack frame in a safe way
        arm64: remove irq_count and do_softirq_own_stack()
        arm64: hugetlb: add support for PTE contiguous bit
        arm64: Use PoU cache instr for I/D coherency
        arm64: Defer dcache flush in __cpu_copy_user_page
        arm64: reduce stack use in irq_handler
        arm64: mm: ensure that the zero page is visible to the page table walker
        arm64: Documentation: add list of software workarounds for errata
        arm64: mm: place __cpu_setup in .text
        arm64: cmpxchg: Don't incldue linux/mmdebug.h
        arm64: mm: fold alternatives into .init
        ...
      fa5fd7c6
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 19e2fc40
      Linus Torvalds authored
      Pull m68knommu update from Greg Ungerer:
       "Only a single change, limiting the return values for coldfire gpio get
        function"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
        m68k: coldfire/gpio: Be sure to clamp return value
      19e2fc40
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 2945e9f1
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven.
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: Provide __phys_to_pfn() and __pfn_to_phys()
        m68k/atari, m68k/sun3: Fix SCSI platform device registration when driver is modular
        m68k/defconfig: Update defconfigs for v4.4-rc1
        m68k/mac: Kill psc_present
      2945e9f1
    • Linus Torvalds's avatar
      Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus · c5c80bd9
      Linus Torvalds authored
      Pull MIPS fixes from Ralf Baechle:
       "This is the final pull request for MIPS for 4.4.  It fixes:
      
         - scripts/ld-version.sh parsing of ld version numbers that contain
           large numbers as components.
         - fix parsing of version numbers as used by Fedora's ld.
      
        Currently scripts/ld-version.sh is only being used by MIPS"
      
      [ This obviously missed 4.4, so getting merged now in the merge window
        for 4.5 instead ]
      
      * 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus:
        ld-version: Fix it on Fedora
        Fix ld-version.sh to handle large 3rd version part
      c5c80bd9
    • Russell King's avatar
      Merge branch 'devel-stable' into for-linus · 6660800f
      Russell King authored
      6660800f
    • Huaitong Han's avatar
      kvm: x86: Fix vmwrite to SECONDARY_VM_EXEC_CONTROL · 45bdbcfd
      Huaitong Han authored
      vmx_cpuid_tries to update SECONDARY_VM_EXEC_CONTROL in the VMCS, but
      it will cause a vmwrite error on older CPUs because the code does not
      check for the presence of CPU_BASED_ACTIVATE_SECONDARY_CONTROLS.
      
      This will get rid of the following trace on e.g. Core2 6600:
      
      vmwrite error: reg 401e value 10 (err 12)
      Call Trace:
      [<ffffffff8116e2b9>] dump_stack+0x40/0x57
      [<ffffffffa020b88d>] vmx_cpuid_update+0x5d/0x150 [kvm_intel]
      [<ffffffffa01d8fdc>] kvm_vcpu_ioctl_set_cpuid2+0x4c/0x70 [kvm]
      [<ffffffffa01b8363>] kvm_arch_vcpu_ioctl+0x903/0xfa0 [kvm]
      
      Fixes: feda805f
      Cc: stable@vger.kernel.org
      Reported-by: default avatarZdenek Kaspar <zkaspar82@gmail.com>
      Signed-off-by: default avatarHuaitong Han <huaitong.han@intel.com>
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      45bdbcfd
    • Linus Torvalds's avatar
      Merge tag 'dm-4.5-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 03891f9c
      Linus Torvalds authored
      Pull device mapper updates from Mike Snitzer:
      
       - The most significant set of changes this cycle is the Forward Error
         Correction (FEC) support that has been added to the DM verity target.
      
         Google uses DM verity on all Android devices and it is believed that
         this FEC support will enable DM verity to recover from storage
         failures seen since DM verity was first deployed as part of Android.
      
       - A stable fix for a race in the destruction of DM thin pool's
         workqueue
      
       - A stable fix for hung IO if a DM snapshot copy hit an error
      
       - A few small cleanups in DM core and DM persistent data.
      
       - A couple DM thinp range discard improvements (address atomicity of
         finding a range and the efficiency of discarding a partially mapped
         thin device)
      
       - Add ability to debug DM bufio leaks by recording stack trace when a
         buffer is allocated.  Upon detected leak the recorded stack is
         dumped.
      
      * tag 'dm-4.5-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm:
        dm snapshot: fix hung bios when copy error occurs
        dm thin: bump thin and thin-pool target versions
        dm thin: fix race condition when destroying thin pool workqueue
        dm space map metadata: remove unused variable in brb_pop()
        dm verity: add ignore_zero_blocks feature
        dm verity: add support for forward error correction
        dm verity: factor out verity_for_bv_block()
        dm verity: factor out structures and functions useful to separate object
        dm verity: move dm-verity.c to dm-verity-target.c
        dm verity: separate function for parsing opt args
        dm verity: clean up duplicate hashing code
        dm btree: factor out need_insert() helper
        dm bufio: use BUG_ON instead of conditional call to BUG
        dm bufio: store stacktrace in buffers to help find buffer leaks
        dm bufio: return NULL to improve code clarity
        dm block manager: cleanup code that prints stacktrace
        dm: don't save and restore bi_private
        dm thin metadata: make dm_thin_find_mapped_range() atomic
        dm thin metadata: speed up discard of partially mapped volumes
      03891f9c
    • Linus Torvalds's avatar
      Merge tag 'media/v4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · 47c62e4b
      Linus Torvalds authored
      Pull media updates from Mauro Carvalho Chehab:
       "The part of patches for Kernel 4.5.  There's nothing really big here:
      
         - driver-specific headers for media devices were moved to separate
           directories, in order to make clear what headers belong to the core
           kABI and require documentation
      
         - Platform data for media drivers were moved from include/media to
           include/linux/platform_data/media
      
         - add a driver for cs3308 8-channel volume control, used on some
           high-end capture boards
      
         - lirc.h kAPI header were added at include/uapi/linux
      
         - Driver cleanups, new board additions and improvements"
      
      * tag 'media/v4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (204 commits)
        [media] rc: sunxi-cir: Initialize the spinlock properly
        [media] rtl2832: do not filter out slave TS null packets
        [media] rtl2832: print reg number on error case
        [media] rtl28xxu: return demod reg page from driver cache
        [media] coda: enable MPEG-2 ES decoding
        [media] coda: don't start streaming without queued buffers
        [media] coda: hook up vidioc_prepare_buf
        [media] coda: relax coda_jpeg_check_buffer for trailing bytes
        [media] coda: make to_coda_video_device static
        [media] s5p-mfc: remove volatile attribute from MFC register addresses
        [media] s5p-mfc: merge together s5p_mfc_hw_call and s5p_mfc_hw_call_void
        [media] s5p-mfc: use spinlock to protect MFC context
        [media] s5p-mfc: remove unnecessary callbacks
        [media] s5p-mfc: make queue cleanup code common
        [media] s5p-mfc: use one implementation of s5p_mfc_get_new_ctx
        [media] s5p-mfc: constify s5p_mfc_codec_ops structures
        [media] au8522: Avoid memory leak for device config data
        [media] ir-lirc-codec.c: don't leak lirc->drv-rbuf
        [media] uvcvideo: small cleanup in uvc_video_clock_update()
        [media] uvcvideo: Fix reading the current exposure value of UVC
        ...
      47c62e4b
    • Linus Torvalds's avatar
      Merge tag 'leds-for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds · 2c487121
      Linus Torvalds authored
      Pull LED subsystem updates from Jacek Anaszewski:
       "Besides regular driver updates, we introduce a portion of LED core
        improvements, that allow to avoid the need for using work queues in
        the LED class drivers, that set brightness in a blocking way.
      
        Affected LED class drivers are being optimized accordingly.
      
         - LED core improvements:
              - use EXPORT_SYMBOL_GPL consistently,
              - add two new LED_BLINK_ flags,
              - rename brightness_set_sync op to brightness_set_blocking,
              - add led_set_brightness_nosleep{nopm} functions,
              - use set_brightness_work for the blocking op,
              - drivers shouldn't enforce SYNC/ASYNC brightness setting,
              - turn off the LED and wait for completion on unregistering LED
                class device,
              - add managed version of led_trigger_register,
              - add description of brightness setting API to the LED class doc.
      
         - Remove work queues from drivers: leds-tlc591xx, leds-88pm860x, leds-adp5520,
              leds-bd2802, leds-blinkm, leds-lm3533, leds-lm3642, leds-pca9532,
              leds-lp3944, leds-lp55xx, leds-lp8788, leds-lp8860, leds-pca955x,
              leds-pca963x, leds-wm831x, leds-da903x, leds-da9052, leds-dac124d085,
              leds-lt3593, leds-max8997, leds-mc13783, leds-regulator, leds-wm8350,
              leds-max77693, leds-aat1290, leds-ktd2692, leds-gpio, leds-pwm,
              leds-lm355x, leds-ns2.
      
         - Replace brightness_set op with a new brightness_set_blocking op to
           make the drivers compatible with led triggers: leds-ipaq-micro,
           leds-powernv.
      
         - Add missing of_node_put: leds-ktd2692, leds-aat1290, leds-max77693.
      
         - Make the driver explicitly non-modular: ledtrig-cpu,
           ledtrig-ide-disk, leds-syscon.
      
         - Improvements to leds-bcm6328:
              - reuse bcm6328_led_set() instead of copying its functionality,
              - swap LED ON and OFF definitions,
              - improve blink support,
              - simplify duplicated unlock in bcm6328_blink_set,
              - add little endian support,
              - remove unneded lock when checking initial LED status,
              - add HAS_IOMEM dependency,
              - code cleaning.
      
         - Improvements to leds-bcm6358:
              - use bcm6358_led_set() in order to get rid of the lock,
              - merge bcm6358_led_mode and bcm6358_led_set,
              - add little endian support,
              - remove unneded lock when checking initial LED status,
              - add HAS_IOMEM dependency,
              - remove unneeded busy status check.
      
         - Call led_pwm_set() in leds-pwm to enforce default LED_OFF.
      
         - Fix duration to be msec instead of jiffies: ledtrig-transient.
      
         - Removing NULL check: leds-powernv.
      
         - Use platform_register/unregister_drivers(): leds-sunfire.
      
         - Fix module license specification: ledtrig-oneshot.
      
         - Fix driver description and make license match the header: leds-pwm.
      
         - Remove checking for state < 1 in flash_strobe_store():
           led-class-flash.
      
         - Use led_set_brightness_sync for torch brightness:
           v4l2-flash-led-class"
      
      * tag 'leds-for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: (68 commits)
        leds: add HAS_IOMEM dependency to LEDS_BCM6328/LEDS_BCM6358
        leds: core: add managed version of led_trigger_register
        leds: bcm6358: remove unneeded busy status check
        leds: bcm6328: improve blink support
        leds: bcm6358: merge bcm6358_led_mode and bcm6358_led_set
        leds: bcm6328: simplify duplicated unlock in bcm6328_blink_set
        leds: bcm6358: add little endian support
        leds: bcm6328: add little endian support
        leds: bcm6358: remove unneded lock when checking initial LED status
        leds: bcm6358: Use bcm6358_led_set() in order to get rid of the lock
        leds: bcm6328: remove unneded lock when checking initial LED
        leds: bcm6328: code cleaning
        leds: syscon: Make the driver explicitly non-modular
        leds: ledtrig-ide-disk: Make the driver explicitly non-modular
        leds: ledtrig-cpu: Make the driver explicitly non-modular
        leds: sunfire: Use platform_register/unregister_drivers()
        leds: max77693: Add missing of_node_put
        leds: aat1290: Add missing of_node_put
        leds: powernv: Implement brightness_set_blocking op
        leds: ipaq-micro: Implement brightness_set_blocking op
        ...
      2c487121
    • Linus Torvalds's avatar
      Merge tag 'edac_for_4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp · d870a9d5
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
      
       - hide EDAC workqueue from users (Borislav Petkov)
      
       - edac_subsys init/teardown cleanup (Borislav Petkov)
      
       - make mpc85xx-pci-edac a platform device (Scott Wood)
      
       - sb_edac KNL gen2 support (Jim Snow)
      
       - other small cleanups all over the place
      
      * tag 'edac_for_4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/bp/bp:
        EDAC, i5100: Use to_delayed_work()
        MAINTAINERS: Fix EDAC repo URLs format
        EDAC, sb_edac: Set fixed DIMM width on Xeon Knights Landing
        EDAC: Rework workqueue handling
        EDAC: Make edac_device workqueue setup/teardown functions static
        EDAC: Remove edac_get_sysfs_subsys() error handling
        EDAC: Unexport and make edac_subsys static
        EDAC: Rip out the edac_subsys reference counting
        EDAC: Robustify workqueues destruction
        EDAC, mc_sysfs: Fix freeing bus' name
        EDAC, mpc85xx: Make mpc85xx-pci-edac a platform device
        EDAC, sb_edac: Add Knights Landing (Xeon Phi gen 2) support
        EDAC, sb_edac: Add support for duplicate device IDs
        EDAC, sb_edac: Virtualize several hard-coded functions
        EDAC, mv64x60: Use platform_register/unregister_drivers()
        EDAC, mpc85xx: Use platform_register/unregister_drivers()
        EDAC: Add DDR4 flag
        EDAC: Remove references to bluesmoke.sourceforge.net
        EDAC, pci: Remove old disabled code
      d870a9d5
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v4.5' of... · 2634bf25
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
       "Notable hwmon changes:
      
         - Add basic support for NCT6683 on Mitac boards
         - Add support for AMD new 15h processors to fam15h_power driver
         - Add pmbus client driver for LTC3815
         - Remove htu21 driver (now supported by iio subsystem)"
      
      * tag 'hwmon-for-linus-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (nct6683) Add basic support for NCT6683 on Mitac boards
        hwmon: (ibmaem) constify aem_rw_sensor_template and aem_ro_sensor_template structures
        hwmon: (nct6683,nct6775) constify sensor_template_group structures
        MAINTAINERS: change the maintainer of fam15h_power driver
        hwmon: (fam15h_power) Add support for AMD new 15h processors
        hwmon: (pmbus) Add client driver for LTC3815
        hwmon: (htu21) Remove driver
      2634bf25
    • Linus Torvalds's avatar
      Merge tag 'regmap-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · e795e5f4
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "There's no real overall theme to the regmap changes for this release,
        it's a collection of individual features.  The main bits are:
      
         - Support for 64 bit registers, mainly for MMIO use, from Xiubo Li.
      
         - Support for trigger type configuration for regmap-irq from Laxman
           Dewangan.
      
         - Use native physical I/O for MMIO register maps to avoid confusion
           with the conversions that readl() and writel() do to little endian
           on big endian systems (with some DT updates to fix some workarounds
           people were doing), code from Simon Arlott.
      
         - Use a binary search rather than iteraton to improve the runtime
           performance of the rbtree code from Nikesh Oswal"
      
      * tag 'regmap-v4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: debugfs: Use seq_file for the access map
        regmap: irq: add support for configuration of trigger type
        regmap: use IS_ALIGNED instead of % to improve the performance
        regmap: cache: Move the num_reg_defaults check as early as possible
        regmap: cache: Add warning info for the cache check
        regmap: missing case statement
        regmap: shift wrapping bugs in 64 bit code
        regmap: cache: Add 64-bit mode support
        regmap: cache: To suppress the noise of checkpatch
        regmap: fix the warning about unused variable
        regmap: add 64-bit mode support
        regmap: mmio: Add regmap_mmio_get_min_stride
        regmap: mmio: remove the useless code
        regmap: Fix leftover from struct reg_default to struct reg_sequence change
        regmap: replace kmalloc with kmalloc_array
        regmap: replace kzalloc with kcalloc
        regmap: rbtree: When adding a reg do a bsearch for target node
        regmap-mmio: Use native endianness for read/write
      e795e5f4
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · 581dbc8b
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the bulk of pin control patches for the v4.5 series.
      
        Notably I have a patch to driver core from Stephen Boyd in the pull
        request, this has been ACKed by Greg so it should be OK.  The internal
        API needed some tweaking to allow modular Qualcomm pin controllers.
      
        There is a bit of development history in here but it should all add up
        nicely and has boiled in linux-next.  For example I merged in v4.4-rc5
        to get rid of some nasty merge conflicts.
      
        Summary:
      
         - New drivers:
            - PXA2xx pin controller support
            - Broadcom NSP pin controller support
      
         - New subdrivers:
            - Samsung EXYNOS5410 support
            - Qualcomm MSM8996 support
            - Qualcomm PM8994 support
            - Qualcomm PM8994 MPP support
            - Allwinner sunxi H3 support
            - Allwinner sunxi A80 support
            - Rockchip RK3228 support
      
         - Rename the Cygnus pinctrl driver to "iproc" as it is more generic
           than was originally thought.
      
         - A bunch of Lantiq/Xway updates especially from the OpenWRT people.
      
         - Several refactorings for the Super-H SH PFC pin controllers.
           Adding SCIF_CLK support.
      
         - Several fixes to the Atlas 7 driver.
      
         - Various fixes all over the place"
      
      * tag 'pinctrl-v4.5-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (91 commits)
        pinctrl: mediatek: Modify pinctrl bindings for mt2701
        Revert "pinctrl: qcom: make PMIC drivers bool"
        pinctrl: qcom: Use platform_irq_count() instead of of_irq_count()
        driver-core: platform: Add platform_irq_count()
        pinctrl: lantiq: 2 pins have the wrong mux list
        pinctrl: qcom: make PMIC drivers bool
        pinctrl: nsp-gpio: forever loop in nsp_gpio_get_strength()
        pinctrl: mediatek: convert to arch_initcall
        pinctrl: bcm2835: Fix memory leak in error path
        pinctrl: mediatek: add missing of_node_put
        pinctrl: rockchip: add missing of_node_put
        pinctrl: sh-pfc: add missing of_node_put
        pinctrl: sirf: add missing of_node_put
        pinctrl-tegra: add missing of_node_put
        pinctrl: sunxi: Add A80 special pin controller
        pinctrl: bcm/cygnys/iproc: fixup rebase issue
        pinctrl: fixup problematic flag
        MAINTAINERS: Add co-maintainer for Renesas Pin Controllers
        pinctrl: sh-pfc: r8a7791: add EtherAVB pin groups
        pinctrl: sh-pfc: r8a7795: Add SATA support
        ...
      581dbc8b
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.5' of git://git.linaro.org/people/ulf.hansson/mmc · fb591fbd
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Optimize boot time by detecting cards simultaneously
         - Make runtime resume default behavior for MMC/SD
         - Enable MMC/SD/SDIO devices to suspend/resume asynchronously
         - Allow more than 8 partitions per card
         - Introduce MMC_CAP2_NO_SDIO to prevent unsupported SDIO commands
         - Support the standard DT wakeup-source property
         - Fix driver strength switching for HS200 and HS400
         - Fix switch command timeout
         - Fix invalid vdd in voltage switch power cycle for SDIO
      
        MMC host:
         - sdhci: Restore behavior when setting VDD via external regulator
         - sdhci: A couple of changes/fixes related to the dma support
         - sdhci-tegra: Add Tegra210 support
         - sdhci-tegra: Support for UHS-I cards including tuning support
         - sdhci-of-at91: Add PM support
         - sh_mmcif: Rework dma channel handling
         - mvsdio: Delete platform data code path"
      
      * tag 'mmc-v4.5' of git://git.linaro.org/people/ulf.hansson/mmc: (52 commits)
        mmc: dw_mmc: remove the unused quirks
        mmc: sdhci-pci: use to_pci_dev()
        mmc: cb710: use to_platform_device()
        mmc: tegra: use correct accessor for misc ctrl register
        mmc: tegra: enable UHS-I modes
        mmc: tegra: implement UHS tuning
        mmc: tegra: disable SPI_MODE_CLKEN
        mmc: tegra: implement module external clock change
        mmc: sdhci: restore behavior when setting VDD via external regulator
        mmc: It is not an error for the card to be removed while suspended
        mmc: block: Allow more than 8 partitions per card
        mmc: core: Optimize boot time by detecting cards simultaneously
        mmc: dw_mmc: use resource_size_t to store physical address
        mmc: core: fix __mmc_switch timeout caused by preempt
        mmc: usdhi6rol0: handle NULL data in timeout
        mmc: of_mmc_spi: Add IRQF_ONESHOT to interrupt flags
        mmc: mediatek: change some dev_err to dev_dbg
        mmc: enable MMC/SD/SDIO device to suspend/resume asynchronously
        mmc: sdhci: Fix sdhci_runtime_pm_bus_on/off()
        mmc: sdhci: 64-bit DMA actually has 4-byte alignment
        ...
      fb591fbd
    • Linus Torvalds's avatar
      Merge branch 'for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 8c930204
      Linus Torvalds authored
      Pull libata updates from Tejun Heo:
       "Mostly low level driver specific changes.
      
        Two changes are somewhat noteworthy.  First, Dan's patchset to support
        per-port msix interrupt handling for ahci, which was tried last cycle
        but had to be backed out due to a couple issues, is back and seems to
        be working fine.  Second, libata exception handling now uses
        usleep_range() instead of msleep() for sleeps < 20ms which can make
        things snappier in some corner cases"
      
      * 'for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        libata: skip debounce delay on link resume
        ata: ahci_brcmstb: disable DIPM support
        ata: ahci_brcmstb: enable support for ALPM
        drivers: libata-core: Use usleep_range() instead of msleep() for short sleeps (<20 ms)
        sata_sx4: correctly handling failed allocation
        ata: ahci_brcmstb: add support for MIPS-based platforms
        ahci: qoriq: Adjust the default register values on ls1021a
        ahci: qoriq: Update the default Rx watermark value
        ahci: qoriq: Adjust the default register values on ls1043a
        ahci: compile out msi/msix infrastructure
        ata: core: fix irq description on AHCI single irq systems
        ata: ahci_brcmstb: remove unused definitions
        ata: ahci_brcmstb: add a quirk for MIPS-based platforms
        ata: ahci_brcmstb: disable NCQ for MIPS-based platforms
        ata: sata_rcar: Remove obsolete platform_device_id entries
        sata_rcar: Add compatible string for r8a7795
        ahci: kill 'intr_status'
        ahci: switch from 'threaded' to 'hardirq' interrupt handling
        ahci: per-port msix support
      8c930204
    • Linus Torvalds's avatar
      Merge branch 'for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu · 367262c1
      Linus Torvalds authored
      Pull percpu updates from Tejun Heo:
       "Two trivial percpu patches for v4.5-rc1"
      
      * 'for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:
        percpu: remove PERCPU_ENOUGH_ROOM which is stale definition
        percpu: Remove unneeded return from void function
      367262c1
    • Linus Torvalds's avatar
      Merge branch 'for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · 0f8c7901
      Linus Torvalds authored
      Pull workqueue update from Tejun Heo:
       "Workqueue changes for v4.5.  One cleanup patch and three to improve
        the debuggability.
      
        Workqueue now has a stall detector which dumps workqueue state if any
        worker pool hasn't made forward progress over a certain amount of time
        (30s by default) and also triggers a warning if a workqueue which can
        be used in memory reclaim path tries to wait on something which can't
        be.
      
        These should make workqueue hangs a lot easier to debug."
      
      * 'for-4.5' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: simplify the apply_workqueue_attrs_locked()
        workqueue: implement lockup detector
        watchdog: introduce touch_softlockup_watchdog_sched()
        workqueue: warn if memory reclaim tries to flush !WQ_MEM_RECLAIM workqueue
      0f8c7901
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3d116a66
      Linus Torvalds authored
      Pull irq updates from Thomas Gleixner:
       "The irq department provides:
      
         - Support for MSI to wire bridges and a first user of it
      
         - More ACPI support for ARM/GIC
      
         - A new TS-4800 interrupt controller driver
      
         - RCU based free of interrupt descriptors to support the upcoming
           Intel VMD technology without introducing a locking nightmare
      
         - The usual pile of fixes and updates to drivers and core code"
      
      * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (41 commits)
        irqchip/omap-intc: Add support for spurious irq handling
        irqchip/zevio: Use irq_data_get_chip_type() helper
        irqchip/omap-intc: Remove duplicate setup for IRQ chip type handler
        irqchip/ts4800: Add TS-4800 interrupt controller
        irqchip/ts4800: Add documentation for TS-4800 interrupt controller
        irq/platform-MSI: Increase the maximum MSIs the MSI framework can support
        irqchip/gicv2m: Miscellaneous fixes for v2m resources and SPI ranges
        irqchip/bcm2836: Make code more readable
        irqchip/bcm2836: Tolerate IRQs while no flag is set in ISR
        irqchip/bcm2836: Add SMP support for the 2836
        irqchip/bcm2836: Fix initialization of the LOCAL_IRQ_CNT timers
        irqchip/gic-v2m: acpi: Introducing GICv2m ACPI support
        irqchip/gic-v2m: Refactor to prepare for ACPI support
        irqdomain: Introduce is_fwnode_irqchip helper
        acpi: pci: Setup MSI domain for ACPI based pci devices
        genirq/msi: Export functions to allow MSI domains in modules
        irqchip/mbigen: Implement the mbigen irq chip operation functions
        irqchip/mbigen: Create irq domain for each mbigen device
        irqchip/mgigen: Add platform device driver for mbigen device
        dt-bindings: Documents the mbigen bindings
        ...
      3d116a66
    • Linus Torvalds's avatar
      Merge branches 'timers-core-for-linus' and 'timers-urgent-for-linus' of... · b4cee21e
      Linus Torvalds authored
      Merge branches 'timers-core-for-linus' and 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
      
      Pull timer updates - and a leftover fix - from Thomas Gleixner:
       "A rather large (commit wise) update from the timer side:
      
         - A bulk update to make compile tests work in the clocksource drivers
      
         - An overhaul of the h8300 timers
      
         - Some more Y2038 work
      
         - A few overflow prevention checks in the timekeeping/ntp code
      
         - The usual pile of fixes and improvements to the various
           clocksource/clockevent drivers and core code"
      
      Also:
       "A single fix for the posix-clock poll code which did not make it into
        4.4"
      
      * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (84 commits)
        clocksource/drivers/acpi_pm: Convert to pr_* macros
        clocksource: Make clocksource validation work for all clocksources
        timekeeping: Cap adjustments so they don't exceed the maxadj value
        ntp: Fix second_overflow's input parameter type to be 64bits
        ntp: Change time_reftime to time64_t and utilize 64bit __ktime_get_real_seconds
        timekeeping: Provide internal function __ktime_get_real_seconds
        clocksource/drivers/h8300: Use ioread / iowrite
        clocksource/drivers/h8300: Initializer cleanup.
        clocksource/drivers/h8300: Simplify delta handling
        clocksource/drivers/h8300: Fix timer not overflow case
        clocksource/drivers/h8300: Change to overflow interrupt
        clocksource/drivers/lpc32: Correct pr_err() output format
        clocksource/drivers/arm_global_timer: Fix suspend resume
        clocksource/drivers/pistachio: Fix wrong calculated clocksource read value
        clockevents/drivers/arm_global_timer: Use writel_relaxed in gt_compare_set
        clocksource/drivers/dw_apb_timer: Inline apbt_readl and apbt_writel
        clocksource/drivers/dw_apb_timer: Use {readl|writel}_relaxed in critical path
        clocksource/drivers/dw_apb_timer: Fix apbt_readl return types
        clocksource/drivers/tango-xtal: Replace code by clocksource_mmio_init
        clocksource/drivers/h8300: Increase the compilation test coverage
        ...
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        posix-clock: Fix return code on the poll method's error path
      b4cee21e
    • Linus Torvalds's avatar
      Merge branch 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ae8a5218
      Linus Torvalds authored
      Pull x86 platform updates from Ingo Molnar:
       "Two changes:
      
         - one to quirk-save/restore certain system MSRs across
           suspend/resume, to make certain Intel systems work better
           (Chen Yu)
      
         - and also to constify a read only structure (Julia Lawall)"
      
      * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/platform/calgary: Constify cal_chipset_ops structures
        x86/pm: Introduce quirk framework to save/restore extra MSR registers around suspend/resume
      ae8a5218
    • Linus Torvalds's avatar
      Merge branch 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0ffedcda
      Linus Torvalds authored
      Pull x86 mm updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - make the debugfs 'kernel_page_tables' file read-only, as it only
           has read ops.  (Borislav Petkov)
      
         - micro-optimize clflush_cache_range() (Chris Wilson)
      
         - swiotlb enhancements, which fixes certain KVM emulated devices
           (Igor Mammedov)
      
         - fix an LDT related debug message (Jan Beulich)
      
         - modularize CONFIG_X86_PTDUMP (Kees Cook)
      
         - tone down an overly alarming warning (Laura Abbott)
      
         - Mark variable __initdata (Rasmus Villemoes)
      
         - PAT additions (Toshi Kani)"
      
      * 'x86-mm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mm: Micro-optimise clflush_cache_range()
        x86/mm/pat: Change free_memtype() to support shrinking case
        x86/mm/pat: Add untrack_pfn_moved for mremap
        x86/mm: Drop WARN from multi-BAR check
        x86/LDT: Print the real LDT base address
        x86/mm/64: Enable SWIOTLB if system has SRAT memory regions above MAX_DMA32_PFN
        x86/mm: Introduce max_possible_pfn
        x86/mm/ptdump: Make (debugfs)/kernel_page_tables read-only
        x86/mm/mtrr: Mark the 'range_new' static variable in mtrr_calc_range_state() as __initdata
        x86/mm: Turn CONFIG_X86_PTDUMP into a module
      0ffedcda
    • Linus Torvalds's avatar
      Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 6896d9f7
      Linus Torvalds authored
      Pull x86 fpu updates from Ingo Molnar:
       "This cleans up the FPU fault handling methods to be more robust, and
        moves eligible variables to .init.data"
      
      * 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fpu: Put a few variables in .init.data
        x86/fpu: Get rid of xstate_fault()
        x86/fpu: Add an XSTATE_OP() macro
      6896d9f7
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 671d5532
      Linus Torvalds authored
      Pull x86 cpu updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Improved CPU ID handling code and related enhancements (Borislav
           Petkov)
      
         - RDRAND fix (Len Brown)"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: Replace RDRAND forced-reseed with simple sanity check
        x86/MSR: Chop off lower 32-bit value
        x86/cpu: Fix MSR value truncation issue
        x86/cpu/amd, kvm: Satisfy guest kernel reads of IC_CFG MSR
        kvm: Add accessors for guest CPU's family, model, stepping
        x86/cpu: Unify CPU family, model, stepping calculation
      671d5532
    • Linus Torvalds's avatar
      Merge branch 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 67c707e4
      Linus Torvalds authored
      Pull x86 cleanups from Ingo Molnar:
       "The main changes in this cycle were:
      
         - code patching and cpu_has cleanups (Borislav Petkov)
      
         - paravirt cleanups (Juergen Gross)
      
         - TSC cleanup (Thomas Gleixner)
      
         - ptrace cleanup (Chen Gang)"
      
      * 'x86-cleanups-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        arch/x86/kernel/ptrace.c: Remove unused arg_offs_table
        x86/mm: Align macro defines
        x86/cpu: Provide a config option to disable static_cpu_has
        x86/cpufeature: Remove unused and seldomly used cpu_has_xx macros
        x86/cpufeature: Cleanup get_cpu_cap()
        x86/cpufeature: Move some of the scattered feature bits to x86_capability
        x86/paravirt: Remove paravirt ops pmd_update[_defer] and pte_update_defer
        x86/paravirt: Remove unused pv_apic_ops structure
        x86/tsc: Remove unused tsc_pre_init() hook
        x86: Remove unused function cpu_has_ht_siblings()
        x86/paravirt: Kill some unused patching functions
      67c707e4
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 463eb8ac
      Linus Torvalds authored
      Pull small x86 boot update from Ingo Molnar:
       "A single update to the MAINTAINERS file"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/tboot: Update maintainer list for Intel TXT
      463eb8ac
  2. 11 Jan, 2016 7 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 88cbfd07
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - vDSO and asm entry improvements (Andy Lutomirski)
      
         - Xen paravirt entry enhancements (Boris Ostrovsky)
      
         - asm entry labels enhancement (Borislav Petkov)
      
         - and other misc changes (Thomas Gleixner, me)"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/vsdo: Fix build on PARAVIRT_CLOCK=y, KVM_GUEST=n
        Revert "x86/kvm: On KVM re-enable (e.g. after suspend), update clocks"
        x86/entry/64_compat: Make labels local
        x86/platform/uv: Include clocksource.h for clocksource_touch_watchdog()
        x86/vdso: Enable vdso pvclock access on all vdso variants
        x86/vdso: Remove pvclock fixmap machinery
        x86/vdso: Get pvclock data from the vvar VMA instead of the fixmap
        x86, vdso, pvclock: Simplify and speed up the vdso pvclock reader
        x86/kvm: On KVM re-enable (e.g. after suspend), update clocks
        x86/entry/64: Bypass enter_from_user_mode on non-context-tracking boots
        x86/asm: Add asm macros for static keys/jump labels
        x86/asm: Error out if asm/jump_label.h is included inappropriately
        context_tracking: Switch to new static_branch API
        x86/entry, x86/paravirt: Remove the unused usergs_sysret32 PV op
        x86/paravirt: Remove the unused irq_enable_sysexit pv op
        x86/xen: Avoid fast syscall path for Xen PV guests
      88cbfd07
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4f19b880
      Linus Torvalds authored
      Pull x86 apic updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - introduce optimized single IPI sending methods on modern APICs
           (Linus Torvalds, Thomas Gleixner)
      
         - kexec/crash APIC handling fixes and enhancements (Hidehiro Kawai)
      
         - extend lapic vector saving/restoring to the CMCI (MCE) vector as
           well (Juergen Gross)
      
         - various fixes and enhancements (Jake Oshins, Len Brown)"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (23 commits)
        x86/irq: Export functions to allow MSI domains in modules
        Documentation: Document kernel.panic_on_io_nmi sysctl
        x86/nmi: Save regs in crash dump on external NMI
        x86/apic: Introduce apic_extnmi command line parameter
        kexec: Fix race between panic() and crash_kexec()
        panic, x86: Allow CPUs to save registers even if looping in NMI context
        panic, x86: Fix re-entrance problem due to panic on NMI
        x86/apic: Fix the saving and restoring of lapic vectors during suspend/resume
        x86/smpboot: Re-enable init_udelay=0 by default on modern CPUs
        x86/smp: Remove single IPI wrapper
        x86/apic: Use default send single IPI wrapper
        x86/apic: Provide default send single IPI wrapper
        x86/apic: Implement single IPI for apic_noop
        x86/apic: Wire up single IPI for apic_numachip
        x86/apic: Wire up single IPI for x2apic_uv
        x86/apic: Implement single IPI for x2apic_phys
        x86/apic: Wire up single IPI for bigsmp_apic
        x86/apic: Remove pointless indirections from bigsmp_apic
        x86/apic: Wire up single IPI for apic_physflat
        x86/apic: Remove pointless indirections from apic_physflat
        ...
      4f19b880
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · af345201
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - tickless load average calculation enhancements (Byungchul Park)
      
         - vtime handling enhancements (Frederic Weisbecker)
      
         - scalability improvement via properly aligning a key structure field
           (Jiri Olsa)
      
         - various stop_machine() fixes (Oleg Nesterov)
      
         - sched/numa enhancement (Rik van Riel)
      
         - various fixes and improvements (Andi Kleen, Dietmar Eggemann,
           Geliang Tang, Hiroshi Shimamoto, Joonwoo Park, Peter Zijlstra,
           Waiman Long, Wanpeng Li, Yuyang Du)"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (32 commits)
        sched/fair: Fix new task's load avg removed from source CPU in wake_up_new_task()
        sched/core: Move sched_entity::avg into separate cache line
        x86/fpu: Properly align size in CHECK_MEMBER_AT_END_OF() macro
        sched/deadline: Fix the earliest_dl.next logic
        sched/fair: Disable the task group load_avg update for the root_task_group
        sched/fair: Move the cache-hot 'load_avg' variable into its own cacheline
        sched/fair: Avoid redundant idle_cpu() call in update_sg_lb_stats()
        sched/core: Move the sched_to_prio[] arrays out of line
        sched/cputime: Convert vtime_seqlock to seqcount
        sched/cputime: Introduce vtime accounting check for readers
        sched/cputime: Rename vtime_accounting_enabled() to vtime_accounting_cpu_enabled()
        sched/cputime: Correctly handle task guest time on housekeepers
        sched/cputime: Clarify vtime symbols and document them
        sched/cputime: Remove extra cost in task_cputime()
        sched/fair: Make it possible to account fair load avg consistently
        sched/fair: Modify the comment about lock assumptions in migrate_task_rq_fair()
        stop_machine: Clean up the usage of the preemption counter in cpu_stopper_thread()
        stop_machine: Shift the 'done != NULL' check from cpu_stop_signal_done() to callers
        stop_machine: Kill cpu_stop_done->executed
        stop_machine: Change __stop_cpus() to rely on cpu_stop_queue_work()
        ...
      af345201
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4bd20db2
      Linus Torvalds authored
      Pull RAS updates from Ingo Molnar:
       "Various x86 MCE fixes and small enhancements"
      
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce: Make usable address checks Intel-only
        x86/mce: Add the missing memory error check on AMD
        x86/RAS: Remove mce.usable_addr
        x86/mce: Do not enter deferred errors into the generic pool twice
      4bd20db2
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 5cb52b5e
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "Kernel side changes:
      
         - Intel Knights Landing support.  (Harish Chegondi)
      
         - Intel Broadwell-EP uncore PMU support.  (Kan Liang)
      
         - Core code improvements.  (Peter Zijlstra.)
      
         - Event filter, LBR and PEBS fixes.  (Stephane Eranian)
      
         - Enable cycles:pp on Intel Atom.  (Stephane Eranian)
      
         - Add cycles:ppp support for Skylake.  (Andi Kleen)
      
         - Various x86 NMI overhead optimizations.  (Andi Kleen)
      
         - Intel PT enhancements.  (Takao Indoh)
      
         - AMD cache events fix.  (Vince Weaver)
      
        Tons of tooling changes:
      
         - Show random perf tool tips in the 'perf report' bottom line
           (Namhyung Kim)
      
         - perf report now defaults to --group if the perf.data file has
           grouped events, try it with:
      
            # perf record -e '{cycles,instructions}' -a sleep 1
            [ perf record: Woken up 1 times to write data ]
            [ perf record: Captured and wrote 1.093 MB perf.data (1247 samples) ]
            # perf report
            # Samples: 1K of event 'anon group { cycles, instructions }'
            # Event count (approx.): 1955219195
            #
            #       Overhead  Command     Shared Object      Symbol
      
               2.86%   0.22%  swapper     [kernel.kallsyms]  [k] intel_idle
               1.05%   0.33%  firefox     libxul.so          [.] js::SetObjectElement
               1.05%   0.00%  kworker/0:3 [kernel.kallsyms]  [k] gen6_ring_get_seqno
               0.88%   0.17%  chrome      chrome             [.] 0x0000000000ee27ab
               0.65%   0.86%  firefox     libxul.so          [.] js::ValueToId<(js::AllowGC)1>
               0.64%   0.23%  JS Helper   libxul.so          [.] js::SplayTree<js::jit::LiveRange*, js::jit::LiveRange>::splay
               0.62%   1.27%  firefox     libxul.so          [.] js::GetIterator
               0.61%   1.74%  firefox     libxul.so          [.] js::NativeSetProperty
               0.61%   0.31%  firefox     libxul.so          [.] js::SetPropertyByDefining
      
         - Introduce the 'perf stat record/report' workflow:
      
           Generate perf.data files from 'perf stat', to tap into the
           scripting capabilities perf has instead of defining a 'perf stat'
           specific scripting support to calculate event ratios, etc.
      
           Simple example:
      
              $ perf stat record -e cycles usleep 1
      
               Performance counter stats for 'usleep 1':
      
                     1,134,996      cycles
      
                   0.000670644 seconds time elapsed
      
              $ perf stat report
      
               Performance counter stats for '/home/acme/bin/perf stat record -e cycles usleep 1':
      
                     1,134,996      cycles
      
                   0.000670644 seconds time elapsed
      
              $
      
           It generates PERF_RECORD_ userspace records to store the details:
      
              $ perf report -D | grep PERF_RECORD
              0xf0 [0x28]: PERF_RECORD_THREAD_MAP nr: 1 thread: 27637
              0x118 [0x12]: PERF_RECORD_CPU_MAP nr: 1 cpu: 65535
              0x12a [0x40]: PERF_RECORD_STAT_CONFIG
              0x16a [0x30]: PERF_RECORD_STAT
              -1 -1 0x19a [0x40]: PERF_RECORD_MMAP -1/0: [0xffffffff81000000(0x1f000000) @ 0xffffffff81000000]: x [kernel.kallsyms]_text
              0x1da [0x18]: PERF_RECORD_STAT_ROUND
              [acme@ssdandy linux]$
      
           An effort was made to make perf.data files generated like this to
           not generate cryptic messages when processed by older tools.
      
           The 'perf script' bits need rebasing, will go up later.
      
         - Make command line options always available, even when they depend
           on some feature being enabled, warning the user about use of such
           options (Wang Nan)
      
         - Support hw breakpoint events (mem:0xAddress) in the default output
           mode in 'perf script' (Wang Nan)
      
         - Fixes and improvements for supporting annotating ARM binaries,
           support ARM call and jump instructions, more work needed to have
           arch specific stuff separated into tools/perf/arch/*/annotate/
           (Russell King)
      
         - Add initial 'perf config' command, for now just with a --list
           command to the contents of the configuration file in use and a
           basic man page describing its format, commands for doing edits and
           detailed documentation are being reviewed and proof-read.  (Taeung
           Song)
      
         - Allows BPF scriptlets specify arguments to be fetched using DWARF
           info, using a prologue generated at compile/build time (He Kuang,
           Wang Nan)
      
         - Allow attaching BPF scriptlets to module symbols (Wang Nan)
      
         - Allow attaching BPF scriptlets to userspace code using uprobe (Wang
           Nan)
      
         - BPF programs now can specify 'perf probe' tunables via its section
           name, separating key=val values using semicolons (Wang Nan)
      
           Testing some of these new BPF features:
      
              Use case: get callchains when receiving SSL packets, filter then in the
                        kernel, at arbitrary place.
      
              # cat ssl.bpf.c
              #define SEC(NAME) __attribute__((section(NAME), used))
      
              struct pt_regs;
      
              SEC("func=__inet_lookup_established hnum")
              int func(struct pt_regs *ctx, int err, unsigned short port)
              {
                      return err == 0 && port == 443;
              }
      
              char _license[] SEC("license") = "GPL";
              int  _version   SEC("version") = LINUX_VERSION_CODE;
              #
              # perf record -a -g -e ssl.bpf.c
              ^C[ perf record: Woken up 1 times to write data ]
              [ perf record: Captured and wrote 0.787 MB perf.data (3 samples) ]
              # perf script | head -30
              swapper     0 [000] 58783.268118: perf_bpf_probe:func: (ffffffff816a0f60) hnum=0x1bb
                 8a0f61 __inet_lookup_established (/lib/modules/4.3.0+/build/vmlinux)
                 896def ip_rcv_finish (/lib/modules/4.3.0+/build/vmlinux)
                 8976c2 ip_rcv (/lib/modules/4.3.0+/build/vmlinux)
                 855eba __netif_receive_skb_core (/lib/modules/4.3.0+/build/vmlinux)
                 8565d8 __netif_receive_skb (/lib/modules/4.3.0+/build/vmlinux)
                 8572a8 process_backlog (/lib/modules/4.3.0+/build/vmlinux)
                 856b11 net_rx_action (/lib/modules/4.3.0+/build/vmlinux)
                 2a284b __do_softirq (/lib/modules/4.3.0+/build/vmlinux)
                 2a2ba3 irq_exit (/lib/modules/4.3.0+/build/vmlinux)
                 96b7a4 do_IRQ (/lib/modules/4.3.0+/build/vmlinux)
                 969807 ret_from_intr (/lib/modules/4.3.0+/build/vmlinux)
                 2dede5 cpu_startup_entry (/lib/modules/4.3.0+/build/vmlinux)
                 95d5bc rest_init (/lib/modules/4.3.0+/build/vmlinux)
                1163ffa start_kernel ([kernel.vmlinux].init.text)
                11634d7 x86_64_start_reservations ([kernel.vmlinux].init.text)
                1163623 x86_64_start_kernel ([kernel.vmlinux].init.text)
      
              qemu-system-x86  9178 [003] 58785.792417: perf_bpf_probe:func: (ffffffff816a0f60) hnum=0x1bb
                 8a0f61 __inet_lookup_established (/lib/modules/4.3.0+/build/vmlinux)
                 896def ip_rcv_finish (/lib/modules/4.3.0+/build/vmlinux)
                 8976c2 ip_rcv (/lib/modules/4.3.0+/build/vmlinux)
                 855eba __netif_receive_skb_core (/lib/modules/4.3.0+/build/vmlinux)
                 8565d8 __netif_receive_skb (/lib/modules/4.3.0+/build/vmlinux)
                 856660 netif_receive_skb_internal (/lib/modules/4.3.0+/build/vmlinux)
                 8566ec netif_receive_skb_sk (/lib/modules/4.3.0+/build/vmlinux)
                   430a br_handle_frame_finish ([bridge])
                   48bc br_handle_frame ([bridge])
                 855f44 __netif_receive_skb_core (/lib/modules/4.3.0+/build/vmlinux)
                 8565d8 __netif_receive_skb (/lib/modules/4.3.0+/build/vmlinux)
              #
      
         - Use 'perf probe' various options to list functions, see what
           variables can be collected at any given point, experiment first
           collecting without a filter, then filter, use it together with
           'perf trace', 'perf top', with or without callchains, if it
           explodes, please tell us!
      
         - Introduce a new callchain mode: "folded", that will list per line
           representations of all callchains for a give histogram entry,
           facilitating 'perf report' output processing by other tools, such
           as Brendan Gregg's flamegraph tools (Namhyung Kim)
      
           E.g:
      
              # perf report | grep -v ^# | head
                 18.37%     0.00%  swapper  [kernel.kallsyms]   [k] cpu_startup_entry
                                 |
                                 ---cpu_startup_entry
                                    |
                                    |--12.07%--start_secondary
                                    |
                                     --6.30%--rest_init
                                               start_kernel
                                               x86_64_start_reservations
                                               x86_64_start_kernel
               #
      
           Becomes, in "folded" mode:
      
              # perf report -g folded | grep -v ^# | head -5
                  18.37%     0.00%  swapper [kernel.kallsyms]   [k] cpu_startup_entry
                12.07% cpu_startup_entry;start_secondary
                 6.30% cpu_startup_entry;rest_init;start_kernel;x86_64_start_reservations;x86_64_start_kernel
                  16.90%     0.00%  swapper [kernel.kallsyms]   [k] call_cpuidle
                11.23% call_cpuidle;cpu_startup_entry;start_secondary
                 5.67% call_cpuidle;cpu_startup_entry;rest_init;start_kernel;x86_64_start_reservations;x86_64_start_kernel
                  16.90%     0.00%  swapper [kernel.kallsyms]   [k] cpuidle_enter
                11.23% cpuidle_enter;call_cpuidle;cpu_startup_entry;start_secondary
                 5.67% cpuidle_enter;call_cpuidle;cpu_startup_entry;rest_init;start_kernel;x86_64_start_reservations;x86_64_start_kernel
                  15.12%     0.00%  swapper [kernel.kallsyms]   [k] cpuidle_enter_state
               #
      
           The user can also select one of "count", "period" or "percent" as
           the first column.
      
        ... and lots of infrastructure enhancements, plus fixes and other
        changes, features I failed to list - see the shortlog and the git log
        for details"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (271 commits)
        perf evlist: Add --trace-fields option to show trace fields
        perf record: Store data mmaps for dwarf unwind
        perf libdw: Check for mmaps also in MAP__VARIABLE tree
        perf unwind: Check for mmaps also in MAP__VARIABLE tree
        perf unwind: Use find_map function in access_dso_mem
        perf evlist: Remove perf_evlist__(enable|disable)_event functions
        perf evlist: Make perf_evlist__open() open evsels with their cpus and threads (like perf record does)
        perf report: Show random usage tip on the help line
        perf hists: Export a couple of hist functions
        perf diff: Use perf_hpp__register_sort_field interface
        perf tools: Add overhead/overhead_children keys defaults via string
        perf tools: Remove list entry from struct sort_entry
        perf tools: Include all tools/lib directory for tags/cscope/TAGS targets
        perf script: Align event name properly
        perf tools: Add missing headers in perf's MANIFEST
        perf tools: Do not show trace command if it's not compiled in
        perf report: Change default to use event group view
        perf top: Decay periods in callchains
        tools lib: Move bitmap.[ch] from tools/perf/ to tools/{lib,include}/
        tools lib: Sync tools/lib/find_bit.c with the kernel
        ...
      5cb52b5e
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 24af98c4
      Linus Torvalds authored
      Pull locking updates from Ingo Molnar:
       "So we have a laundry list of locking subsystem changes:
      
         - continuing barrier API and code improvements
      
         - futex enhancements
      
         - atomics API improvements
      
         - pvqspinlock enhancements: in particular lock stealing and adaptive
           spinning
      
         - qspinlock micro-enhancements"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        futex: Allow FUTEX_CLOCK_REALTIME with FUTEX_WAIT op
        futex: Cleanup the goto confusion in requeue_pi()
        futex: Remove pointless put_pi_state calls in requeue()
        futex: Document pi_state refcounting in requeue code
        futex: Rename free_pi_state() to put_pi_state()
        futex: Drop refcount if requeue_pi() acquired the rtmutex
        locking/barriers, arch: Remove ambiguous statement in the smp_store_mb() documentation
        lcoking/barriers, arch: Use smp barriers in smp_store_release()
        locking/cmpxchg, arch: Remove tas() definitions
        locking/pvqspinlock: Queue node adaptive spinning
        locking/pvqspinlock: Allow limited lock stealing
        locking/pvqspinlock: Collect slowpath lock statistics
        sched/core, locking: Document Program-Order guarantees
        locking, sched: Introduce smp_cond_acquire() and use it
        locking/pvqspinlock, x86: Optimize the PV unlock code path
        locking/qspinlock: Avoid redundant read of next pointer
        locking/qspinlock: Prefetch the next node cacheline
        locking/qspinlock: Use _acquire/_release() versions of cmpxchg() & xchg()
        atomics: Add test for atomic operations with _relaxed variants
      24af98c4
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 9061cbe6
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The changes in this cycle were:
      
         - Adding transitivity uniformly to rcu_node structure ->lock
           acquisitions.  (This is implemented by the first two commits on top
           of v4.4-rc2 due to the pervasive nature of this change.)
      
         - Documentation updates, including RCU requirements.
      
         - Expedited grace-period changes.
      
         - Miscellaneous fixes.
      
         - Linked-list fixes, courtesy of KTSAN.
      
         - Torture-test updates.
      
         - Late-breaking fix to sysrq-generated crash.
      
        One thing I should note is that these pieces of documentation are
        fairly large files:
      
          .../RCU/Design/Requirements/Requirements.html      | 2897 ++++++++++++++++++++
          .../RCU/Design/Requirements/Requirements.htmlx     | 2741 ++++++++++++++++++
      
        and are written in HTML, not the usual .txt style.  I hope they are
        fine"
      
      Paul McKenney explains the html docs:
       "For whatever it is worth, the reason for this unconventional choice
        was that attempts to do the diagrams in ASCII art failed miserably.
      
        And attempts to do ASCII art for the upcoming documentation of the
        data structures failed even more miserably"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (49 commits)
        sysrq: Fix warning in sysrq generated crash.
        list: Add lockless list traversal primitives
        rcu: Make rcu_gp_init() be bool rather than int
        rcu: Move wakeup out from under rnp->lock
        rcu: Fix comment for rcu_dereference_raw_notrace
        rcu: Don't redundantly disable irqs in rcu_irq_{enter,exit}()
        rcu: Make cpu_needs_another_gp() be bool
        rcu: Eliminate unused rcu_init_one() argument
        rcu: Remove TINY_RCU bloat from pointless boot parameters
        torture: Place console.log files correctly from the get-go
        torture: Abbreviate console error dump
        rcutorture: Print symbolic name for ->gp_state
        rcutorture: Print symbolic name for rcu_torture_writer_state
        rcutorture: Remove CONFIG_RCU_USER_QS from rcutorture selftest doc
        rcutorture: Default grace period to three minutes, allow override
        rcutorture:  Dump stack when GP kthread stalls
        rcutorture: Flag nonexistent RCU GP kthread
        rcutorture: Add batch number to script printout
        Documentation/memory-barriers.txt: Fix ACCESS_ONCE thinko
        documentation: Update RCU requirements based on expedited changes
        ...
      9061cbe6