31 Mar, 2020

32 commits

  • Pull NOHZ update from Thomas Gleixner:
    "Remove TIF_NOHZ from three architectures

    These architectures use a static key to decide whether context
    tracking needs to be invoked and the TIF_NOHZ flag just causes a
    pointless slowpath execution for nothing"

    * tag 'timers-nohz-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    arm64: Remove TIF_NOHZ
    arm: Remove TIF_NOHZ
    x86: Remove TIF_NOHZ
    context-tracking: Introduce CONFIG_HAVE_TIF_NOHZ
    x86/entry: Remove _TIF_NOHZ from _TIF_WORK_SYSCALL_ENTRY

    Linus Torvalds
     
  • Pull core SMP updates from Thomas Gleixner:
    "CPU (hotplug) updates:

    - Support for locked CSD objects in smp_call_function_single_async()
    which allows to simplify callsites in the scheduler core and MIPS

    - Treewide consolidation of CPU hotplug functions which ensures the
    consistency between the sysfs interface and kernel state. The low
    level functions cpu_up/down() are now confined to the core code and
    not longer accessible from random code"

    * tag 'smp-core-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
    cpu/hotplug: Ignore pm_wakeup_pending() for disable_nonboot_cpus()
    cpu/hotplug: Hide cpu_up/down()
    cpu/hotplug: Move bringup of secondary CPUs out of smp_init()
    torture: Replace cpu_up/down() with add/remove_cpu()
    firmware: psci: Replace cpu_up/down() with add/remove_cpu()
    xen/cpuhotplug: Replace cpu_up/down() with device_online/offline()
    parisc: Replace cpu_up/down() with add/remove_cpu()
    sparc: Replace cpu_up/down() with add/remove_cpu()
    powerpc: Replace cpu_up/down() with add/remove_cpu()
    x86/smp: Replace cpu_up/down() with add/remove_cpu()
    arm64: hibernate: Use bringup_hibernate_cpu()
    cpu/hotplug: Provide bringup_hibernate_cpu()
    arm64: Use reboot_cpu instead of hardconding it to 0
    arm64: Don't use disable_nonboot_cpus()
    ARM: Use reboot_cpu instead of hardcoding it to 0
    ARM: Don't use disable_nonboot_cpus()
    ia64: Replace cpu_down() with smp_shutdown_nonboot_cpus()
    cpu/hotplug: Create a new function to shutdown nonboot cpus
    cpu/hotplug: Add new {add,remove}_cpu() functions
    sched/core: Remove rq.hrtick_csd_pending
    ...

    Linus Torvalds
     
  • Pull irq updates from Thomas Gleixner:
    "Updates for the interrupt subsystem:

    Treewide:

    - Cleanup of setup_irq() which is not longer required because the
    memory allocator is available early.

    Most cleanup changes come through the various maintainer trees, so
    the final removal of setup_irq() is postponed towards the end of
    the merge window.

    Core:

    - Protection against unsafe invocation of interrupt handlers and
    unsafe interrupt injection including a fixup of the offending
    PCI/AER error injection mechanism.

    Invoking interrupt handlers from arbitrary contexts, i.e. outside
    of an actual interrupt, can cause inconsistent state on the
    fragile x86 interrupt affinity changing hardware trainwreck.

    Drivers:

    - Second wave of support for the new ARM GICv4.1

    - Multi-instance support for Xilinx and PLIC interrupt controllers

    - CPU-Hotplug support for PLIC

    - The obligatory new driver for X1000 TCU

    - Enhancements, cleanups and fixes all over the place"

    * tag 'irq-core-2020-03-30' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (58 commits)
    unicore32: Replace setup_irq() by request_irq()
    sh: Replace setup_irq() by request_irq()
    hexagon: Replace setup_irq() by request_irq()
    c6x: Replace setup_irq() by request_irq()
    alpha: Replace setup_irq() by request_irq()
    irqchip/gic-v4.1: Eagerly vmap vPEs
    irqchip/gic-v4.1: Add VSGI property setup
    irqchip/gic-v4.1: Add VSGI allocation/teardown
    irqchip/gic-v4.1: Move doorbell management to the GICv4 abstraction layer
    irqchip/gic-v4.1: Plumb set_vcpu_affinity SGI callbacks
    irqchip/gic-v4.1: Plumb get/set_irqchip_state SGI callbacks
    irqchip/gic-v4.1: Plumb mask/unmask SGI callbacks
    irqchip/gic-v4.1: Add initial SGI configuration
    irqchip/gic-v4.1: Plumb skeletal VSGI irqchip
    irqchip/stm32: Retrigger both in eoi and unmask callbacks
    irqchip/gic-v3: Move irq_domain_update_bus_token to after checking for NULL domain
    irqchip/xilinx: Do not call irq_set_default_host()
    irqchip/xilinx: Enable generic irq multi handler
    irqchip/xilinx: Fill error code when irq domain registration fails
    irqchip/xilinx: Add support for multiple instances
    ...

    Linus Torvalds
     
  • There's a semantic conflict in the Octeon staging network driver, which
    used the skb_reset_tc() function to reset skb state when re-using an
    skb. But that inline helper function was removed in mainline by commit
    2c64605b590e ("net: Fix CONFIG_NET_CLS_ACT=n and
    CONFIG_NFT_FWD_NETDEV={y, m} build").

    Fix it by using skb_reset_redirect() instead. Also move it out of the

    This code path only ends up triggering if REUSE_SKBUFFS_WITHOUT_FREE is
    enabled, which in turn only happens if you don't have CONFIG_NETFILTER
    configured. Which was how this wasn't caught by the usual allmodconfig
    builds.

    Signed-off-by: Randy Dunlap
    Reported-by: Stephen Rothwell
    Signed-off-by: Linus Torvalds

    Randy Dunlap
     
  • Pull scheduler updates from Ingo Molnar:
    "The main changes in this cycle are:

    - Various NUMA scheduling updates: harmonize the load-balancer and
    NUMA placement logic to not work against each other. The intended
    result is better locality, better utilization and fewer migrations.

    - Introduce Thermal Pressure tracking and optimizations, to improve
    task placement on thermally overloaded systems.

    - Implement frequency invariant scheduler accounting on (some) x86
    CPUs. This is done by observing and sampling the 'recent' CPU
    frequency average at ~tick boundaries. The CPU provides this data
    via the APERF/MPERF MSRs. This hopefully makes our capacity
    estimates more precise and keeps tasks on the same CPU better even
    if it might seem overloaded at a lower momentary frequency. (As
    usual, turbo mode is a complication that we resolve by observing
    the maximum frequency and renormalizing to it.)

    - Add asymmetric CPU capacity wakeup scan to improve capacity
    utilization on asymmetric topologies. (big.LITTLE systems)

    - PSI fixes and optimizations.

    - RT scheduling capacity awareness fixes & improvements.

    - Optimize the CONFIG_RT_GROUP_SCHED constraints code.

    - Misc fixes, cleanups and optimizations - see the changelog for
    details"

    * 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (62 commits)
    threads: Update PID limit comment according to futex UAPI change
    sched/fair: Fix condition of avg_load calculation
    sched/rt: cpupri_find: Trigger a full search as fallback
    kthread: Do not preempt current task if it is going to call schedule()
    sched/fair: Improve spreading of utilization
    sched: Avoid scale real weight down to zero
    psi: Move PF_MEMSTALL out of task->flags
    MAINTAINERS: Add maintenance information for psi
    psi: Optimize switching tasks inside shared cgroups
    psi: Fix cpu.pressure for cpu.max and competing cgroups
    sched/core: Distribute tasks within affinity masks
    sched/fair: Fix enqueue_task_fair warning
    thermal/cpu-cooling, sched/core: Move the arch_set_thermal_pressure() API to generic scheduler code
    sched/rt: Remove unnecessary push for unfit tasks
    sched/rt: Allow pulling unfitting task
    sched/rt: Optimize cpupri_find() on non-heterogenous systems
    sched/rt: Re-instate old behavior in select_task_rq_rt()
    sched/rt: cpupri_find: Implement fallback mechanism for !fit case
    sched/fair: Fix reordering of enqueue/dequeue_task_fair()
    sched/fair: Fix runnable_avg for throttled cfs
    ...

    Linus Torvalds
     
  • Pull perf updates from Ingo Molnar:
    "The main changes in this cycle were:

    Kernel side changes:

    - A couple of x86/cpu cleanups and changes were grandfathered in due
    to patch dependencies. These clean up the set of CPU model/family
    matching macros with a consistent namespace and C99 initializer
    style.

    - A bunch of updates to various low level PMU drivers:
    * AMD Family 19h L3 uncore PMU
    * Intel Tiger Lake uncore support
    * misc fixes to LBR TOS sampling

    - optprobe fixes

    - perf/cgroup: optimize cgroup event sched-in processing

    - misc cleanups and fixes

    Tooling side changes are to:

    - perf {annotate,expr,record,report,stat,test}

    - perl scripting

    - libapi, libperf and libtraceevent

    - vendor events on Intel and S390, ARM cs-etm

    - Intel PT updates

    - Documentation changes and updates to core facilities

    - misc cleanups, fixes and other enhancements"

    * 'perf-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (89 commits)
    cpufreq/intel_pstate: Fix wrong macro conversion
    x86/cpu: Cleanup the now unused CPU match macros
    hwrng: via_rng: Convert to new X86 CPU match macros
    crypto: Convert to new CPU match macros
    ASoC: Intel: Convert to new X86 CPU match macros
    powercap/intel_rapl: Convert to new X86 CPU match macros
    PCI: intel-mid: Convert to new X86 CPU match macros
    mmc: sdhci-acpi: Convert to new X86 CPU match macros
    intel_idle: Convert to new X86 CPU match macros
    extcon: axp288: Convert to new X86 CPU match macros
    thermal: Convert to new X86 CPU match macros
    hwmon: Convert to new X86 CPU match macros
    platform/x86: Convert to new CPU match macros
    EDAC: Convert to new X86 CPU match macros
    cpufreq: Convert to new X86 CPU match macros
    ACPI: Convert to new X86 CPU match macros
    x86/platform: Convert to new CPU match macros
    x86/kernel: Convert to new CPU match macros
    x86/kvm: Convert to new CPU match macros
    x86/perf/events: Convert to new CPU match macros
    ...

    Linus Torvalds
     
  • Pull locking updates from Ingo Molnar:
    "The main changes in this cycle were:

    - Continued user-access cleanups in the futex code.

    - percpu-rwsem rewrite that uses its own waitqueue and atomic_t
    instead of an embedded rwsem. This addresses a couple of
    weaknesses, but the primary motivation was complications on the -rt
    kernel.

    - Introduce raw lock nesting detection on lockdep
    (CONFIG_PROVE_RAW_LOCK_NESTING=y), document the raw_lock vs. normal
    lock differences. This too originates from -rt.

    - Reuse lockdep zapped chain_hlocks entries, to conserve RAM
    footprint on distro-ish kernels running into the "BUG:
    MAX_LOCKDEP_CHAIN_HLOCKS too low!" depletion of the lockdep
    chain-entries pool.

    - Misc cleanups, smaller fixes and enhancements - see the changelog
    for details"

    * 'locking-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (55 commits)
    fs/buffer: Make BH_Uptodate_Lock bit_spin_lock a regular spinlock_t
    thermal/x86_pkg_temp: Make pkg_temp_lock a raw_spinlock_t
    Documentation/locking/locktypes: Minor copy editor fixes
    Documentation/locking/locktypes: Further clarifications and wordsmithing
    m68knommu: Remove mm.h include from uaccess_no.h
    x86: get rid of user_atomic_cmpxchg_inatomic()
    generic arch_futex_atomic_op_inuser() doesn't need access_ok()
    x86: don't reload after cmpxchg in unsafe_atomic_op2() loop
    x86: convert arch_futex_atomic_op_inuser() to user_access_begin/user_access_end()
    objtool: whitelist __sanitizer_cov_trace_switch()
    [parisc, s390, sparc64] no need for access_ok() in futex handling
    sh: no need of access_ok() in arch_futex_atomic_op_inuser()
    futex: arch_futex_atomic_op_inuser() calling conventions change
    completion: Use lockdep_assert_RT_in_threaded_ctx() in complete_all()
    lockdep: Add posixtimer context tracing bits
    lockdep: Annotate irq_work
    lockdep: Add hrtimer context tracing bits
    lockdep: Introduce wait-type checks
    completion: Use simple wait queues
    sched/swait: Prepare usage in completions
    ...

    Linus Torvalds
     
  • Pull EFI updates from Ingo Molnar:
    "The EFI changes in this cycle are much larger than usual, for two
    (positive) reasons:

    - The GRUB project is showing signs of life again, resulting in the
    introduction of the generic Linux/UEFI boot protocol, instead of
    x86 specific hacks which are increasingly difficult to maintain.
    There's hope that all future extensions will now go through that
    boot protocol.

    - Preparatory work for RISC-V EFI support.

    The main changes are:

    - Boot time GDT handling changes

    - Simplify handling of EFI properties table on arm64

    - Generic EFI stub cleanups, to improve command line handling, file
    I/O, memory allocation, etc.

    - Introduce a generic initrd loading method based on calling back
    into the firmware, instead of relying on the x86 EFI handover
    protocol or device tree.

    - Introduce a mixed mode boot method that does not rely on the x86
    EFI handover protocol either, and could potentially be adopted by
    other architectures (if another one ever surfaces where one
    execution mode is a superset of another)

    - Clean up the contents of 'struct efi', and move out everything that
    doesn't need to be stored there.

    - Incorporate support for UEFI spec v2.8A changes that permit
    firmware implementations to return EFI_UNSUPPORTED from UEFI
    runtime services at OS runtime, and expose a mask of which ones are
    supported or unsupported via a configuration table.

    - Partial fix for the lack of by-VA cache maintenance in the
    decompressor on 32-bit ARM.

    - Changes to load device firmware from EFI boot service memory
    regions

    - Various documentation updates and minor code cleanups and fixes"

    * 'efi-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (114 commits)
    efi/libstub/arm: Fix spurious message that an initrd was loaded
    efi/libstub/arm64: Avoid image_base value from efi_loaded_image
    partitions/efi: Fix partition name parsing in GUID partition entry
    efi/x86: Fix cast of image argument
    efi/libstub/x86: Use ULONG_MAX as upper bound for all allocations
    efi: Fix a mistype in comments mentioning efivar_entry_iter_begin()
    efi/libstub: Avoid linking libstub/lib-ksyms.o into vmlinux
    efi/x86: Preserve %ebx correctly in efi_set_virtual_address_map()
    efi/x86: Ignore the memory attributes table on i386
    efi/x86: Don't relocate the kernel unless necessary
    efi/x86: Remove extra headroom for setup block
    efi/x86: Add kernel preferred address to PE header
    efi/x86: Decompress at start of PE image load address
    x86/boot/compressed/32: Save the output address instead of recalculating it
    efi/libstub/x86: Deal with exit() boot service returning
    x86/boot: Use unsigned comparison for addresses
    efi/x86: Avoid using code32_start
    efi/x86: Make efi32_pe_entry() more readable
    efi/x86: Respect 32-bit ABI in efi32_pe_entry()
    efi/x86: Annotate the LOADED_IMAGE_PROTOCOL_GUID with SYM_DATA
    ...

    Linus Torvalds
     
  • Pull RCU updates from Ingo Molnar:
    "The main changes in this cycle were:

    - Make kfree_rcu() use kfree_bulk() for added performance

    - RCU updates

    - Callback-overload handling updates

    - Tasks-RCU KCSAN and sparse updates

    - Locking torture test and RCU torture test updates

    - Documentation updates

    - Miscellaneous fixes"

    * 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (74 commits)
    rcu: Make rcu_barrier() account for offline no-CBs CPUs
    rcu: Mark rcu_state.gp_seq to detect concurrent writes
    Documentation/memory-barriers: Fix typos
    doc: Add rcutorture scripting to torture.txt
    doc/RCU/rcu: Use https instead of http if possible
    doc/RCU/rcu: Use absolute paths for non-rst files
    doc/RCU/rcu: Use ':ref:' for links to other docs
    doc/RCU/listRCU: Update example function name
    doc/RCU/listRCU: Fix typos in a example code snippets
    doc/RCU/Design: Remove remaining HTML tags in ReST files
    doc: Add some more RCU list patterns in the kernel
    rcutorture: Set KCSAN Kconfig options to detect more data races
    rcutorture: Manually clean up after rcu_barrier() failure
    rcutorture: Make rcu_torture_barrier_cbs() post from corresponding CPU
    rcuperf: Measure memory footprint during kfree_rcu() test
    rcutorture: Annotation lockless accesses to rcu_torture_current
    rcutorture: Add READ_ONCE() to rcu_torture_count and rcu_torture_batch
    rcutorture: Fix stray access to rcu_fwd_cb_nodelay
    rcutorture: Fix rcu_torture_one_read()/rcu_torture_writer() data race
    rcutorture: Make kvm-find-errors.sh abort on bad directory
    ...

    Linus Torvalds
     
  • Pull objtool updates from Ingo Molnar:
    "The biggest changes in this cycle were the vmlinux.o optimizations by
    Peter Zijlstra, which are preparatory and optimization work to run
    objtool against the much richer vmlinux.o object file, to perform
    new, whole-program section based logic. That work exposed a handful
    of problems with the existing code, which fixes and optimizations are
    merged here. The complete 'vmlinux.o and noinstr' work is still work
    in progress, targeted for v5.8.

    There's also assorted fixes and enhancements from Josh Poimboeuf.

    In particular I'd like to draw attention to commit 644592d328370,
    which turns fatal objtool errors into failed kernel builds. This
    behavior is IMO now justified on multiple grounds (it's easy currently
    to not notice an essentially corrupted kernel build), and the commit
    has been in -next testing for several weeks, but there could still be
    build failures with old or weird toolchains. Should that be widespread
    or high profile enough then I'd suggest a quick revert, to not hold up
    the merge window"

    * 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (22 commits)
    objtool: Re-arrange validate_functions()
    objtool: Optimize find_rela_by_dest_range()
    objtool: Delete cleanup()
    objtool: Optimize read_sections()
    objtool: Optimize find_symbol_by_name()
    objtool: Resize insn_hash
    objtool: Rename find_containing_func()
    objtool: Optimize find_symbol_*() and read_symbols()
    objtool: Optimize find_section_by_name()
    objtool: Optimize find_section_by_index()
    objtool: Add a statistics mode
    objtool: Optimize find_symbol_by_index()
    x86/kexec: Make relocate_kernel_64.S objtool clean
    x86/kexec: Use RIP relative addressing
    objtool: Rename func_for_each_insn_all()
    objtool: Rename func_for_each_insn()
    objtool: Introduce validate_return()
    objtool: Improve call destination function detection
    objtool: Fix clang switch table edge case
    objtool: Add relocation check for alternative sections
    ...

    Linus Torvalds
     
  • Pull PNP subsystem updates from Rafael Wysocki:

    - Update MAINTAINERS to cover include/linux/pnp.h and add the
    linux-acpi list to the PNP entry in it

    - add the const modifier to the name field definition in struct
    pnp_driver

    - drop a pointer case in the RTC CMOS driver that has become redundant

    All by Corentin Labbe.

    * tag 'pnp-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    MAINTAINERS: Add linux-acpi list to PNP
    rtc: cmos: remove useless cast for driver_name
    PNP: constify driver name
    PNP: add missing include/linux/pnp.h to MAINTAINERS

    Linus Torvalds
     
  • Pull ACPI updates from Rafael Wysocki:

    - Update the ACPICA code in the kernel to the 20200214 upstream
    release including:

    * Fix to re-enable the sleep button after wakeup (Anchal
    Agarwal).

    * Fixes for mistakes in comments and typos (Bob Moore).

    * ASL-ASL+ converter updates (Erik Kaneda).

    * Type casting cleanups (Sven Barth).

    - Clean up the intialization of the EC driver and eliminate some dead
    code from it (Rafael Wysocki).

    - Clean up the quirk tables in the AC and battery drivers (Hans de
    Goede).

    - Fix the global lock handling on x86 to ignore unspecified bit
    positions in the global lock field (Jan Engelhardt).

    - Add a new "tiny" driver for ACPI button devices exposed by VMs to
    guest kernels to send signals directly to init (Josh Triplett).

    - Add a kernel parameter to disable ACPI BGRT on x86 (Alex Hung).

    - Make the ACPI PCI host bridge and fan drivers use scnprintf() to
    avoid potential buffer overflows (Takashi Iwai).

    - Clean up assorted pieces of code:

    * Reorder "asmlinkage" to make g++ happy (Alexey Dobriyan).

    * Drop unneeded variable initialization (Colin Ian King).

    * Add missing __acquires/__releases annotations (Jules Irenge).

    * Replace list_for_each_safe() with list_for_each_entry_safe()
    (chenqiwu)"

    * tag 'acpi-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (31 commits)
    ACPICA: Update version to 20200214
    ACPI: PCI: Use scnprintf() for avoiding potential buffer overflow
    ACPI: fan: Use scnprintf() for avoiding potential buffer overflow
    ACPI: EC: Eliminate EC_FLAGS_QUERY_HANDSHAKE
    ACPI: EC: Do not clear boot_ec_is_ecdt in acpi_ec_add()
    ACPI: EC: Simplify acpi_ec_ecdt_start() and acpi_ec_init()
    ACPI: EC: Consolidate event handler installation code
    acpi/x86: ignore unspecified bit positions in the ACPI global lock field
    acpi/x86: add a kernel parameter to disable ACPI BGRT
    x86/acpi: make "asmlinkage" part first thing in the function definition
    ACPI: list_for_each_safe() -> list_for_each_entry_safe()
    ACPI: video: remove redundant assignments to variable result
    ACPI: OSL: Add missing __acquires/__releases annotations
    ACPI / battery: Cleanup Lenovo Ideapad Miix 320 DMI table entry
    ACPI / AC: Cleanup DMI quirk table
    ACPI: EC: Use fast path in acpi_ec_add() for DSDT boot EC
    ACPI: EC: Simplify acpi_ec_add()
    ACPI: EC: Drop AE_NOT_FOUND special case from ec_install_handlers()
    ACPI: EC: Avoid passing redundant argument to functions
    ACPI: EC: Avoid printing confusing messages in acpi_ec_setup()
    ...

    Linus Torvalds
     
  • Pull power management updates from Rafael Wysocki:
    "These clean up and rework the PM QoS API, address a suspend-to-idle
    wakeup regression on some ACPI-based platforms, clean up and extend a
    few cpuidle drivers, update multiple cpufreq drivers and cpufreq
    documentation, and fix a number of issues in devfreq and several other
    things all over.

    Specifics:

    - Clean up and rework the PM QoS API to simplify the code and reduce
    the size of it (Rafael Wysocki).

    - Fix a suspend-to-idle wakeup regression on Dell XPS13 9370 and
    similar platforms where the USB plug/unplug events are handled by
    the EC (Rafael Wysocki).

    - CLean up the intel_idle and PSCI cpuidle drivers (Rafael Wysocki,
    Ulf Hansson).

    - Extend the haltpoll cpuidle driver so that it can be forced to run
    on some systems where it refused to load (Maciej Szmigiero).

    - Convert several cpufreq documents to the .rst format and move the
    legacy driver documentation into one common file (Mauro Carvalho
    Chehab, Rafael Wysocki).

    - Update several cpufreq drivers:

    * Extend and fix the imx-cpufreq-dt driver (Anson Huang).

    * Improve the -EPROBE_DEFER handling and fix unwanted CPU
    overclocking on i.MX6ULL in imx6q-cpufreq (Anson Huang,
    Christoph Niedermaier).

    * Add support for Krait based SoCs to the qcom driver (Ansuel
    Smith).

    * Add support for OPP_PLUS to ti-cpufreq (Lokesh Vutla).

    * Add platform specific intermediate callbacks support to
    cpufreq-dt and update the imx6q driver (Peng Fan).

    * Simplify and consolidate some pieces of the intel_pstate
    driver and update its documentation (Rafael Wysocki, Alex
    Hung).

    - Fix several devfreq issues:

    * Remove unneeded extern keyword from a devfreq header file and
    use the DEVFREQ_GOV_UPDATE_INTERNAL event name instead of
    DEVFREQ_GOV_INTERNAL (Chanwoo Choi).

    * Fix the handling of dev_pm_qos_remove_request() result
    (Leonard Crestez).

    * Use constant name for userspace governor (Pierre Kuo).

    * Get rid of doc warnings and fix a typo (Christophe JAILLET).

    - Use built-in RCU list checking in some places in the PM core to
    avoid false-positive RCU usage warnings (Madhuparna Bhowmik).

    - Add explicit READ_ONCE()/WRITE_ONCE() annotations to low-level PM
    QoS routines (Qian Cai).

    - Fix removal of wakeup sources to avoid NULL pointer dereferences in
    a corner case (Neeraj Upadhyay).

    - Clean up the handling of hibernate compat ioctls and fix the
    related documentation (Eric Biggers).

    - Update the idle_inject power capping driver to use variable-length
    arrays instead of zero-length arrays (Gustavo Silva).

    - Fix list format in a PM QoS document (Randy Dunlap).

    - Make the cpufreq stats module use scnprintf() to avoid potential
    buffer overflows (Takashi Iwai).

    - Add pm_runtime_get_if_active() to PM-runtime API (Sakari Ailus).

    - Allow no domain-idle-states DT property in generic PM domains (Ulf
    Hansson).

    - Fix a broken y-axis scale in the intel_pstate_tracer utility (Doug
    Smythies)"

    * tag 'pm-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (78 commits)
    cpufreq: intel_pstate: Simplify intel_pstate_cpu_init()
    tools/power/x86/intel_pstate_tracer: fix a broken y-axis scale
    ACPI: PM: s2idle: Refine active GPEs check
    ACPICA: Allow acpi_any_gpe_status_set() to skip one GPE
    PM: sleep: wakeup: Skip wakeup_source_sysfs_remove() if device is not there
    PM / devfreq: Get rid of some doc warnings
    PM / devfreq: Fix handling dev_pm_qos_remove_request result
    PM / devfreq: Fix a typo in a comment
    PM / devfreq: Change to DEVFREQ_GOV_UPDATE_INTERVAL event name
    PM / devfreq: Remove unneeded extern keyword
    PM / devfreq: Use constant name of userspace governor
    ACPI: PM: s2idle: Fix comment in acpi_s2idle_prepare_late()
    cpufreq: qcom: Add support for krait based socs
    cpufreq: imx6q-cpufreq: Improve the logic of -EPROBE_DEFER handling
    cpufreq: Use scnprintf() for avoiding potential buffer overflow
    cpuidle: psci: Split psci_dt_cpu_init_idle()
    PM / Domains: Allow no domain-idle-states DT property in genpd when parsing
    PM / hibernate: Remove unnecessary compat ioctl overrides
    PM: hibernate: fix docs for ioctls that return loff_t via pointer
    Documentation: intel_pstate: update links for references
    ...

    Linus Torvalds
     
  • Pull spi and regulator updates from Mark Brown:
    "At one point in the release cycle I managed to fat finger things and
    apply some SPI fixes onto a regulator branch and merge that into the
    SPI tree, then pull in a change shared with the MTD tree moving the
    Mediatek quadspi driver over to become the Mediatek spi-nor driver in
    the SPI tree.

    This has made a mess which I only just noticed while preparing this
    and I can't see a sensible way to unpick things due to other
    subsequent merge commits especially the pull from MTD so it looks like
    the most sensible thing to do is give up and combine the two pull
    requests.

    Fortunately both subsystems were fairly quiet this cycle, the
    highlights are:

    regulator:

    - Support for Monoloithic Power Systems MP5416, MP8867 and MPS8869
    and Qualcomm PMI8994 and SMB208.

    SPI:

    - Lots of enhancements for spi-fsl-dspi, including XSPI mode support,
    from Vladimir Oltean.

    - Support for amlogic Meson G12A, IBM FSI, Mediatek spi-nor (moved
    from MTD), NXP i.MX8Mx, Rockchip PX30, RK3308 and RK3328, and
    Qualcomm Atheros AR934x/QCA95xx"

    * tag 'regulator-spi-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/misc: (118 commits)
    spi: efm32: Convert to use GPIO descriptors
    regulator: qcom_smd: Add pmi8994 regulator support
    regulator: da9063: Fix get_mode() functions to read sleep field
    spi: spi-fsl-lpspi: Replace zero-length array with flexible-array member
    spi: spi-s3c24xx: Replace zero-length array with flexible-array member
    spi: stm32: Fix comments compilation warnings
    spi: atmel-quadspi: Add verbose debug facilities to monitor register accesses
    spi: spi-fsl-dspi: Add support for LS1028A
    spi: spi-fsl-dspi: Move invariant configs out of dspi_transfer_one_message
    spi: spi-fsl-dspi: Fix interrupt-less DMA mode taking an XSPI code path
    spi: spi-fsl-dspi: Avoid NULL pointer in dspi_slave_abort for non-DMA mode
    spi: spi-fsl-dspi: Replace interruptible wait queue with a simple completion
    spi: spi-fsl-dspi: Protect against races on dspi->words_in_flight
    spi: spi-fsl-dspi: Avoid reading more data than written in EOQ mode
    spi: spi-fsl-dspi: Fix bits-per-word acceleration in DMA mode
    spi: spi-fsl-dspi: Fix little endian access to PUSHR CMD and TXDATA
    spi: spi-fsl-dspi: Don't access reserved fields in SPI_MCR
    regulator: driver.h: fix regulator_map_* function names
    regulator: da9063: fix suspend
    spi: mxs: Drop GPIO includes
    ...

    Linus Torvalds
     
  • Pull regma: update from Mark Brown:
    "Only one small documentation fix for regmap this time around"

    * tag 'regmap-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
    regmap: wrong descriptions in regmap_range_cfg

    Linus Torvalds
     
  • Pull staging and IIO driver updates from Greg KH:
    "Here is the big staging and IIO driver pull request for 5.7-rc1.

    We again end up deleting more code than we added here, thanks to
    finally getting rid of the old and obsolete wireless USB stuff, and
    the exfat code (which is coming in again through the vfs tree in a
    much cleaner version).

    But some code does come back, with the octeon drivers being found to
    actually be used in the wild, so those deletions are now reverted.

    Other than those major things, just loads and loads of tiny checkpatch
    cleanups all over the place, along with new IIO drivers and fixes.

    All have been in linux-next with no reported issues"

    [ Stephen Rothwell points out some reported issues due to merge conflicts ]

    * tag 'staging-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (415 commits)
    staging: vt6656: Use DIV_ROUND_UP macro instead of specific code
    staging: remove hp100 driver
    staging: wilc1000: Use crc7 in lib/ rather than a private copy
    Staging: rtl8192u: ieee80211: Use netdev_alert().
    Staging: rtl8192u: ieee80211: Use netdev_info() with network devices.
    Staging: rtl8192u: ieee80211: Use netdev_warn() for network devices.
    Staging: rtl8192u: ieee80211: Use netdev_dbg() for debug messages.
    staging: wlan-ng: fix use-after-free Read in hfa384x_usbin_callback
    staging: rtl8723bs: hal: Remove NULL check before kfree
    staging: rtl8723bs: hal: Correct typos in comments
    staging: rtl8723bs: os_dep: Correct typos in comments
    staging: rtl8723bs: core: Correct typos in comments
    staging: rtl8723bs: hal: Remove unnecessary cast on void pointer
    staging: rtl8188eu: cleanup long line in odm.c
    staging: rtl8723bs: hal: Compress return logic
    staging: rtl8723bs: rtw_cmd: Compress lines for immediate return
    staging: rtl8723bs: rtw_efuse: Compress lines for immediate return
    staging: wilc1000: remove label from examples in DT binding documentation
    staging: rtl8723bs: Remove blank line before '}' brace
    Staging: rtl8188eu: hal: Add space around operators
    ...

    Linus Torvalds
     
  • Pull driver core updates from Greg KH:
    "Here is the "big" set of driver core changes for 5.7-rc1.

    Nothing huge in here, just lots of little firmware core changes and
    use of new apis, a libfs fix, a debugfs api change, and some driver
    core deferred probe rework.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'driver-core-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (44 commits)
    Revert "driver core: Set fw_devlink to "permissive" behavior by default"
    driver core: Set fw_devlink to "permissive" behavior by default
    driver core: Replace open-coded list_last_entry()
    driver core: Read atomic counter once in driver_probe_done()
    libfs: fix infoleak in simple_attr_read()
    driver core: Add device links from fwnode only for the primary device
    platform/x86: touchscreen_dmi: Add info for the Chuwi Vi8 Plus tablet
    platform/x86: touchscreen_dmi: Add EFI embedded firmware info support
    Input: icn8505 - Switch to firmware_request_platform for retreiving the fw
    Input: silead - Switch to firmware_request_platform for retreiving the fw
    selftests: firmware: Add firmware_request_platform tests
    test_firmware: add support for firmware_request_platform
    firmware: Add new platform fallback mechanism and firmware_request_platform()
    Revert "drivers: base: power: wakeup.c: Use built-in RCU list checking"
    drivers: base: power: wakeup.c: Use built-in RCU list checking
    component: allow missing unbind callback
    debugfs: remove return value of debugfs_create_file_size()
    debugfs: Check module state before warning in {full/open}_proxy_open()
    firmware: fix a double abort case with fw_load_sysfs_fallback
    arch_topology: Fix putting invalid cpu clk
    ...

    Linus Torvalds
     
  • Pull USB / PHY updates from Greg KH:
    "Here are the big set of USB and PHY driver patches for 5.7-rc1.

    Nothing huge here, some new PHY drivers, loads of USB gadget fixes and
    updates, xhci updates, usb-serial driver updates and new device ids,
    and other minor things. Full details in the shortlog.

    All have been in linux-next for a while with no reported issues"

    * tag 'usb-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (239 commits)
    USB: cdc-acm: restore capability check order
    usb: cdns3: make signed 1 bit bitfields unsigned
    usb: gadget: fsl: remove unused variable 'driver_desc'
    usb: gadget: f_fs: Fix use after free issue as part of queue failure
    usb: typec: Correct the documentation for typec_cable_put()
    USB: serial: io_edgeport: fix slab-out-of-bounds read in edge_interrupt_callback
    USB: serial: option: add Wistron Neweb D19Q1
    USB: serial: option: add BroadMobi BM806U
    USB: serial: option: add support for ASKEY WWHC050
    usb: core: Add ACPI support for USB interface devices
    driver core: platform: Reimplement devm_platform_ioremap_resource
    usb: dwc2: convert to devm_platform_get_and_ioremap_resource
    usb: host: hisilicon: convert to devm_platform_get_and_ioremap_resource
    usb: host: xhci-plat: convert to devm_platform_get_and_ioremap_resource
    drivers: provide devm_platform_get_and_ioremap_resource()
    phy: qcom-qusb2: Add new overriding tuning parameters in QUSB2 V2 PHY
    phy: qcom-qusb2: Add support for overriding tuning parameters in QUSB2 V2 PHY
    dt-bindings: phy: qcom-qusb2: Add support for overriding Phy tuning parameters
    phy: qcom-qusb2: Add generic QUSB2 V2 PHY support
    dt-bindings: phy: qcom,qusb2: Add compatibles for QUSB2 V2 phy and SC7180
    ...

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:

    - New sensor driver: imx219

    - Support for some new pixelformats

    - Support for Sun8i SoC

    - Added more codecs to meson vdec driver

    - Prepare for removing the legacy usbvision driver by moving it to
    staging. This driver has issues and use legacy core APIs. If nobody
    steps up to address those, it is time for its retirement.

    - Several cleanups and improvements on drivers, with the addition of
    new supported boards

    * tag 'media/v5.7-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (236 commits)
    media: venus: firmware: Ignore secure call error on first resume
    media: mtk-vpu: load vpu firmware from the new location
    media: i2c: video-i2c: fix build errors due to 'imply hwmon'
    media: MAINTAINERS: add myself to co-maintain Hantro G1/G2 for i.MX8MQ
    media: hantro: add initial i.MX8MQ support
    media: dt-bindings: Document i.MX8MQ VPU bindings
    media: vivid: fix incorrect PA assignment to HDMI outputs
    media: hantro: Add linux-rockchip mailing list to MAINTAINERS
    media: cedrus: h264: Fix 4K decoding on H6
    media: siano: Use scnprintf() for avoiding potential buffer overflow
    media: rc: Use scnprintf() for avoiding potential buffer overflow
    media: allegro: create new struct for channel parameters
    media: allegro: move mail definitions to separate file
    media: allegro: pass buffers through firmware
    media: allegro: verify source and destination buffer in VCU response
    media: allegro: handle dependency of bitrate and bitrate_peak
    media: allegro: read bitrate mode directly from control
    media: allegro: make QP configurable
    media: allegro: make frame rate configurable
    media: allegro: skip filler data if possible
    ...

    Linus Torvalds
     
  • Pull hwmon updates from Guenter Roeck:

    - New driver for AXI fan control

    - Attenuator bypass support and support for inverting pwm output in
    adt7475 driver

    - Support for new power supply version in ibm-cffps driver

    - PMBus drivers:

    * support for multi-phase chips

    * ltc2978 driver: add support for LTC2972, LTC2979, LTC3884,
    LTC3889, LTC7880, LTM4664, LTM4677, LTM4678, LTM4680, and
    LTM4700/

    * tps53679 driver: add support for TPS53681, TPS53647, and TPS53667

    * isl68137 driver: support for various 2nd Gen Renesas digital
    multiphase chips added to isl68137 driver

    - Minor improvements and fixes in nct7904, ibmpowernv, lm73, ibmaem,
    and k10temp drivers

    * tag 'hwmon-for-v5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (29 commits)
    docs: hwmon: Update documentation for isl68137 pmbus driver
    hwmon: (pmbus) add support for 2nd Gen Renesas digital multiphase
    hwmon: (pmbus/ibm-cffps) Add another PSU CCIN to version detection
    hwmon: (nct7904) Fix the incorrect quantity for fan & temp attributes
    hwmon: (ibmpowernv) Use scnprintf() for avoiding potential buffer overflow
    hwmon: (adt7475) Add support for inverting pwm output
    hwmon: (adt7475) Add attenuator bypass support
    dt-bindings: hwmon: Document adt7475 pwm-active-state property
    dt-bindings: hwmon: Document adt7475 bypass-attenuator property
    dt-bindings: hwmon: Document adt7475 binding
    hwmon: (lm73) Add support for of_match_table
    dt-bindings: Add TI LM73 as a trivial device
    hwmon: (pmbus/tps53679) Add documentation
    hwmon: (pmbus/tps53679) Add support for TPS53647 and TPS53667
    hwmon: (pmbus/tps53679) Add support for TPS53681
    hwmon: (pmbus/tps53679) Add support for IIN and PIN to TPS53679 and TPS53688
    hwmon: (pmbus/tps53679) Add support for multiple chips IDs
    hwmon: (pmbus) Implement multi-phase support
    hwmon: (pmbus) Add 'phase' parameter where needed for multi-phase support
    hwmon: (pmbus) Add IC_DEVICE_ID and IC_DEVICE_REV command definitions
    ...

    Linus Torvalds
     
  • Pull RAS updates from Borislav Petkov:

    - Do not report spurious MCEs on some Intel platforms caused by errata;
    by Prarit Bhargava.

    - Change dev-mcelog's hardcoded limit of 32 error records to a dynamic
    one, controlled by the number of logical CPUs, by Tony Luck.

    - Add support for the processor identification number (PPIN) on AMD, by
    Wei Huang.

    * tag 'ras_updates_for_5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/mce/amd: Add PPIN support for AMD MCE
    x86/mce/dev-mcelog: Dynamically allocate space for machine check records
    x86/mce: Do not log spurious corrected mce errors

    Linus Torvalds
     
  • Pull EDAC updates from Borislav Petkov:

    - A substantial edac_mc cleanup, sanitizing object freeing,
    streamlining and simplifying code flow, and getting rid of a lot of
    needless complexity in memory controller representation code, by
    Robert Richter.

    - A new EDAC driver for the ARM DMC-520 memory controller, by Lei Wang,
    Shiping Ji and others.

    - The usual sprinkling of misc cleanups and fixes all over the
    subsystem.

    * tag 'edac_updates_for_5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
    EDAC/armada_xp: Use scnprintf() for avoiding potential buffer overflow
    EDAC/synopsys: Do not dump uninitialized pinf->col
    EDAC: Add EDAC driver for DMC520
    dt-bindings: edac: Dmc-520.yaml
    EDAC/mce_amd: Print !SMCA processor warning only once
    EDAC/mc: Remove per layer counters
    EDAC/mc: Remove detail[] string and cleanup error string generation
    EDAC/mc: Pass the error descriptor to error reporting functions
    EDAC/mc: Remove enable_per_layer_report function argument
    EDAC/mc: Report "unknown memory" on too many DIMM labels found
    EDAC/mc: Carve out error increment into a separate function
    EDAC/mc: Determine mci pointer from the error descriptor
    EDAC: Store error type in struct edac_raw_error_desc
    EDAC/mc: Reorder functions edac_mc_alloc*()
    EDAC/mc: Split edac_mc_alloc() into smaller functions
    EDAC/mc: Change mci device removal to use put_device()

    Linus Torvalds
     
  • Pull pstore updates from Kees Cook:
    "These mostly some minor cleanups and a bug fix for an ftrace corner
    case:

    - Improve failure paths (chenqiwu)

    - Fix ftrace position index (Vasily Averin)

    - Use proper flexible-array member (Gustavo A. R. Silva)"

    * tag 'pstore-v5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    pstore/ram: Replace zero-length array with flexible-array member
    pstore: pstore_ftrace_seq_next should increase position index
    pstore/ram: remove unnecessary ramoops_unregister_dummy()
    pstore/platform: fix potential mem leak if pstore_init_fs failed

    Linus Torvalds
     
  • Pull seccomp updates from Kees Cook:
    "A couple of seccomp updates. They're both mostly bug fixes that I
    wanted to have sit in linux-next for a while:

    - allow TSYNC and USER_NOTIF together (Tycho Andersen)

    - add missing compat_ioctl for notify (Sven Schnelle)"

    * tag 'seccomp-v5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
    seccomp: Add missing compat_ioctl for notify
    seccomp: allow TSYNC and USER_NOTIF together

    Linus Torvalds
     
  • Pull erofs updates from Gao Xiang:
    "Updates with a XArray adaptation, several fixes for shrinker and
    corrupted images are ready for this cycle.

    All commits have been stress tested with no noticeable smoke out and
    have been in linux-next as well.

    Summary:

    - Convert radix tree usage to XArray

    - Fix shrink scan count on multiple filesystem instances

    - Better handling for specific corrupted images

    - Update my email address in MAINTAINERS"

    * tag 'erofs-for-5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs:
    MAINTAINERS: erofs: update my email address
    erofs: handle corrupted images whose decompressed size less than it'd be
    erofs: use LZ4_decompress_safe() for full decoding
    erofs: correct the remaining shrink objects
    erofs: convert workstn to XArray

    Linus Torvalds
     
  • Pull documentation updates from Jonathan Corbet:
    "This has been a busy cycle for documentation work.

    Highlights include:

    - Lots of RST conversion work by Mauro, Daniel ALmeida, and others.
    Maybe someday we'll get to the end of this stuff...maybe...

    - Some organizational work to bring some order to the core-api
    manual.

    - Various new docs and additions to the existing documentation.

    - Typo fixes, warning fixes, ..."

    * tag 'docs-5.7' of git://git.lwn.net/linux: (123 commits)
    Documentation: x86: exception-tables: document CONFIG_BUILDTIME_TABLE_SORT
    MAINTAINERS: adjust to filesystem doc ReST conversion
    docs: deprecated.rst: Add BUG()-family
    doc: zh_CN: add translation for virtiofs
    doc: zh_CN: index files in filesystems subdirectory
    docs: locking: Drop :c:func: throughout
    docs: locking: Add 'need' to hardirq section
    docs: conf.py: avoid thousands of duplicate label warning on Sphinx
    docs: prevent warnings due to autosectionlabel
    docs: fix reference to core-api/namespaces.rst
    docs: fix pointers to io-mapping.rst and io_ordering.rst files
    Documentation: Better document the softlockup_panic sysctl
    docs: hw-vuln: tsx_async_abort.rst: get rid of an unused ref
    docs: perf: imx-ddr.rst: get rid of a warning
    docs: filesystems: fuse.rst: supress a Sphinx warning
    docs: translations: it: avoid duplicate refs at programming-language.rst
    docs: driver.rst: supress two ReSt warnings
    docs: trace: events.rst: convert some new stuff to ReST format
    Documentation: Add io_ordering.rst to driver-api manual
    Documentation: Add io-mapping.rst to driver-api manual
    ...

    Linus Torvalds
     
  • Pull io_uring updates from Jens Axboe:
    "Here are the io_uring changes for this merge window. Light on new
    features this time around (just splice + buffer selection), lots of
    cleanups, fixes, and improvements to existing support. In particular,
    this contains:

    - Cleanup fixed file update handling for stack fallback (Hillf)

    - Re-work of how pollable async IO is handled, we no longer require
    thread offload to handle that. Instead we rely using poll to drive
    this, with task_work execution.

    - In conjunction with the above, allow expendable buffer selection,
    so that poll+recv (for example) no longer has to be a split
    operation.

    - Make sure we honor RLIMIT_FSIZE for buffered writes

    - Add support for splice (Pavel)

    - Linked work inheritance fixes and optimizations (Pavel)

    - Async work fixes and cleanups (Pavel)

    - Improve io-wq locking (Pavel)

    - Hashed link write improvements (Pavel)

    - SETUP_IOPOLL|SETUP_SQPOLL improvements (Xiaoguang)"

    * tag 'for-5.7/io_uring-2020-03-29' of git://git.kernel.dk/linux-block: (54 commits)
    io_uring: cleanup io_alloc_async_ctx()
    io_uring: fix missing 'return' in comment
    io-wq: handle hashed writes in chains
    io-uring: drop 'free_pfile' in struct io_file_put
    io-uring: drop completion when removing file
    io_uring: Fix ->data corruption on re-enqueue
    io-wq: close cancel gap for hashed linked work
    io_uring: make spdxcheck.py happy
    io_uring: honor original task RLIMIT_FSIZE
    io-wq: hash dependent work
    io-wq: split hashing and enqueueing
    io-wq: don't resched if there is no work
    io-wq: remove duplicated cancel code
    io_uring: fix truncated async read/readv and write/writev retry
    io_uring: dual license io_uring.h uapi header
    io_uring: io_uring_enter(2) don't poll while SETUP_IOPOLL|SETUP_SQPOLL enabled
    io_uring: Fix unused function warnings
    io_uring: add end-of-bits marker and build time verify it
    io_uring: provide means of removing buffers
    io_uring: add IOSQE_BUFFER_SELECT support for IORING_OP_RECVMSG
    ...

    Linus Torvalds
     
  • Pull block driver updates from Jens Axboe:

    - floppy driver cleanup series from Willy

    - NVMe updates and fixes (Various)

    - null_blk trace improvements (Chaitanya)

    - bcache fixes (Coly)

    - md fixes (via Song)

    - loop block size change optimizations (Martijn)

    - scnprintf() use (Takashi)

    * tag 'for-5.7/drivers-2020-03-29' of git://git.kernel.dk/linux-block: (81 commits)
    null_blk: add trace in null_blk_zoned.c
    null_blk: add tracepoint helpers for zoned mode
    block: add a zone condition debug helper
    nvme: cleanup namespace identifier reporting in nvme_init_ns_head
    nvme: rename __nvme_find_ns_head to nvme_find_ns_head
    nvme: refactor nvme_identify_ns_descs error handling
    nvme-tcp: Add warning on state change failure at nvme_tcp_setup_ctrl
    nvme-rdma: Add warning on state change failure at nvme_rdma_setup_ctrl
    nvme: Fix controller creation races with teardown flow
    nvme: Make nvme_uninit_ctrl symmetric to nvme_init_ctrl
    nvme: Fix ctrl use-after-free during sysfs deletion
    nvme-pci: Re-order nvme_pci_free_ctrl
    nvme: Remove unused return code from nvme_delete_ctrl_sync
    nvme: Use nvme_state_terminal helper
    nvme: release ida resources
    nvme: Add compat_ioctl handler for NVME_IOCTL_SUBMIT_IO
    nvmet-tcp: optimize tcp stack TX when data digest is used
    nvme-fabrics: Use scnprintf() for avoiding potential buffer overflow
    nvme-multipath: do not reset on unknown status
    nvmet-rdma: allocate RW ctxs according to mdts
    ...

    Linus Torvalds
     
  • Pull block updates from Jens Axboe:

    - Online capacity resizing (Balbir)

    - Number of hardware queue change fixes (Bart)

    - null_blk fault injection addition (Bart)

    - Cleanup of queue allocation, unifying the node/no-node API
    (Christoph)

    - Cleanup of genhd, moving code to where it makes sense (Christoph)

    - Cleanup of the partition handling code (Christoph)

    - disk stat fixes/improvements (Konstantin)

    - BFQ improvements (Paolo)

    - Various fixes and improvements

    * tag 'for-5.7/block-2020-03-29' of git://git.kernel.dk/linux-block: (72 commits)
    block: return NULL in blk_alloc_queue() on error
    block: move bio_map_* to blk-map.c
    Revert "blkdev: check for valid request queue before issuing flush"
    block: simplify queue allocation
    bcache: pass the make_request methods to blk_queue_make_request
    null_blk: use blk_mq_init_queue_data
    block: add a blk_mq_init_queue_data helper
    block: move the ->devnode callback to struct block_device_operations
    block: move the part_stat* helpers from genhd.h to a new header
    block: move block layer internals out of include/linux/genhd.h
    block: move guard_bio_eod to bio.c
    block: unexport get_gendisk
    block: unexport disk_map_sector_rcu
    block: unexport disk_get_part
    block: mark part_in_flight and part_in_flight_rw static
    block: mark block_depr static
    block: factor out requeue handling from dispatch code
    block/diskstats: replace time_in_queue with sum of request times
    block/diskstats: accumulate all per-cpu counters in one pass
    block/diskstats: more accurate approximation of io_ticks for slow disks
    ...

    Linus Torvalds
     
  • Pull libata updates from Jens Axboe:

    - Series from Bart, making the libata code smaller on PATA only setups.
    This is useful for smaller/embedded use cases, and will help us move
    some of those off drivers/ide.

    - Kill unused BPRINTK() (Hannes)

    - Add various Comet Lake ahci PCI ids (Kai-Heng, Mika)

    - Fix for a double scsi_host_put() in error handling (John)

    - Use scnprintf (Takashi)

    - Assign OF node to the SCSI device (Linus Walleij)

    * tag 'for-5.7/libata-2020-03-29' of git://git.kernel.dk/linux-block: (36 commits)
    ata: make "libata.force" kernel parameter optional
    ata: move ata_eh_analyze_ncq_error() & co. to libata-sata.c
    ata: start separating SATA specific code from libata-eh.c
    ata: move ata_sas_*() to libata-sata.c
    ata: start separating SATA specific code from libata-scsi.c
    ata: move sata_deb_timing_*() to libata-sata.c
    ata: move ata_qc_complete_multiple() to libata-sata.c
    ata: move sata_link_hardreset() to libata-sata.c
    ata: move sata_link_{debounce,resume}() to libata-sata.c
    ata: move *sata_set_spd*() to libata-sata.c
    ata: move sata_scr_*() to libata-sata.c
    ata: start separating SATA specific code from libata-core.c
    ata: let compiler optimize out ata_eh_set_lpm() on non-SATA hosts
    ata: let compiler optimize out ata_dev_config_ncq() on non-SATA hosts
    ata: add CONFIG_SATA_HOST=n version of ata_ncq_enabled()
    ata: separate PATA timings code from libata-core.c
    ata: fix CodingStyle issues in PATA timings code
    ata: remove EXPORT_SYMBOL_GPL()s not used by modules
    ata: move EXPORT_SYMBOL_GPL()s close to exported code
    ata: optimize ata_scsi_rbuf[] size
    ...

    Linus Torvalds
     
  • Pull i3c updates from Boris Brezillon:

    - Fix driver auto-probing related issues

    - Stop using the deprecated i2c_new_device() function

    - Replace zero-length array with flexible-array member

    * tag 'i3c/for-5.7' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux:
    i3c: convert to use i2c_new_client_device()
    i3c: master: Replace zero-length array with flexible-array member
    i3c: Simplify i3c_device_match_id()
    i3c: Generate aliases for i3c modules
    i3c: Add a modalias sysfs attribute
    i3c: Fix MODALIAS uevents
    i3c: master: no need to iterate master device twice

    Linus Torvalds
     
  • Pull tpm updates from Jarkko Sakkinen:
    "tpmdd updates for Linux v5.7"

    * tag 'tpmdd-next-20200316' of git://git.infradead.org/users/jjs/linux-tpmdd:
    KEYS: reaching the keys quotas correctly
    tpm: ibmvtpm: Add support for TPM2
    tpm: ibmvtpm: Wait for buffer to be set before proceeding
    tpm: of: Handle IBM,vtpm20 case when getting log parameters
    MAINTAINERS: adjust to trusted keys subsystem creation
    tpm: tpm_tis_spi_cr50: use new structure for SPI transfer delays
    tpm_tis_spi: use new 'delay' structure for SPI transfer delays
    tpm: tpm2_bios_measurements_next should increase position index
    tpm: tpm1_bios_measurements_next should increase position index
    tpm: Don't make log failures fatal

    Linus Torvalds
     

30 Mar, 2020

8 commits

  • * acpi-ec:
    ACPI: EC: Eliminate EC_FLAGS_QUERY_HANDSHAKE
    ACPI: EC: Do not clear boot_ec_is_ecdt in acpi_ec_add()
    ACPI: EC: Simplify acpi_ec_ecdt_start() and acpi_ec_init()
    ACPI: EC: Consolidate event handler installation code
    ACPI: EC: Use fast path in acpi_ec_add() for DSDT boot EC
    ACPI: EC: Simplify acpi_ec_add()
    ACPI: EC: Drop AE_NOT_FOUND special case from ec_install_handlers()
    ACPI: EC: Avoid passing redundant argument to functions
    ACPI: EC: Avoid printing confusing messages in acpi_ec_setup()

    * acpi-fan:
    ACPI: fan: Use scnprintf() for avoiding potential buffer overflow

    * acpi-pci:
    ACPI: PCI: Use scnprintf() for avoiding potential buffer overflow

    Rafael J. Wysocki
     
  • * acpi-button:
    ACPI: Add new tiny-power-button driver to directly signal init
    ACPI: button: move HIDs to acpi/button.h

    * acpi-battery:
    ACPI / battery: Cleanup Lenovo Ideapad Miix 320 DMI table entry
    ACPI / AC: Cleanup DMI quirk table

    * acpi-osl:
    ACPI: OSL: Add missing __acquires/__releases annotations

    * acpi-video:
    ACPI: video: remove redundant assignments to variable result

    * acpi-misc:
    ACPI: list_for_each_safe() -> list_for_each_entry_safe()

    Rafael J. Wysocki
     
  • * acpica:
    ACPICA: Update version to 20200214
    ACPICA: Fix a couple of typos
    ACPICA: use acpi_size instead of u32 for prefix_path_length
    ACPICA: cast length arguement to acpi_ns_build_normalized_path() as u32
    ACPICA: cast the result of the pointer difference to u32
    ACPICA: Table Manager: Update comments in a function header
    ACPICA: Enable sleep button on ACPI legacy wake
    ACPICA: Fix a comment "enable" fixed events -> "disable" all fixed events.
    ACPICA: ASL-ASL+ converter: make root file a parameter for cv_init_file_tree
    ACPICA: ASL-ASL+ converter: remove function parameters from cv_init_file_tree()

    Rafael J. Wysocki
     
  • ACPICA commit ac0c1b8a43a317702bb11e11fd5067a1c59e3002

    Version 20200214

    Link: https://github.com/acpica/acpica/commit/ac0c1b8a
    Signed-off-by: Bob Moore
    Signed-off-by: Erik Kaneda
    Signed-off-by: Rafael J. Wysocki

    Bob Moore
     
  • * pm-devfreq:
    PM / devfreq: Get rid of some doc warnings
    PM / devfreq: Fix handling dev_pm_qos_remove_request result
    PM / devfreq: Fix a typo in a comment
    PM / devfreq: Change to DEVFREQ_GOV_UPDATE_INTERVAL event name
    PM / devfreq: Remove unneeded extern keyword
    PM / devfreq: Use constant name of userspace governor

    * powercap:
    powercap: idle_inject: Replace zero-length array with flexible-array member

    * pm-docs:
    docs: cpu-freq: convert cpufreq-stats.txt to ReST
    docs: cpu-freq: convert cpu-drivers.txt to ReST
    docs: cpu-freq: convert core.txt to ReST
    docs: cpu-freq: convert index.txt to ReST
    docs: cpufreq: fix a broken reference
    Documentation: cpufreq: Move legacy driver documentation

    Rafael J. Wysocki
     
  • * pm-core:
    PM: runtime: Add pm_runtime_get_if_active()

    * pm-sleep:
    PM: sleep: wakeup: Skip wakeup_source_sysfs_remove() if device is not there
    PM / hibernate: Remove unnecessary compat ioctl overrides
    PM: hibernate: fix docs for ioctls that return loff_t via pointer
    PM: sleep: wakeup: Use built-in RCU list checking
    PM: sleep: core: Use built-in RCU list checking

    * pm-acpi:
    ACPI: PM: s2idle: Refine active GPEs check
    ACPICA: Allow acpi_any_gpe_status_set() to skip one GPE
    ACPI: PM: s2idle: Fix comment in acpi_s2idle_prepare_late()

    * pm-domains:
    cpuidle: psci: Split psci_dt_cpu_init_idle()
    PM / Domains: Allow no domain-idle-states DT property in genpd when parsing

    Rafael J. Wysocki
     
  • * pm-cpufreq:
    cpufreq: intel_pstate: Simplify intel_pstate_cpu_init()
    cpufreq: qcom: Add support for krait based socs
    cpufreq: imx6q-cpufreq: Improve the logic of -EPROBE_DEFER handling
    cpufreq: Use scnprintf() for avoiding potential buffer overflow
    Documentation: intel_pstate: update links for references
    cpufreq: intel_pstate: Consolidate policy verification
    cpufreq: dt: Allow platform specific intermediate callbacks
    cpufreq: imx-cpufreq-dt: Correct i.MX8MP's market segment fuse location
    cpufreq: imx6q: read OCOTP through nvmem for imx6q
    cpufreq: imx6q: fix error handling
    cpufreq: imx-cpufreq-dt: Add "cpu-supply" property check
    cpufreq: ti-cpufreq: Add support for OPP_PLUS
    cpufreq: imx6q: Fixes unwanted cpu overclocking on i.MX6ULL

    Rafael J. Wysocki
     
  • * pm-cpuidle:
    cpuidle: haltpoll: allow force loading on hosts without the REALTIME hint
    intel_idle: Update copyright notice, known limitations and version
    intel_idle: Define CPUIDLE_FLAG_TLB_FLUSHED as BIT(16)
    intel_idle: Clean up kerneldoc comments for multiple functions
    intel_idle: Reorder declarations of static variables
    intel_idle: Annotate init time data structures
    intel_idle: Add __initdata annotations to init time variables
    intel_idle: Relocate definitions of cpuidle callbacks
    intel_idle: Clean up definitions of cpuidle callbacks
    intel_idle: Simplify LAPIC timer reliability checks

    Rafael J. Wysocki