1. 23 Oct, 2018 29 commits
    • Linus Torvalds's avatar
      Merge branch 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 382d72a9
      Linus Torvalds authored
      Pull x86 hyperv updates from Ingo Molnar:
       "Two small changes: a boot warning removal and a minor cleanup"
      
      * 'x86-hyperv-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/hyperv: Remove unused include
        x86/hyperv: Suppress "PCI: Fatal: No config space access function found"
      382d72a9
    • Linus Torvalds's avatar
      Merge branch 'x86-grub2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · ac73e08e
      Linus Torvalds authored
      Pull x86 grub2 updates from Ingo Molnar:
       "This extends the x86 boot protocol to include an address for the RSDP
        table - utilized by Xen currently.
      
        Matching Grub2 patches are pending as well. (Juergen Gross)"
      
      * 'x86-grub2-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/acpi, x86/boot: Take RSDP address for boot params if available
        x86/boot: Add ACPI RSDP address to setup_header
        x86/xen: Fix boot loader version reported for PVH guests
      ac73e08e
    • Linus Torvalds's avatar
      Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · fec98069
      Linus Torvalds authored
      Pull x86 cpu updates from Ingo Molnar:
       "The main changes in this cycle were:
      
         - Add support for the "Dhyana" x86 CPUs by Hygon: these are licensed
           based on the AMD Zen architecture, and are built and sold in China,
           for domestic datacenter use. The code is pretty close to AMD
           support, mostly with a few quirks and enumeration differences. (Pu
           Wen)
      
         - Enable CPUID support on Cyrix 6x86/6x86L processors"
      
      * 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        tools/cpupower: Add Hygon Dhyana support
        cpufreq: Add Hygon Dhyana support
        ACPI: Add Hygon Dhyana support
        x86/xen: Add Hygon Dhyana support to Xen
        x86/kvm: Add Hygon Dhyana support to KVM
        x86/mce: Add Hygon Dhyana support to the MCA infrastructure
        x86/bugs: Add Hygon Dhyana to the respective mitigation machinery
        x86/apic: Add Hygon Dhyana support
        x86/pci, x86/amd_nb: Add Hygon Dhyana support to PCI and northbridge
        x86/amd_nb: Check vendor in AMD-only functions
        x86/alternative: Init ideal_nops for Hygon Dhyana
        x86/events: Add Hygon Dhyana support to PMU infrastructure
        x86/smpboot: Do not use BSP INIT delay and MWAIT to idle on Dhyana
        x86/cpu/mtrr: Support TOP_MEM2 and get MTRR number
        x86/cpu: Get cache info and setup cache cpumap for Hygon Dhyana
        x86/cpu: Create Hygon Dhyana architecture support file
        x86/CPU: Change query logic so CPUID is enabled before testing
        x86/CPU: Use correct macros for Cyrix calls
      fec98069
    • Linus Torvalds's avatar
      Merge branch 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 04ce7fae
      Linus Torvalds authored
      Pull x86 build update from Ingo Molnar:
       "A small cleanup to x86 Kconfigs"
      
      * 'x86-build-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kconfig: Remove redundant 'default n' lines from all x86 Kconfig's
      04ce7fae
    • Linus Torvalds's avatar
      Merge branch 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 642116d4
      Linus Torvalds authored
      Pull x86 boot updates from Ingo Molnar:
       "Two cleanups and a bugfix for a rare boot option combination"
      
      * 'x86-boot-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot/KASLR: Remove return value from handle_mem_options()
        x86/corruption-check: Use pr_*() instead of printk()
        x86/corruption-check: Fix panic in memory_corruption_check() when boot option without value is provided
      642116d4
    • Linus Torvalds's avatar
      Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · e1d20bea
      Linus Torvalds authored
      Pull x86 asm updates from Ingo Molnar:
       "The main changes in this cycle were the fsgsbase related preparatory
        patches from Chang S. Bae - but there's also an optimized
        memcpy_flushcache() and a cleanup for the __cmpxchg_double() assembly
        glue"
      
      * 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/fsgsbase/64: Clean up various details
        x86/segments: Introduce the 'CPUNODE' naming to better document the segment limit CPU/node NR trick
        x86/vdso: Initialize the CPU/node NR segment descriptor earlier
        x86/vdso: Introduce helper functions for CPU and node number
        x86/segments/64: Rename the GDT PER_CPU entry to CPU_NUMBER
        x86/fsgsbase/64: Factor out FS/GS segment loading from __switch_to()
        x86/fsgsbase/64: Convert the ELF core dump code to the new FSGSBASE helpers
        x86/fsgsbase/64: Make ptrace use the new FS/GS base helpers
        x86/fsgsbase/64: Introduce FS/GS base helper functions
        x86/fsgsbase/64: Fix ptrace() to read the FS/GS base accurately
        x86/asm: Use CC_SET()/CC_OUT() in __cmpxchg_double()
        x86/asm: Optimize memcpy_flushcache()
      e1d20bea
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cbbfb0ae
      Linus Torvalds authored
      Pull x86 apic updates from Ingo Molnar:
       "Improve the spreading of managed IRQs at allocation time"
      
      * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irq/matrix: Spread managed interrupts on allocation
        irq/matrix: Split out the CPU selection code into a helper
      cbbfb0ae
    • Linus Torvalds's avatar
      Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 42f52e1c
      Linus Torvalds authored
      Pull scheduler updates from Ingo Molnar:
       "The main changes are:
      
         - Migrate CPU-intense 'misfit' tasks on asymmetric capacity systems,
           to better utilize (much) faster 'big core' CPUs. (Morten Rasmussen,
           Valentin Schneider)
      
         - Topology handling improvements, in particular when CPU capacity
           changes and related load-balancing fixes/improvements (Morten
           Rasmussen)
      
         - ... plus misc other improvements, fixes and updates"
      
      * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (28 commits)
        sched/completions/Documentation: Add recommendation for dynamic and ONSTACK completions
        sched/completions/Documentation: Clean up the document some more
        sched/completions/Documentation: Fix a couple of punctuation nits
        cpu/SMT: State SMT is disabled even with nosmt and without "=force"
        sched/core: Fix comment regarding nr_iowait_cpu() and get_iowait_load()
        sched/fair: Remove setting task's se->runnable_weight during PELT update
        sched/fair: Disable LB_BIAS by default
        sched/pelt: Fix warning and clean up IRQ PELT config
        sched/topology: Make local variables static
        sched/debug: Use symbolic names for task state constants
        sched/numa: Remove unused numa_stats::nr_running field
        sched/numa: Remove unused code from update_numa_stats()
        sched/debug: Explicitly cast sched_feat() to bool
        sched/core: Disable SD_PREFER_SIBLING on asymmetric CPU capacity domains
        sched/fair: Don't move tasks to lower capacity CPUs unless necessary
        sched/fair: Set rq->rd->overload when misfit
        sched/fair: Wrap rq->rd->overload accesses with READ/WRITE_ONCE()
        sched/core: Change root_domain->overload type to int
        sched/fair: Change 'prefer_sibling' type to bool
        sched/fair: Kick nohz balance if rq->misfit_task_load
        ...
      42f52e1c
    • Linus Torvalds's avatar
      Merge branch 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0d1b82cd
      Linus Torvalds authored
      Pull RAS updates from Ingo Molnar:
       "Misc smaller fixes and cleanups"
      
      * 'ras-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mcelog: Remove one mce_helper definition
        x86/mce: Add macros for the corrected error count bit field
        x86/mce: Use BIT_ULL(x) for bit mask definitions
        x86/mce-inject: Reset injection struct after injection
      0d1b82cd
    • Linus Torvalds's avatar
      Merge branch 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c05f3642
      Linus Torvalds authored
      Pull perf updates from Ingo Molnar:
       "The main updates in this cycle were:
      
         - Lots of perf tooling changes too voluminous to list (big perf trace
           and perf stat improvements, lots of libtraceevent reorganization,
           etc.), so I'll list the authors and refer to the changelog for
           details:
      
             Benjamin Peterson, Jérémie Galarneau, Kim Phillips, Peter
             Zijlstra, Ravi Bangoria, Sangwon Hong, Sean V Kelley, Steven
             Rostedt, Thomas Gleixner, Ding Xiang, Eduardo Habkost, Thomas
             Richter, Andi Kleen, Sanskriti Sharma, Adrian Hunter, Tzvetomir
             Stoyanov, Arnaldo Carvalho de Melo, Jiri Olsa.
      
           ... with the bulk of the changes written by Jiri Olsa, Tzvetomir
           Stoyanov and Arnaldo Carvalho de Melo.
      
         - Continued intel_rdt work with a focus on playing well with perf
           events. This also imported some non-perf RDT work due to
           dependencies. (Reinette Chatre)
      
         - Implement counter freezing for Arch Perfmon v4 (Skylake and newer).
           This allows to speed up the PMI handler by avoiding unnecessary MSR
           writes and make it more accurate. (Andi Kleen)
      
         - kprobes cleanups and simplification (Masami Hiramatsu)
      
         - Intel Goldmont PMU updates (Kan Liang)
      
         - ... plus misc other fixes and updates"
      
      * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (155 commits)
        kprobes/x86: Use preempt_enable() in optimized_callback()
        x86/intel_rdt: Prevent pseudo-locking from using stale pointers
        kprobes, x86/ptrace.h: Make regs_get_kernel_stack_nth() not fault on bad stack
        perf/x86/intel: Export mem events only if there's PEBS support
        x86/cpu: Drop pointless static qualifier in punit_dev_state_show()
        x86/intel_rdt: Fix initial allocation to consider CDP
        x86/intel_rdt: CBM overlap should also check for overlap with CDP peer
        x86/intel_rdt: Introduce utility to obtain CDP peer
        tools lib traceevent, perf tools: Move struct tep_handler definition in a local header file
        tools lib traceevent: Separate out tep_strerror() for strerror_r() issues
        perf python: More portable way to make CFLAGS work with clang
        perf python: Make clang_has_option() work on Python 3
        perf tools: Free temporary 'sys' string in read_event_files()
        perf tools: Avoid double free in read_event_file()
        perf tools: Free 'printk' string in parse_ftrace_printk()
        perf tools: Cleanup trace-event-info 'tdata' leak
        perf strbuf: Match va_{add,copy} with va_end
        perf test: S390 does not support watchpoints in test 22
        perf auxtrace: Include missing asm/bitsperlong.h to get BITS_PER_LONG
        tools include: Adopt linux/bits.h
        ...
      c05f3642
    • Linus Torvalds's avatar
      Merge branch 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0200fbdd
      Linus Torvalds authored
      Pull locking and misc x86 updates from Ingo Molnar:
       "Lots of changes in this cycle - in part because locking/core attracted
        a number of related x86 low level work which was easier to handle in a
        single tree:
      
         - Linux Kernel Memory Consistency Model updates (Alan Stern, Paul E.
           McKenney, Andrea Parri)
      
         - lockdep scalability improvements and micro-optimizations (Waiman
           Long)
      
         - rwsem improvements (Waiman Long)
      
         - spinlock micro-optimization (Matthew Wilcox)
      
         - qspinlocks: Provide a liveness guarantee (more fairness) on x86.
           (Peter Zijlstra)
      
         - Add support for relative references in jump tables on arm64, x86
           and s390 to optimize jump labels (Ard Biesheuvel, Heiko Carstens)
      
         - Be a lot less permissive on weird (kernel address) uaccess faults
           on x86: BUG() when uaccess helpers fault on kernel addresses (Jann
           Horn)
      
         - macrofy x86 asm statements to un-confuse the GCC inliner. (Nadav
           Amit)
      
         - ... and a handful of other smaller changes as well"
      
      * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (57 commits)
        locking/lockdep: Make global debug_locks* variables read-mostly
        locking/lockdep: Fix debug_locks off performance problem
        locking/pvqspinlock: Extend node size when pvqspinlock is configured
        locking/qspinlock_stat: Count instances of nested lock slowpaths
        locking/qspinlock, x86: Provide liveness guarantee
        x86/asm: 'Simplify' GEN_*_RMWcc() macros
        locking/qspinlock: Rework some comments
        locking/qspinlock: Re-order code
        locking/lockdep: Remove duplicated 'lock_class_ops' percpu array
        x86/defconfig: Enable CONFIG_USB_XHCI_HCD=y
        futex: Replace spin_is_locked() with lockdep
        locking/lockdep: Make class->ops a percpu counter and move it under CONFIG_DEBUG_LOCKDEP=y
        x86/jump-labels: Macrofy inline assembly code to work around GCC inlining bugs
        x86/cpufeature: Macrofy inline assembly code to work around GCC inlining bugs
        x86/extable: Macrofy inline assembly code to work around GCC inlining bugs
        x86/paravirt: Work around GCC inlining bugs when compiling paravirt ops
        x86/bug: Macrofy the BUG table section handling, to work around GCC inlining bugs
        x86/alternatives: Macrofy lock prefixes to work around GCC inlining bugs
        x86/refcount: Work around GCC inlining bug
        x86/objtool: Use asm macros to work around GCC inlining bugs
        ...
      0200fbdd
    • Linus Torvalds's avatar
      Merge branch 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · de3fbb2a
      Linus Torvalds authored
      Pull EFI updates from Ingo Molnar:
       "The main changes are:
      
         - Add support for enlisting the help of the EFI firmware to create
           memory reservations that persist across kexec.
      
         - Add page fault handling to the runtime services support code on x86
           so we can more gracefully recover from buggy EFI firmware.
      
         - Fix command line handling on x86 for the boot path that omits the
           stub's PE/COFF entry point.
      
         - Other assorted fixes and updates"
      
      * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86: boot: Fix EFI stub alignment
        efi/x86: Call efi_parse_options() from efi_main()
        efi/x86: earlyprintk - Add 64bit efi fb address support
        efi/x86: drop task_lock() from efi_switch_mm()
        efi/x86: Handle page faults occurring while running EFI runtime services
        efi: Make efi_rts_work accessible to efi page fault handler
        efi/efi_test: add exporting ResetSystem runtime service
        efi/libstub: arm: support building with clang
        efi: add API to reserve memory persistently across kexec reboot
        efi/arm: libstub: add a root memreserve config table
        efi: honour memory reservations passed via a linux specific config table
      de3fbb2a
    • Linus Torvalds's avatar
      Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · cee1352f
      Linus Torvalds authored
      Pull RCU updates from Ingo Molnar:
       "The biggest change in this cycle is the conclusion of the big
        'simplify RCU to two primary flavors' consolidation work - i.e.
        there's a single RCU flavor for any kernel variant (PREEMPT and
        !PREEMPT):
      
          - Consolidate the RCU-bh, RCU-preempt, and RCU-sched flavors into a
            single flavor similar to RCU-sched in !PREEMPT kernels and into a
            single flavor similar to RCU-preempt (but also waiting on
            preempt-disabled sequences of code) in PREEMPT kernels.
      
            This branch also includes a refactoring of
            rcu_{nmi,irq}_{enter,exit}() from Byungchul Park.
      
          - Now that there is only one RCU flavor in any given running kernel,
            the many "rsp" pointers are no longer required, and this cleanup
            series removes them.
      
          - This branch carries out additional cleanups made possible by the
            RCU flavor consolidation, including inlining now-trivial
            functions, updating comments and definitions, and removing
            now-unneeded rcutorture scenarios.
      
          - Now that there is only one flavor of RCU in any running kernel,
            there is also only on rcu_data structure per CPU. This means that
            the rcu_dynticks structure can be merged into the rcu_data
            structure, a task taken on by this branch. This branch also
            contains a -rt-related fix from Mike Galbraith.
      
        There were also other updates:
      
          - Documentation updates, including some good-eye catches from Joel
            Fernandes.
      
          - SRCU updates, most notably changes enabling call_srcu() to be
            invoked very early in the boot sequence.
      
          - Torture-test updates, including some preliminary work towards
            making rcutorture better able to find problems that result in
            insufficient grace-period forward progress.
      
          - Initial changes to RCU to better promote forward progress of grace
            periods, including fixing a bug found by Marius Hillenbrand and
            David Woodhouse, with the fix suggested by Peter Zijlstra"
      
      * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (140 commits)
        srcu: Make early-boot call_srcu() reuse workqueue lists
        rcutorture: Test early boot call_srcu()
        srcu: Make call_srcu() available during very early boot
        rcu: Convert rcu_state.ofl_lock to raw_spinlock_t
        rcu: Remove obsolete ->dynticks_fqs and ->cond_resched_completed
        rcu: Switch ->dynticks to rcu_data structure, remove rcu_dynticks
        rcu: Switch dyntick nesting counters to rcu_data structure
        rcu: Switch urgent quiescent-state requests to rcu_data structure
        rcu: Switch lazy counts to rcu_data structure
        rcu: Switch last accelerate/advance to rcu_data structure
        rcu: Switch ->tick_nohz_enabled_snap to rcu_data structure
        rcu: Merge rcu_dynticks structure into rcu_data structure
        rcu: Remove unused rcu_dynticks_snap() from Tiny RCU
        rcu: Convert "1UL << x" to "BIT(x)"
        rcu: Avoid resched_cpu() when rescheduling the current CPU
        rcu: More aggressively enlist scheduler aid for nohz_full CPUs
        rcu: Compute jiffies_till_sched_qs from other kernel parameters
        rcu: Provide functions for determining if call_rcu() has been invoked
        rcu: Eliminate ->rcu_qs_ctr from the rcu_dynticks structure
        rcu: Motivate Tiny RCU forward progress
        ...
      cee1352f
    • Ingo Molnar's avatar
      dda93b45
    • Linus Torvalds's avatar
      Merge tag 's390-4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · e2b623fb
      Linus Torvalds authored
      Pull s390 updates from Martin Schwidefsky:
      
       - Improved access control for the zcrypt driver, multiple device nodes
         can now be created with different access control lists
      
       - Extend the pkey API to provide random protected keys, this is useful
         for encrypted swap device with ephemeral protected keys
      
       - Add support for virtually mapped kernel stacks
      
       - Rework the early boot code, this moves the memory detection into the
         boot code that runs prior to decompression.
      
       - Add KASAN support
      
       - Bug fixes and cleanups
      
      * tag 's390-4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (83 commits)
        s390/pkey: move pckmo subfunction available checks away from module init
        s390/kasan: support preemptible kernel build
        s390/pkey: Load pkey kernel module automatically
        s390/perf: Return error when debug_register fails
        s390/sthyi: Fix machine name validity indication
        s390/zcrypt: fix broken zcrypt_send_cprb in-kernel api function
        s390/vmalloc: fix VMALLOC_START calculation
        s390/mem_detect: add missing include
        s390/dumpstack: print psw mask and address again
        s390/crypto: Enhance paes cipher to accept variable length key material
        s390/pkey: Introduce new API for transforming key blobs
        s390/pkey: Introduce new API for random protected key verification
        s390/pkey: Add sysfs attributes to emit secure key blobs
        s390/pkey: Add sysfs attributes to emit protected key blobs
        s390/pkey: Define protected key blob format
        s390/pkey: Introduce new API for random protected key generation
        s390/zcrypt: add ap_adapter_mask sysfs attribute
        s390/zcrypt: provide apfs failure code on type 86 error reply
        s390/zcrypt: zcrypt device driver cleanup
        s390/kasan: add support for mem= kernel parameter
        ...
      e2b623fb
    • Linus Torvalds's avatar
      Merge tag 'please-pull-next' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux · 70408a99
      Linus Torvalds authored
      Pull ia64 updates from Tony Luck:
       "Miscellaneous ia64 fixes from Christoph"
      
      * tag 'please-pull-next' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux:
        intel-iommu: mark intel_dma_ops static
        ia64: remove machvec_dma_sync_{single,sg}
        ia64/sn2: remove no-ops dma sync methods
        ia64: remove the unused iommu_dma_init function
        ia64: remove the unused pci_iommu_shutdown function
        ia64: remove the unused bad_dma_address symbol
        ia64: remove iommu_dma_supported
        ia64: remove the dead iommu_sac_force variable
        ia64: remove the kern_mem_attribute export
      70408a99
    • Linus Torvalds's avatar
      Merge branch 'stable/for-linus-4.20' of... · a4648c75
      Linus Torvalds authored
      Merge branch 'stable/for-linus-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb
      
      Pull xen swiotlb fix from Konrad Rzeszutek Wilk:
       "One tiny fix for the Xen SWIOTLB mechanism that occasionally happened
        with devices that didn't allocate size in power of two but rather some
        odd sizes.
      
        We neglected to make the memory coherent leading to all kinds of fun
        crashes"
      
      * 'stable/for-linus-4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb:
        xen-swiotlb: use actually allocated size on check physical continuous
      a4648c75
    • Linus Torvalds's avatar
      Merge tag 'acpi-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 58a02287
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These fix ACPICA issues related to the handling of module-level AML,
        fix an ordering issue during ACPI initialization, update ACPICA to
        upstream revision 20181003 (including fixes mostly), fix issues with
        system-wide suspend/resume related to the ACPI driver for Intel SoCs
        (LPSS), fix device enumeration issues on boards with Dollar Cove or
        Whiskey Cove Intel PMICs, prevent ACPICA from calling ktime_get() in
        unsuitable conditions, update a few drivers and clean up some code in
        several places.
      
        Specifics:
      
         - Fix ACPICA issues related to the handling of module-level AML and
           make the ACPI initialization code parse ECDT before loading the
           definition block tables (Erik Schmauss).
      
         - Update ACPICA to upstream revision 20181003 including fixes related
           to the ill-defined "generic serial bus" and the handling of the
           _REG object (Bob Moore).
      
         - Fix some issues with system-wide suspend/resume on Intel BYT/CHT
           related to the handling of I2C controllers in the ACPI LPSS driver
           for Intel SoCs (Hans de Goede).
      
         - Modify the ACPI namespace scanning code to enumerate INT33FE HID
           devices as platform devices with I2C resources to avoid device
           enumeration problems on boards with Dollar Cove or Whiskey Cove
           Intel PMICs (Hans de Goede).
      
         - Prevent ACPICA from using ktime_get() during early resume from
           system-wide suspend before resuming the timekeeping which generally
           is unsafe and triggers a warning from the timekeeping code (Bart
           Van Assche).
      
         - Add low-level real time clock support to the ACPI Time and Aalarm
           Device (TAD) driver (Rafael Wysocki).
      
         - Fix the ACPI SBS driver to avoid GPE storms on MacBook Pro and
           Oopses when removing modules (Ronald Tschalär).
      
         - Fix the ACPI PPTT parsing code to handle architecturally unknown
           cache types properly (Jeffrey Hugo).
      
         - Fix initialization issue in the ACPI processor driver (Dou Liyang).
      
         - Clean up the code in several places (Andy Shevchenko, Bartlomiej
           Zolnierkiewicz, David Arcari, zhong jiang)"
      
      * tag 'acpi-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (33 commits)
        ACPI / scan: Create platform device for INT33FE ACPI nodes
        ACPI / OSL: Use 'jiffies' as the time bassis for acpi_os_get_timer()
        ACPI: probe ECDT before loading AML tables regardless of module-level code flag
        ACPICA: Remove acpi_gbl_group_module_level_code and only use acpi_gbl_execute_tables_as_methods instead
        ACPICA: AML Parser: fix parse loop to correctly skip erroneous extended opcodes
        ACPICA: AML interpreter: add region addresses in global list during initialization
        ACPI: TAD: Add low-level support for real time capability
        ACPI: remove redundant 'default n' from Kconfig
        ACPI / SBS: Fix rare oops when removing modules
        ACPI / SBS: Fix GPE storm on recent MacBookPro's
        ACPI/PPTT: Handle architecturally unknown cache types
        drivers: base: cacheinfo: Do not populate sysfs for unknown cache types
        ACPICA: Update version to 20181003
        ACPICA: Never run _REG on system_memory and system_IO
        ACPICA: Split large interpreter file
        ACPICA: Update for field unit access
        ACPICA: Rename some of the Field Attribute defines
        ACPICA: Update for generic_serial_bus and attrib_raw_process_bytes protocol
        ACPI / processor: Fix the return value of acpi_processor_ids_walk()
        ACPI / LPSS: Resume BYT/CHT I2C controllers from resume_noirq
        ...
      58a02287
    • Linus Torvalds's avatar
      Merge tag 'pm-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 12dd08fa
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These make hibernation on 32-bit x86 systems work in all of the cases
        in which it works on 64-bit x86 ones, update the menu cpuidle governor
        and the "polling" state to make them more efficient, add more hardware
        support to cpufreq drivers and fix issues with some of them, fix a bug
        in the conservative cpufreq governor, fix the operating performance
        points (OPP) framework and make it more stable, update the devfreq
        subsystem to take changes in the APIs used by into account and clean
        up some things all over.
      
        Specifics:
      
         - Backport hibernation bug fixes from x86-64 to x86-32 and
           consolidate hibernation handling on x86 to allow 32-bit systems to
           work in all of the cases in which 64-bit ones work (Zhimin Gu, Chen
           Yu).
      
         - Fix hibernation documentation (Vladimir D. Seleznev).
      
         - Update the menu cpuidle governor to fix a couple of issues with it,
           make it more efficient in some cases and clean it up (Rafael
           Wysocki).
      
         - Rework the cpuidle polling state implementation to make it more
           efficient (Rafael Wysocki).
      
         - Clean up the cpuidle core somewhat (Fieah Lim).
      
         - Fix the cpufreq conservative governor to take policy limits into
           account properly in some cases (Rafael Wysocki).
      
         - Add support for retrieving guaranteed performance information to
           the ACPI CPPC library and make the intel_pstate driver use it to
           expose the CPU base frequency via sysfs on systems with the
           hardware-managed P-states (HWP) feature enabled (Srinivas
           Pandruvada).
      
         - Fix clang warning in the CPPC cpufreq driver (Nathan Chancellor).
      
         - Get rid of device_node.name printing from cpufreq (Rob Herring).
      
         - Remove unnecessary unlikely() from the cpufreq core (Igor Stoppa).
      
         - Add support for the r8a7744 SoC to the cpufreq-dt driver (Biju
           Das).
      
         - Update the dt-platdev cpufreq driver to allow RK3399 to have
           separate tunables per cluster (Dmitry Torokhov).
      
         - Fix the dma_alloc_coherent() usage in the tegra186 cpufreq driver
           (Christoph Hellwig).
      
         - Make the imx6q cpufreq driver read OCOTP through nvmem for
           imx6ul/imx6ull (Anson Huang).
      
         - Fix several bugs in the operating performance points (OPP)
           framework and make it more stable (Viresh Kumar, Dave Gerlach).
      
         - Update the devfreq subsystem to take changes in the APIs used by
           into account, fix some issues with it and make it stop print
           device_node.name directly (Bjorn Andersson, Enric Balletbo i Serra,
           Matthias Kaehlcke, Rob Herring, Vincent Donnefort, zhong jiang).
      
         - Prepare the generic power domains (genpd) framework for dealing
           with domains containing CPUs (Ulf Hansson).
      
         - Prevent sysfs attributes representing low-power S0 residency
           counters from being exposed if low-power S0 support is not
           indicated in ACPI FADT (Rajneesh Bhardwaj).
      
         - Get rid of custom CPU features macros for Intel CPUs from the
           intel_idle and RAPL drivers (Andy Shevchenko).
      
         - Update the tasks freezer to list tasks that refused to freeze and
           caused a system transition to a sleep state to be aborted (Todd
           Brandt).
      
         - Update the pm-graph set of tools to v5.2 (Todd Brandt).
      
         - Fix some issues in the cpupower utility (Anders Roxell, Prarit
           Bhargava)"
      
      * tag 'pm-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (73 commits)
        PM / Domains: Document flags for genpd
        PM / Domains: Deal with multiple states but no governor in genpd
        PM / Domains: Don't treat zero found compatible idle states as an error
        cpuidle: menu: Avoid computations when result will be discarded
        cpuidle: menu: Drop redundant comparison
        cpufreq: tegra186: don't pass GFP_DMA32 to dma_alloc_coherent()
        cpufreq: conservative: Take limits changes into account properly
        Documentation: intel_pstate: Add base_frequency information
        cpufreq: intel_pstate: Add base_frequency attribute
        ACPI / CPPC: Add support for guaranteed performance
        cpuidle: menu: Simplify checks related to the polling state
        PM / tools: sleepgraph and bootgraph: upgrade to v5.2
        PM / tools: sleepgraph: first batch of v5.2 changes
        cpupower: Fix coredump on VMWare
        cpupower: Fix AMD Family 0x17 msr_pstate size
        cpufreq: imx6q: read OCOTP through nvmem for imx6ul/imx6ull
        cpufreq: dt-platdev: allow RK3399 to have separate tunables per cluster
        cpuidle: poll_state: Revise loop termination condition
        cpuidle: menu: Move the latency_req == 0 special case check
        cpuidle: menu: Avoid computations for very close timers
        ...
      12dd08fa
    • Linus Torvalds's avatar
      Merge branch 'pcmcia-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux · 72f86d08
      Linus Torvalds authored
      Pull pcmcia fixes from Dominik Brodowski:
       "These are just a few odd fixes and improvements to the PCMCIA core and
        to a few PCMCIA device drivers"
      
      * 'pcmcia-next' of git://git.kernel.org/pub/scm/linux/kernel/git/brodo/linux:
        pcmcia: Implement CLKRUN protocol disabling for Ricoh bridges
        pcmcia: pcmcia_resource: Replace mdelay() with msleep()
        pcmcia: add error handling for pcmcia_enable_device in qlogic_stub
        char: pcmcia: cm4000_cs: Replace mdelay with usleep_range in set_protocol
        pcmcia: Use module_pcmcia_driver for scsi drivers
        pcmcia: remove KERN_INFO level from debug message
      72f86d08
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.20' of https://github.com/cminyard/linux-ipmi · c403993a
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
       "Lots of small changes to the IPMI driver. Most of the changes are
        logging cleanup and style fixes. There are a few smaller bug fixes"
      
      * tag 'for-linus-4.20' of https://github.com/cminyard/linux-ipmi: (21 commits)
        ipmi: Fix timer race with module unload
        ipmi:ssif: Add support for multi-part transmit messages > 2 parts
        MAINTAINERS: Add file patterns for ipmi device tree bindings
        ipmi: Remove platform driver overrides and use the id_table
        ipmi: Free the address list on module cleanup
        ipmi: Don't leave holes in the I2C address list in the ssif driver
        ipmi: fix return value of ipmi_set_my_LUN
        ipmi: Convert pr_xxx() to dev_xxx() in the BT code
        ipmi:dmi: Ignore IPMI SMBIOS entries with a zero base address
        ipmi:dmi: Use pr_fmt in the IPMI DMI code
        ipmi: Change to ktime_get_ts64()
        ipmi_si: fix potential integer overflow on large shift
        ipmi_si_pci: fix NULL device in ipmi_si error message
        ipmi: Convert printk(KERN_<level> to pr_<level>(
        ipmi: Use more common logging styles
        ipmi: msghandler: Add and use pr_fmt and dev_fmt, remove PFX
        pci:ipmi: Move IPMI PCI class id defines to pci_ids.h
        ipmi: Finally get rid of ipmi_user_t and ipmi_smi_t
        ipmi:powernv: Convert ipmi_smi_t to struct ipmi_smi
        hwmon:ibm: Change ipmi_user_t to struct ipmi_user *
        ...
      c403993a
    • Linus Torvalds's avatar
      Merge tag 'leds-for-4.20-rc1' of... · 6fd577cd
      Linus Torvalds authored
      Merge tag 'leds-for-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds
      
      Pull LED updates from Jacek Anaszewski:
      "We introduce LED pattern trigger - the idea that was proposed three
       years ago now received enough attention and determination to drive it
       to the successful end.
      
        There is also one new LED class driver and couple of improvements to
        the existing ones.
      
        New LED class driver:
         - add support for Panasonic AN30259A with related DT bindings
      
        New LED trigger:
         - introduce LED pattern trigger
      
        leds-sc27xx-bltc:
         - implement pattern_set/clear ops to enable support for pattern
           trigger's hw_pattern sysfs file
      
        Improvements to existing LED class drivers:
         - leds-pwm: don't print error message on -EPROBE_DEFER
         - leds-gpio: try to lookup gpiod from device
         - leds-as3645a: convert to using %pOFn instead of device_node.name"
      
      * tag 'leds-for-4.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds:
        leds: sc27xx: Add pattern_set/clear interfaces for LED controller
        leds: core: Introduce LED pattern trigger
        leds: add Panasonic AN30259A support
        dt-bindings: leds: document Panasonic AN30259A bindings
        leds: gpio: Try to lookup gpiod from device
        leds: pwm: silently error out on EPROBE_DEFER
        leds: Convert to using %pOFn instead of device_node.name
      6fd577cd
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 114b5f8f
      Linus Torvalds authored
      Pull GPIO updates from Linus Walleij:
       "This is the bulk of GPIO changes for the v4.20 series:
      
        Core changes:
      
         - A patch series from Hans Verkuil to make it possible to
           enable/disable IRQs on a GPIO line at runtime and drive GPIO lines
           as output without having to put/get them from scratch.
      
           The irqchip callbacks have been improved so that they can use only
           the fastpatch callbacks to enable/disable irqs like any normal
           irqchip, especially the gpiod_lock_as_irq() has been improved to be
           callable in fastpath context.
      
           A bunch of rework had to be done to achieve this but it is a big
           win since I never liked to restrict this to slowpath. The only call
           requireing slowpath was try_module_get() and this is kept at the
           .request_resources() slowpath callback. In the GPIO CEC driver this
           is a big win sine a single line is used for both outgoing and
           incoming traffic, and this needs to use IRQs for incoming traffic
           while actively driving the line for outgoing traffic.
      
         - Janusz Krzysztofik improved the GPIO array API to pass a "cookie"
           (struct gpio_array) and a bitmap for setting or getting multiple
           GPIO lines at once.
      
           This improvement orginated in a specific need to speed up an OMAP1
           driver and has led to a much better API and real performance gains
           when the state of the array can be used to bypass a lot of checks
           and code when we want things to go really fast.
      
           The previous code would minimize the number of calls down to the
           driver callbacks assuming the CPU speed was orders of magnitude
           faster than the I/O latency, but this assumption was wrong on
           several platforms: what we needed to do was to profile and improve
           the speed on the hot path of the array functions and this change is
           now completed.
      
         - Clean out the painful and hard to grasp BNF experiments from the
           device tree bindings. Future approaches are looking into using JSON
           schema for this purpose. (Rob Herring is floating a patch series.)
      
        New drivers:
      
         - The RCAR driver now supports r8a774a1 (RZ/G2M).
      
         - Synopsys GPIO via CREGs driver.
      
        Major improvements:
      
         - Modernization of the EP93xx driver to use irqdomain and other
           contemporary concepts.
      
         - The ingenic driver has been merged into the Ingenic pin control
           driver and removed from the GPIO subsystem.
      
         - Debounce support in the ftgpio010 driver"
      
      * tag 'gpio-v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio: (116 commits)
        gpio: Clarify kerneldoc on gpiochip_set_chained_irqchip()
        gpio: Remove unused 'irqchip' argument to gpiochip_set_cascaded_irqchip()
        gpio: Drop parent irq assignment during cascade setup
        mmc: pwrseq_simple: Fix incorrect handling of GPIO bitmap
        gpio: fix SNPS_CREG kconfig dependency warning
        gpiolib: Initialize gdev field before is used
        gpio: fix kernel-doc after devres.c file rename
        gpio: fix doc string for devm_gpiochip_add_data() to not talk about irq_chip
        gpio: syscon: Fix possible NULL ptr usage
        gpiolib: Show correct direction from the beginning
        pinctrl: msm: Use init_valid_mask exported function
        gpiolib: Add init_valid_mask exported function
        GPIO: add single-register GPIO via CREG driver
        dt-bindings: Document the Synopsys GPIO via CREG bindings
        gpio: mockup: use device properties instead of platform_data
        gpio: Slightly more helpful debugfs
        gpio: omap: Remove set but not used variable 'dev'
        gpio: omap: drop omap_gpio_list
        Accept partial 'gpio-line-names' property.
        gpio: omap: get rid of the conditional PM runtime calls
        ...
      114b5f8f
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · b0b6a28b
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the bulk of pin control changes for the v4.20 series:
      
        There were no significant changes to the core this time! Bur the new
        Qualcomm, Mediatek and Broadcom drivers are quite interesting as they
        will be used in a few million embedded devices the coming years as it
        seems.
      
        New drivers:
      
         - Broadcom Northstar pin control driver.
      
         - Mediatek MT8183 subdriver.
      
         - Mediatek MT7623 subdriver.
      
         - Mediatek MT6765 subdriver.
      
         - Meson g12a subdriver.
      
         - Nuvoton NPCM7xx pin control and GPIO driver.
      
         - Qualcomm QCS404 pin control and GPIO subdriver.
      
         - Qualcomm SDM660 pin control and GPIO subdriver.
      
         - Renesas R8A7744 PFC subdriver.
      
         - Renesas R8A774C0 PFC subdriver.
      
         - Renesas RZ/N1 pinctrl driver
      
        Major improvements:
      
         - Pulled the GPIO support for Ingenic over from the GPIO subsystem
           and consolidated it all in the Ingenic pin control driver.
      
         - Major cleanups and consolidation work in all Intel drivers.
      
         - Major cleanups and consolidation work in all Mediatek drivers.
      
         - Lots of incremental improvements to the Renesas PFC pin controller
           family.
      
         - All drivers doing GPIO now include <linux/gpio/driver.h> and
           nothing else"
      
      * tag 'pinctrl-v4.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (153 commits)
        pinctrl: sunxi: Fix a memory leak in 'sunxi_pinctrl_build_state()'
        gpio: uniphier: include <linux/bits.h> instead of <linux/bitops.h>
        pinctrl: uniphier: include <linux/bits.h> instead of <linux/bitops.h>
        dt-bindings: pinctrl: bcm4708-pinmux: improve example binding
        pinctrl: geminilake: Sort register offsets by value
        pinctrl: geminilake: Get rid of unneeded ->probe() stub
        pinctrl: geminilake: Update pin list for B0 stepping
        pinctrl: renesas: Fix platform_no_drv_owner.cocci warnings
        pinctrl: mediatek: Make eint_m u16
        pinctrl: bcm: ns: Use uintptr_t for casting data
        pinctrl: madera: Fix uninitialized variable bug in madera_mux_set_mux
        pinctrl: gemini: Fix up TVC clock group
        pinctrl: gemini: Drop noisy debug prints
        pinctrl: gemini: Mask and set properly
        pinctrl: mediatek: select GPIOLIB
        pinctrl: rza1: don't manually release devm managed resources
        MAINTAINERS: update entry for Mediatek pin controller
        pinctrl: bcm: add Northstar driver
        dt-bindings: pinctrl: document Broadcom Northstar pin mux controller
        pinctrl: qcom: fix 'const' pointer handling
        ...
      b0b6a28b
    • Linus Torvalds's avatar
      Merge tag 'mmc-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 1650ac53
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Introduce a host helper function to share re-tuning progress
      
        MMC host:
         - sdhci: Add support for v4 host mode
         - sdhci-of-arasan: Add Support for AM654 MMC and PHY
         - sdhci-sprd: Add support for Spreadtrum's host controller
         - sdhci-tegra: Add support for HS400 enhanced strobe
         - sdhci-tegra: Enable UHS/HS200 modes for Tegra186/210
         - sdhci-tegra: Add support for HS400 delay line calibration
         - sdhci-tegra: Add support for pad calibration
         - sdhci-of-dwcmshc: Address 128MB DMA boundary limitation
         - sdhci-of-esdhc: Add support for tuning erratum A008171
         - sdhci-iproc: Add ACPI support
         - mediatek: Add support for MT8183
         - mediatek: Improve the support for tuning
         - mediatek: Add bus clock control for MT2712
         - jz4740: Add support for the JZ4725B
         - mmci: Add support for the stm32 sdmmc variant
         - mmci: Add support for an optional reset control
         - mmci: Add some new variant specific properties/callbacks
         - mmci: Re-structure DMA code to prepare for new variants
         - renesas_sdhi: Add support for r8a77470, r8a7744 and r8a774a1
         - renesas_sdhi_internal_dmac: Whitelist r8a77970 and r8a774a1
         - tmio/uniphier-sd: Add new UniPhier SD/eMMC controller driver
         - tmio/renesas_sdhi: Deal properly with SCC detection during re-tune
         - tmio/renesas_sdhi: Refactor/consolidate clock management
         - omap_hsmmc: Drop cover detection and some unused platform data
         - dw_mmc-exynos: Enable tuning for more speed modes
         - sunxi: Clarify the new timing mode and enable it for the A64 controller
         - various: Convert to slot GPIO descriptors"
      
      * tag 'mmc-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (129 commits)
        mmc: mediatek: drop too much code of tuning method
        mmc: mediatek: add MT8183 MMC driver support
        mmc: mediatek: tune CMD/DATA together
        mmc: mediatek: fix cannot receive new request when msdc_cmd_is_ready fail
        mmc: mediatek: fill the actual clock for mmc debugfs
        mmc: dt-bindings: add support for MT8183 SoC
        mmc: uniphier-sd: avoid using broken DMA RX channel
        mmc: uniphier-sd: fix DMA disabling
        mmc: tmio: simplify the DMA mode test
        mmc: tmio: remove TMIO_MMC_HAVE_HIGH_REG flag
        mmc: tmio: move MFD variant reset to a platform hook
        mmc: renesas_sdhi: Add r8a77470 SDHI1 support
        dt-bindings: mmc: renesas_sdhi: Add r8a77470 support
        mmc: mmci: add stm32 sdmmc variant
        dt-bindings: mmci: add stm32 sdmmc variant
        mmc: mmci: add stm32 sdmmc registers
        mmc: mmci: add clock divider for stm32 sdmmc
        mmc: mmci: add optional reset property
        dt-bindings: mmci: add optional reset property
        mmc: mmci: add variant property to not read datacnt
        ...
      1650ac53
    • Linus Torvalds's avatar
      Merge tag 'regulator-v5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · ca9eb48f
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "The biggest chunk of the regulator changes for this release outside of
        the new drivers is the conversion of the fixed regulator to use the
        GPIO descriptor API, there's a small addition to the GPIO API plus a
        bunch of updates to board files to implement it. This is some really
        welcome work from Linus Walleij that's had a bunch of review and has
        been sitting in -next for a while so I'm fairly happy there's no major
        issues.
      
         - Helpers for overlapping linear ranges.
      
         - Display opmode and consumer requested load in the regualtor_summary
           file in debugfs, plus a fix there.
      
         - Support for the fun and entertaining power off mechanism that the
           pfuze100 hardware implements.
      
         - Conversion of the fixed regulator API to use GPIO descriptors,
           including pulling in a bunch of patches to a bunch of board files.
      
         - New drivers for Cirrus Logic Lochnagar, Qualcomm PMS405, Rohm
           BD71847, ST PMIC1, and TI LM363x devices"
      
      * tag 'regulator-v5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (36 commits)
        regulator: lochnagar: Use a consisent comment style for SPDX header
        regulator: bd718x7: Remove struct bd718xx_pmic
        regulator: Fetch enable gpiods nonexclusive
        regulator/gpio: Allow nonexclusive GPIO access
        regulator: lochnagar: Add support for the Cirrus Logic Lochnagar
        regulator: stpmic1: Return REGULATOR_MODE_INVALID for invalid mode
        regulator: stpmic1: add stpmic1 regulator driver
        dt-bindings: regulator: document stpmic1 pmic regulators
        regulator: axp20x: Mark expected switch fall-throughs
        regulator: bd718xx: fix build warning on x86_64
        regulator: fixed: Default enable high on DT regulators
        regulator: bd718xx: rename bd71837 to 718xx
        regulator: bd718XX use pickable ranges
        regulator/mfd: bd718xx: rename bd71837/bd71847 common instances
        regulator: Support regulators where voltage ranges are selectable
        mfd: dt bindings: add BD71847 device-tree binding documentation
        regulator: dt bindings: add BD71847 device-tree binding documentation
        regulator/mfd: Support ROHM BD71847 power management IC
        regulator: da905{2,5}: Remove unnecessary array check
        regulator: qcom: Add PMS405 regulators
        ...
      ca9eb48f
    • Linus Torvalds's avatar
      Merge tag 'spi-v5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · b537149a
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "One new core feature here, a small collection of new drivers and a
        bunch of small improvements in existing drivers:
      
         - A new CS_WORD flag for transfers where the chip select is toggled
           at every word, with both a generic implementation and the ability
           for controllers to do this automatically (including a DaVinci one).
      
         - New drivers for Mediatek MT2712, Qualcomm GENI and QSPI, Spreadtrum
           SPI and ST STM32 QSPI plus new IDs for several existing ones"
      
      * tag 'spi-v5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (86 commits)
        spi: lpspi: add imx8qxp compatible string
        spi: Allow building SPI_BCM63XX_HSSPI on ARM-based SoCs
        spi: omap2-mcspi: Add slave mode support
        spi: omap2-mcspi: Set FIFO DMA trigger level to word length
        spi: omap2-mcspi: Switch to readl_poll_timeout()
        spi: spi-mem: add stm32 qspi controller
        dt-bindings: spi: add stm32 qspi controller
        spi: sh-msiof: document R8A779{7|8}0 bindings
        spi: pic32-sqi: don't pass GFP_DMA32 to dma_alloc_coherent
        MAINTAINERS: Add entry for Broadcom SPI controller
        spi: sh-msiof: fix deferred probing
        spi: imx: use PIO mode if size is small
        spi: imx: correct wml as the last sg length
        spi: imx: move wml setting to later than setup_transfer
        PCI: Provide pci_match_id() with CONFIG_PCI=n
        spi: Make GPIO CSs honour the SPI_NO_CS flag
        spi/spi-pxa2xx: add PXA2xx SSP SPI Controller
        spi: pxa2xx: Add devicetree support
        spi: pxa2xx: Use an enum for type
        spi: spi-geni-qcom: Add SPI driver support for GENI based QUP
        ...
      b537149a
    • Linus Torvalds's avatar
      Merge tag 'regmap-v5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 6214a9fe
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "A small update with a couple of new APIs that are useful for some
        small sets of devices:
      
         - Split up the single_rw flagging to map read and write separately as
           some devices support bulk operations for only read or only write.
      
         - Add a write version of the noinc API.
      
         - Clean up the code for LOG_DEVICE a bit"
      
      * tag 'regmap-v5.0' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: use less #ifdef for LOG_DEVICE
        regmap: Add regmap_noinc_write API
        regmap: split up regmap_config.use_single_rw
        regmap: fix comment for regmap.use_single_write
      6214a9fe
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-4.20' of git://git.infradead.org/linux-mtd · a36cf686
      Linus Torvalds authored
      Pull mtd updates from Boris Brezillon:
       "SPI NOR core changes:
         - Support non-uniform erase size
         - Support controllers with limited TX fifo size
      
       Driver changes:
         - m25p80: Re-issue a WREN command after each write access
         - cadence: Pass a proper dir value to dma_[un]map_single()
         - fsl-qspi: Check fsl_qspi_get_seqid() return val make sure 4B
           addressing opcodes are properly handled
         - intel-spi: Add a new PCI entry for Ice Lake
      
       Raw NAND core changes:
         - Two batchs of cleanups of the NAND API, including:
            * Deprecating a lot of interfaces (now replaced by ->exec_op()).
            * Moving code in separate drivers (JEDEC, ONFI), in private files
              (internals), in platform drivers, etc.
            * Functions/structures reordering.
            * Exclusive use of the nand_chip structure instead of the MTD one
              all across the subsystem.
         - Addition of the nand_wait_readrdy/rdy_op() helpers.
      
       Raw NAND controllers drivers changes:
         - Various coccinelle patches.
         - Marvell:
            * Use regmap_update_bits() for syscon access.
            * More documentation.
            * BCH failure path rework.
            * More layouts to be supported.
            * IRQ handler complete() condition fixed.
         - Fsl_ifc:
            * SRAM initialization fixed for newer controller versions.
         - Denali:
            * Fix licenses mismatch and use a SPDX tag.
            * Set SPARE_AREA_SKIP_BYTES register to 8 if unset.
         - Qualcomm:
            * Do not include dma-direct.h.
         - Docg4:
            * Removed.
         - Ams-delta:
            * Use of a GPIO lookup table
            * Internal machinery changes.
      
       Raw NAND chip drivers changes:
         - Toshiba:
            * Add support for Toshiba memory BENAND
            * Pass a single nand_chip object to the status helper.
         - ESMT:
            * New driver to retrieve the ECC requirements from the 5th ID
              byte.
      
        MTD changes:
         - physmap cleanups/fixe
         - gpio-addr-flash cleanups/fixes"
      
      * tag 'mtd/for-4.20' of git://git.infradead.org/linux-mtd: (93 commits)
        jffs2: free jffs2_sb_info through jffs2_kill_sb()
        mtd: spi-nor: fsl-quadspi: fix read error for flash size larger than 16MB
        mtd: spi-nor: intel-spi: Add support for Intel Ice Lake SPI serial flash
        mtd: maps: gpio-addr-flash: Convert to gpiod
        mtd: maps: gpio-addr-flash: Replace array with an integer
        mtd: maps: gpio-addr-flash: Use order instead of size
        mtd: spi-nor: fsl-quadspi: Don't let -EINVAL on the bus
        mtd: devices: m25p80: Make sure WRITE_EN is issued before each write
        mtd: spi-nor: Support controllers with limited TX FIFO size
        mtd: spi-nor: cadence-quadspi: Use proper enum for dma_[un]map_single
        mtd: spi-nor: parse SFDP Sector Map Parameter Table
        mtd: spi-nor: add support to non-uniform SFDP SPI NOR flash memories
        mtd: rawnand: marvell: fix the IRQ handler complete() condition
        mtd: rawnand: denali: set SPARE_AREA_SKIP_BYTES register to 8 if unset
        mtd: rawnand: r852: fix spelling mistake "card_registred" -> "card_registered"
        mtd: rawnand: toshiba: Pass a single nand_chip object to the status helper
        mtd: maps: gpio-addr-flash: Use devm_* functions
        mtd: maps: gpio-addr-flash: Fix ioremapped size
        mtd: maps: gpio-addr-flash: Replace custom printk
        mtd: physmap_of: Release resources on error
        ...
      a36cf686
  2. 22 Oct, 2018 11 commits
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · b8e445b6
      Linus Torvalds authored
      Pull hwmon updates from Guenter Roeck:
      
       - Add support for trace events to hwmon core
      
       - Add support for NCT6797D, NCT6798D, MAX31725/6, LTM4686
      
       - Support all AMD Family 15h Model 6xh and Model 7xh processors in
         k10temp driver
      
       - Convert ina3221 driver to _info API
      
       - Fixes, cleanups, and improvements in various drivers
      
      * tag 'hwmon-for-v4.20' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (46 commits)
        hwmon: (pmbus) Fix page count auto-detection.
        hwmon: (pmbus) remove redundant 'default n' from Kconfig
        hwmon: (core) Add trace events to _attr_show/store functions
        hwmon: (ina3221) Use _info API to register hwmon device
        hwmon: (npcm-750-pwm-fan) Change initial pwm target to 255
        hwmon: (ina3221) Validate shunt resistor value from DT
        hwmon: (tmp421) make const array 'names' static
        hwmon: (core) Add hwmon_in_enable attribute
        hwmon: (ina3221) mark PM functions as __maybe_unused
        hwmon: (ina3221) Read channel input source info from DT
        dt-bindings: hwmon: Add ina3221 documentation
        hwmon: (ina3221) Add suspend and resume functions
        hwmon: (ina3221) Fix INA3221_CONFIG_MODE macros
        hwmon: (ina3221) Add INA3221_CONFIG to volatile_table
        MAINTAINERS: Update PMBUS maintainer entry
        hwmon: (pwm-fan) Set fan speed to 0 on suspend
        hwmon: (pwm-fan) Silence error on probe deferral
        hwmon: (scpi-hwmon) remove redundant continue
        hwmon: (nct6775) Add support for NCT6798D
        hwmon: (nct6775) Add support for NCT6797D
        ...
      b8e445b6
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-4.20' of git://git.infradead.org/users/hch/dma-mapping · cff22949
      Linus Torvalds authored
      Pull dma mapping updates from Christoph Hellwig:
       "First batch of dma-mapping changes for 4.20.
      
        There will be a second PR as some big changes were only applied just
        before the end of the merge window, and I want to give them a few more
        days in linux-next.
      
        Summary:
      
         - mostly more consolidation of the direct mapping code, including
           converting over hexagon, and merging the coherent and non-coherent
           code into a single dma_map_ops instance (me)
      
         - cleanups for the dma_configure/dma_unconfigure callchains (me)
      
         - better handling of dma_masks in odd setups (me, Alexander Duyck)
      
         - better debugging of passing vmalloc address to the DMA API (Stephen
           Boyd)
      
         - CMA command line parsing fix (He Zhe)"
      
      * tag 'dma-mapping-4.20' of git://git.infradead.org/users/hch/dma-mapping: (27 commits)
        dma-direct: respect DMA_ATTR_NO_WARN
        dma-mapping: translate __GFP_NOFAIL to DMA_ATTR_NO_WARN
        dma-direct: document the zone selection logic
        dma-debug: Check for drivers mapping invalid addresses in dma_map_single()
        dma-direct: fix return value of dma_direct_supported
        dma-mapping: move dma_default_get_required_mask under ifdef
        dma-direct: always allow dma mask <= physiscal memory size
        dma-direct: implement complete bus_dma_mask handling
        dma-direct: refine dma_direct_alloc zone selection
        dma-direct: add an explicit dma_direct_get_required_mask
        dma-mapping: make the get_required_mask method available unconditionally
        unicore32: remove swiotlb support
        Revert "dma-mapping: clear dev->dma_ops in arch_teardown_dma_ops"
        dma-mapping: support non-coherent devices in dma_common_get_sgtable
        dma-mapping: consolidate the dma mmap implementations
        dma-mapping: merge direct and noncoherent ops
        dma-mapping: move the dma_coherent flag to struct device
        MIPS: don't select DMA_MAYBE_COHERENT from DMA_PERDEV_COHERENT
        dma-mapping: add the missing ARCH_HAS_SYNC_DMA_FOR_CPU_ALL declaration
        dma-mapping: fix panic caused by passing empty cma command line argument
        ...
      cff22949
    • Linus Torvalds's avatar
      Merge tag 'for-4.20/libata-20181021' of git://git.kernel.dk/linux-block · 13775dac
      Linus Torvalds authored
      Pull libata updates from Jens Axboe:
       "Here are the libata changes queued up for 4.20:
      
         - %pOFn device_node.name conversion (Rob Herring)
      
         - Use LBAM/LBAH password defines instead of hardcoding (Linus
           Walleij)
      
         - Series adding support for the allwinner R40 AHCI controller
           (Corentin Labbe)
      
         - Disable ALPM for Ampere Computing device (Suman Tripathi)
      
         - ahci bcrm fixes (Florian Fainelli)
      
         - Redundant Kconfig defaults (Bartlomiej Zolnierkiewicz)
      
         - Code cleanups (Nathan Chancellor)"
      
      * tag 'for-4.20/libata-20181021' of git://git.kernel.dk/linux-block:
        ata: remove redundant 'default n' from Kconfig
        ata: ep93xx: Use proper enums for directions
        ata: ahci_brcm: Allow using driver or DSL SoCs
        ata: ahci_brcm: Match BCM63138 compatible strings
        ata: ahci_brcm: Allow optional reset controller to be used
        dt-bindings: ata: Document BCM63138 compatible string
        pata_atiixp: Remove unnecessary parentheses
        ata: Disable AHCI ALPM feature for Ampere Computing eMAG SATA
        dt-bindings: ata: update ahci_sunxi bindings
        ata: ahci_sunxi: add support for r40
        dt-bindings: ata: ahci-platform: document phy-supply
        ata: ahci_platform: add support for PHY controller regulator
        dt-bindings: ata: ahci-platform: document ahci-supply
        ata: ahci_platform: add support for AHCI controller regulator
        dt-bindings: ata: ahci-platform: fix indentation of target-supply
        libata: Use SMART LBAM/LBAH password defines
        ata: ahci: Convert to using %pOFn instead of device_node.name
      13775dac
    • Linus Torvalds's avatar
      Merge tag 'for-4.20/block-20181021' of git://git.kernel.dk/linux-block · 6ab9e092
      Linus Torvalds authored
      Pull block layer updates from Jens Axboe:
       "This is the main pull request for block changes for 4.20. This
        contains:
      
         - Series enabling runtime PM for blk-mq (Bart).
      
         - Two pull requests from Christoph for NVMe, with items such as;
            - Better AEN tracking
            - Multipath improvements
            - RDMA fixes
            - Rework of FC for target removal
            - Fixes for issues identified by static checkers
            - Fabric cleanups, as prep for TCP transport
            - Various cleanups and bug fixes
      
         - Block merging cleanups (Christoph)
      
         - Conversion of drivers to generic DMA mapping API (Christoph)
      
         - Series fixing ref count issues with blkcg (Dennis)
      
         - Series improving BFQ heuristics (Paolo, et al)
      
         - Series improving heuristics for the Kyber IO scheduler (Omar)
      
         - Removal of dangerous bio_rewind_iter() API (Ming)
      
         - Apply single queue IPI redirection logic to blk-mq (Ming)
      
         - Set of fixes and improvements for bcache (Coly et al)
      
         - Series closing a hotplug race with sysfs group attributes (Hannes)
      
         - Set of patches for lightnvm:
            - pblk trace support (Hans)
            - SPDX license header update (Javier)
            - Tons of refactoring patches to cleanly abstract the 1.2 and 2.0
              specs behind a common core interface. (Javier, Matias)
            - Enable pblk to use a common interface to retrieve chunk metadata
              (Matias)
            - Bug fixes (Various)
      
         - Set of fixes and updates to the blk IO latency target (Josef)
      
         - blk-mq queue number updates fixes (Jianchao)
      
         - Convert a bunch of drivers from the old legacy IO interface to
           blk-mq. This will conclude with the removal of the legacy IO
           interface itself in 4.21, with the rest of the drivers (me, Omar)
      
         - Removal of the DAC960 driver. The SCSI tree will introduce two
           replacement drivers for this (Hannes)"
      
      * tag 'for-4.20/block-20181021' of git://git.kernel.dk/linux-block: (204 commits)
        block: setup bounce bio_sets properly
        blkcg: reassociate bios when make_request() is called recursively
        blkcg: fix edge case for blk_get_rl() under memory pressure
        nvme-fabrics: move controller options matching to fabrics
        nvme-rdma: always have a valid trsvcid
        mtip32xx: fully switch to the generic DMA API
        rsxx: switch to the generic DMA API
        umem: switch to the generic DMA API
        sx8: switch to the generic DMA API
        sx8: remove dead IF_64BIT_DMA_IS_POSSIBLE code
        skd: switch to the generic DMA API
        ubd: remove use of blk_rq_map_sg
        nvme-pci: remove duplicate check
        drivers/block: Remove DAC960 driver
        nvme-pci: fix hot removal during error handling
        nvmet-fcloop: suppress a compiler warning
        nvme-core: make implicit seed truncation explicit
        nvmet-fc: fix kernel-doc headers
        nvme-fc: rework the request initialization code
        nvme-fc: introduce struct nvme_fcp_op_w_sgl
        ...
      6ab9e092
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · 52898511
      Linus Torvalds authored
      Pull arm64 updates from Catalin Marinas:
       "Apart from some new arm64 features and clean-ups, this also contains
        the core mmu_gather changes for tracking the levels of the page table
        being cleared and a minor update to the generic
        compat_sys_sigaltstack() introducing COMPAT_SIGMINSKSZ.
      
        Summary:
      
         - Core mmu_gather changes which allow tracking the levels of
           page-table being cleared together with the arm64 low-level flushing
           routines
      
         - Support for the new ARMv8.5 PSTATE.SSBS bit which can be used to
           mitigate Spectre-v4 dynamically without trapping to EL3 firmware
      
         - Introduce COMPAT_SIGMINSTKSZ for use in compat_sys_sigaltstack
      
         - Optimise emulation of MRS instructions to ID_* registers on ARMv8.4
      
         - Support for Common Not Private (CnP) translations allowing threads
           of the same CPU to share the TLB entries
      
         - Accelerated crc32 routines
      
         - Move swapper_pg_dir to the rodata section
      
         - Trap WFI instruction executed in user space
      
         - ARM erratum 1188874 workaround (arch_timer)
      
         - Miscellaneous fixes and clean-ups"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (78 commits)
        arm64: KVM: Guests can skip __install_bp_hardening_cb()s HYP work
        arm64: cpufeature: Trap CTR_EL0 access only where it is necessary
        arm64: cpufeature: Fix handling of CTR_EL0.IDC field
        arm64: cpufeature: ctr: Fix cpu capability check for late CPUs
        Documentation/arm64: HugeTLB page implementation
        arm64: mm: Use __pa_symbol() for set_swapper_pgd()
        arm64: Add silicon-errata.txt entry for ARM erratum 1188873
        Revert "arm64: uaccess: implement unsafe accessors"
        arm64: mm: Drop the unused cpu parameter
        MAINTAINERS: fix bad sdei paths
        arm64: mm: Use #ifdef for the __PAGETABLE_P?D_FOLDED defines
        arm64: Fix typo in a comment in arch/arm64/mm/kasan_init.c
        arm64: xen: Use existing helper to check interrupt status
        arm64: Use daifflag_restore after bp_hardening
        arm64: daifflags: Use irqflags functions for daifflags
        arm64: arch_timer: avoid unused function warning
        arm64: Trap WFI executed in userspace
        arm64: docs: Document SSBS HWCAP
        arm64: docs: Fix typos in ELF hwcaps
        arm64/kprobes: remove an extra semicolon in arch_prepare_kprobe
        ...
      52898511
    • Harald Freudenberger's avatar
      s390/pkey: move pckmo subfunction available checks away from module init · f822ad2c
      Harald Freudenberger authored
      The init of the pkey module currently fails if the pckmo instruction
      or the subfunctions are not available.  However, customers may
      restrict their LPAR to switch off exactly these functions and work
      with secure key only. So it is a valid case to have the pkey module
      active and use it for secure key to protected key transfer only.
      
      This patch moves the pckmo subfunction check from the pkey module init
      function into the internal function where the pckmo instruction is
      called. So now only on invocation of the pckmo instruction the check
      for the required subfunction is done. If not available EOPNOTSUPP is
      returned to the caller.
      
      The check for having the pckmo instruction available is still done
      during module init. This instruction came in with MSA 3 together with
      the basic set of kmc instructions needed to work with protected keys.
      Signed-off-by: default avatarHarald Freudenberger <freude@linux.ibm.com>
      Reviewed-by: default avatarIngo Franzki <ifranzki@linux.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      f822ad2c
    • Vasily Gorbik's avatar
      s390/kasan: support preemptible kernel build · cf3dbe5d
      Vasily Gorbik authored
      When the kernel is built with:
      CONFIG_PREEMPT=y
      CONFIG_PREEMPT_COUNT=y
      "stfle" function used by kasan initialization code makes additional
      call to preempt_count_add/preempt_count_sub. To avoid removing kasan
      instrumentation from sched code where those functions leave split stfle
      function and provide __stfle variant without preemption handling to be
      used by Kasan.
      Reported-by: default avatarBenjamin Block <bblock@linux.ibm.com>
      Acked-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
      Signed-off-by: default avatarVasily Gorbik <gor@linux.ibm.com>
      Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
      cf3dbe5d
    • Greg Kroah-Hartman's avatar
      Linux 4.19 · 84df9525
      Greg Kroah-Hartman authored
      84df9525
    • Greg Kroah-Hartman's avatar
      MAINTAINERS: Add an entry for the code of conduct · 8e630c31
      Greg Kroah-Hartman authored
      As I introduced these files, I'm willing to be the maintainer of them as
      well.
      Acked-by: default avatarChris Mason <clm@fb.com>
      Acked-by: default avatarOlof Johansson <olof@lixom.net>
      Acked-by: default avatarSteven Rostedt (VMware) <rostedt@goodmis.org>
      Acked-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      8e630c31
    • Greg Kroah-Hartman's avatar
      Code of Conduct: Change the contact email address · f3f76d64
      Greg Kroah-Hartman authored
      The contact point for the kernel's Code of Conduct should now be the
      Code of Conduct Committee, not the full TAB.  Change the email address
      in the file to properly reflect this.
      Acked-by: default avatarChris Mason <clm@fb.com>
      Acked-by: default avatarOlof Johansson <olof@lixom.net>
      Acked-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      f3f76d64
    • Greg Kroah-Hartman's avatar
      Code of Conduct Interpretation: Put in the proper URL for the committee · d117a854
      Greg Kroah-Hartman authored
      There was a blank <URL> reference for how to find the Code of Conduct
      Committee.  Fix that up by pointing it to the correct kernel.org website
      page location.
      Acked-by: default avatarChris Mason <clm@fb.com>
      Acked-by: default avatarOlof Johansson <olof@lixom.net>
      Acked-by: default avatarTheodore Ts'o <tytso@mit.edu>
      Acked-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      d117a854