19 Sep, 2019

12 commits

  • Pull vfs mount API infrastructure updates from Al Viro:
    "Infrastructure bits of mount API conversions.

    The rest is more of per-filesystem updates and that will happen
    in separate pull requests"

    * 'work.mount-base' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    mtd: Provide fs_context-aware mount_mtd() replacement
    vfs: Create fs_context-aware mount_bdev() replacement
    new helper: get_tree_keyed()
    vfs: set fs_context::user_ns for reconfigure

    Linus Torvalds
     
  • Pull d_path fix from Al Viro:
    "Fix d_absolute_path() regression in the last cycle (felt by tomoyo,
    mostly)"

    * 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    [PATCH] fix d_absolute_path() interplay with fsmount()

    Linus Torvalds
     
  • Pull vfs namei updates from Al Viro:
    "Pathwalk-related stuff"

    [ Audit-related cleanups, misc simplifications, and easier to follow
    nd->root refcounts - Linus ]

    * 'work.namei' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
    devpts_pty_kill(): don't bother with d_delete()
    infiniband: don't bother with d_delete()
    hypfs: don't bother with d_delete()
    fs/namei.c: keep track of nd->root refcount status
    fs/namei.c: new helper - legitimize_root()
    kill the last users of user_{path,lpath,path_dir}()
    namei.h: get the comments on LOOKUP_... in sync with reality
    kill LOOKUP_NO_EVAL, don't bother including namei.h from audit.h
    audit_inode(): switch to passing AUDIT_INODE_...
    filename_mountpoint(): make LOOKUP_NO_EVAL unconditional there
    filename_lookup(): audit_inode() argument is always 0

    Linus Torvalds
     
  • Pull networking updates from David Miller:

    1) Support IPV6 RA Captive Portal Identifier, from Maciej Żenczykowski.

    2) Use bio_vec in the networking instead of custom skb_frag_t, from
    Matthew Wilcox.

    3) Make use of xmit_more in r8169 driver, from Heiner Kallweit.

    4) Add devmap_hash to xdp, from Toke Høiland-Jørgensen.

    5) Support all variants of 5750X bnxt_en chips, from Michael Chan.

    6) More RTNL avoidance work in the core and mlx5 driver, from Vlad
    Buslov.

    7) Add TCP syn cookies bpf helper, from Petar Penkov.

    8) Add 'nettest' to selftests and use it, from David Ahern.

    9) Add extack support to drop_monitor, add packet alert mode and
    support for HW drops, from Ido Schimmel.

    10) Add VLAN offload to stmmac, from Jose Abreu.

    11) Lots of devm_platform_ioremap_resource() conversions, from
    YueHaibing.

    12) Add IONIC driver, from Shannon Nelson.

    13) Several kTLS cleanups, from Jakub Kicinski.

    * git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1930 commits)
    mlxsw: spectrum_buffers: Add the ability to query the CPU port's shared buffer
    mlxsw: spectrum: Register CPU port with devlink
    mlxsw: spectrum_buffers: Prevent changing CPU port's configuration
    net: ena: fix incorrect update of intr_delay_resolution
    net: ena: fix retrieval of nonadaptive interrupt moderation intervals
    net: ena: fix update of interrupt moderation register
    net: ena: remove all old adaptive rx interrupt moderation code from ena_com
    net: ena: remove ena_restore_ethtool_params() and relevant fields
    net: ena: remove old adaptive interrupt moderation code from ena_netdev
    net: ena: remove code duplication in ena_com_update_nonadaptive_moderation_interval _*()
    net: ena: enable the interrupt_moderation in driver_supported_features
    net: ena: reimplement set/get_coalesce()
    net: ena: switch to dim algorithm for rx adaptive interrupt moderation
    net: ena: add intr_moder_rx_interval to struct ena_com_dev and use it
    net: phy: adin: implement Energy Detect Powerdown mode via phy-tunable
    ethtool: implement Energy Detect Powerdown support via phy-tunable
    xen-netfront: do not assume sk_buff_head list is empty in error handling
    s390/ctcm: Delete unnecessary checks before the macro call “dev_kfree_skb”
    net: ena: don't wake up tx queue when down
    drop_monitor: Better sanitize notified packets
    ...

    Linus Torvalds
     
  • Pull crypto updates from Herbert Xu:
    "API:
    - Add the ability to abort a skcipher walk.

    Algorithms:
    - Fix XTS to actually do the stealing.
    - Add library helpers for AES and DES for single-block users.
    - Add library helpers for SHA256.
    - Add new DES key verification helper.
    - Add surrounding bits for ESSIV generator.
    - Add accelerations for aegis128.
    - Add test vectors for lzo-rle.

    Drivers:
    - Add i.MX8MQ support to caam.
    - Add gcm/ccm/cfb/ofb aes support in inside-secure.
    - Add ofb/cfb aes support in media-tek.
    - Add HiSilicon ZIP accelerator support.

    Others:
    - Fix potential race condition in padata.
    - Use unbound workqueues in padata"

    * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (311 commits)
    crypto: caam - Cast to long first before pointer conversion
    crypto: ccree - enable CTS support in AES-XTS
    crypto: inside-secure - Probe transform record cache RAM sizes
    crypto: inside-secure - Base RD fetchcount on actual RD FIFO size
    crypto: inside-secure - Base CD fetchcount on actual CD FIFO size
    crypto: inside-secure - Enable extended algorithms on newer HW
    crypto: inside-secure: Corrected configuration of EIP96_TOKEN_CTRL
    crypto: inside-secure - Add EIP97/EIP197 and endianness detection
    padata: remove cpu_index from the parallel_queue
    padata: unbind parallel jobs from specific CPUs
    padata: use separate workqueues for parallel and serial work
    padata, pcrypt: take CPU hotplug lock internally in padata_alloc_possible
    crypto: pcrypt - remove padata cpumask notifier
    padata: make padata_do_parallel find alternate callback CPU
    workqueue: require CPU hotplug read exclusion for apply_workqueue_attrs
    workqueue: unconfine alloc/apply/free_workqueue_attrs()
    padata: allocate workqueue internally
    arm64: dts: imx8mq: Add CAAM node
    random: Use wait_event_freezable() in add_hwgenerator_randomness()
    crypto: ux500 - Fix COMPILE_TEST warnings
    ...

    Linus Torvalds
     
  • Pull char/misc driver updates from Greg KH:
    "Here is the big char/misc driver pull request for 5.4-rc1.

    As has been happening in previous releases, more and more individual
    driver subsystem trees are ending up in here. Now if that is good or
    bad I can't tell, but hopefully it makes your life easier as it's more
    of an aggregation of trees together to one merge point for you.

    Anyway, lots of stuff in here:
    - habanalabs driver updates
    - thunderbolt driver updates
    - misc driver updates
    - coresight and intel_th hwtracing driver updates
    - fpga driver updates
    - extcon driver updates
    - some dma driver updates
    - char driver updates
    - android binder driver updates
    - nvmem driver updates
    - phy driver updates
    - parport driver fixes
    - pcmcia driver fix
    - uio driver updates
    - w1 driver updates
    - configfs fixes
    - other assorted driver updates

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

    * tag 'char-misc-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (200 commits)
    misc: mic: Use PTR_ERR_OR_ZERO rather than its implementation
    habanalabs: correctly cast variable to __le32
    habanalabs: show correct id in error print
    habanalabs: stop using the acronym KMD
    habanalabs: display card name as sensors header
    habanalabs: add uapi to retrieve aggregate H/W events
    habanalabs: add uapi to retrieve device utilization
    habanalabs: Make the Coresight timestamp perpetual
    habanalabs: explicitly set the queue-id enumerated numbers
    habanalabs: print to kernel log when reset is finished
    habanalabs: replace __le32_to_cpu with le32_to_cpu
    habanalabs: replace __cpu_to_le32/64 with cpu_to_le32/64
    habanalabs: Handle HW_IP_INFO if device disabled or in reset
    habanalabs: Expose devices after initialization is done
    habanalabs: improve security in Debug IOCTL
    habanalabs: use default structure for user input in Debug IOCTL
    habanalabs: Add descriptive name to PSOC app status register
    habanalabs: Add descriptive names to PSOC scratch-pad registers
    habanalabs: create two char devices per ASIC
    habanalabs: change device_setup_cdev() to be more generic
    ...

    Linus Torvalds
     
  • Pull staging and IIO driver updates from Greg KH:
    "Here is the big staging/iio driver update for 5.4-rc1.

    Lots of churn here, with a few driver/filesystems moving out of
    staging finally:

    - erofs moved out of staging

    - greybus core code moved out of staging

    Along with that, a new filesytem has been added:

    - extfat

    to provide support for those devices requiring that filesystem (i.e.
    transfer devices to/from windows systems or printers)

    Other than that, there a number of new IIO drivers, and lots and lots
    and lots of staging driver cleanups and minor fixes as people continue
    to dig into those for easy changes.

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

    * tag 'staging-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (453 commits)
    Staging: gasket: Use temporaries to reduce line length.
    Staging: octeon: Avoid several usecases of strcpy
    staging: vhciq_core: replace snprintf with scnprintf
    staging: wilc1000: avoid twice IRQ handler execution for each single interrupt
    staging: wilc1000: remove unused interrupt status handling code
    staging: fbtft: make several arrays static const, makes object smaller
    staging: rtl8188eu: make two arrays static const, makes object smaller
    staging: rtl8723bs: core: Remove Macro "IS_MAC_ADDRESS_BROADCAST"
    dt-bindings: anybus-controller: move to staging/ tree
    staging: emxx_udc: remove local TRUE/FALSE definition
    staging: wilc1000: look for rtc_clk clock
    staging: dt-bindings: wilc1000: add optional rtc_clk property
    staging: nvec: make use of devm_platform_ioremap_resource
    staging: exfat: drop unused function parameter
    Staging: exfat: Avoid use of strcpy
    staging: exfat: use integer constants
    staging: exfat: cleanup spacing for casts
    staging: exfat: cleanup spacing for operators
    staging: rtl8723bs: hal: remove redundant variable n
    staging: pi433: Fix typo in documentation
    ...

    Linus Torvalds
     
  • Pull tty/serial driver updates from Greg KH:
    "Even in this age, people are still making new serial port silicon,
    why...

    Anyway, here's the TTY and Serial driver update for 5.4-rc1. Lots of
    changes in here for a number of embedded serial port devices that are
    being worked on because people really like to see those console
    logs...

    Other than that, nothing major here, no core tty changes that anyone
    should care about.

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

    * tag 'tty-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (125 commits)
    serial: tegra: Add PIO mode support
    serial: tegra: report clk rate errors
    serial: tegra: add support to adjust baud rate
    serial: tegra: DT for Adjusted baud rates
    serial: tegra: add support to use 8 bytes trigger
    serial: tegra: set maximum num of uart ports to 8
    serial: tegra: check for FIFO mode enabled status
    dt-binding: serial: tegra: add new chips
    serial: tegra: report error to upper tty layer
    serial: tegra: flush the RX fifo on frame error
    serial: tegra: avoid reg access when clk disabled
    serial: tegra: add support to ignore read
    serial: sprd: correct the wrong sequence of arguments
    dt-bindings: serial: Convert riscv,sifive-serial to json-schema
    serial: max310x: turn off transmitter before activating AutoCTS or auto transmitter flow control
    serial: max310x: Properly set flags in AutoCTS mode
    tty: serial: fix platform_no_drv_owner.cocci warnings
    dt-bindings: serial: Document Freescale LINFlexD UART
    serial: fsl_linflexuart: Update compatible string
    tty: n_gsm: avoid recursive locking with async port hangup
    ...

    Linus Torvalds
     
  • Pull USB updates from Greg KH:
    "Here is the big set of USB patches for 5.4-rc1.

    Two major chunks of code are moving out of the tree and into the
    staging directory, uwb and wusb (wireless USB support), because there
    are no devices that actually use this protocol anymore, and what we
    have today probably doesn't work at all given that the maintainers
    left many many years ago. So move it to staging where it will be
    removed in a few releases if no one screams.

    Other than that, lots of little things. The usual gadget and xhci and
    usb serial driver updates, along with a bunch of sysfs file cleanups
    due to the driver core changes to support that. Nothing really major,
    just constant forward progress.

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

    * tag 'usb-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (159 commits)
    USB: usbcore: Fix slab-out-of-bounds bug during device reset
    usb: cdns3: Remove redundant dev_err call in cdns3_probe()
    USB: rio500: Fix lockdep violation
    USB: rio500: simplify locking
    usb: mtu3: register a USB Role Switch for dual role mode
    usb: common: add USB GPIO based connection detection driver
    usb: common: create Kconfig file
    usb: roles: get usb-role-switch from parent
    usb: roles: Add fwnode_usb_role_switch_get() function
    device connection: Add fwnode_connection_find_match()
    usb: roles: Introduce stubs for the exiting functions in role.h
    dt-bindings: usb: mtu3: add properties about USB Role Switch
    dt-bindings: usb: add binding for USB GPIO based connection detection driver
    dt-bindings: connector: add optional properties for Type-B
    dt-binding: usb: add usb-role-switch property
    usbip: Implement SG support to vhci-hcd and stub driver
    usb: roles: intel: Enable static DRD mode for role switch
    xhci-ext-caps.c: Add property to disable Intel SW switch
    usb: dwc3: remove generic PHY calibrate() calls
    usb: core: phy: add support for PHY calibration
    ...

    Linus Torvalds
     
  • Pull driver core updates from Greg Kroah-Hartman:
    "Here is the big driver core update for 5.4-rc1.

    There was a bit of a churn in here, with a number of core and OF
    platform patches being added to the tree, and then after much
    discussion and review and a day-long in-person meeting, they were
    decided to be reverted and a new set of patches is currently being
    reviewed on the mailing list.

    Other than that churn, there are two "persistent" branches in here
    that other trees will be pulling in as well during the merge window.
    One branch to add support for drivers to have the driver core
    automatically add sysfs attribute files when a driver is bound to a
    device so that the driver doesn't have to manually do it (and then
    clean it up, as it always gets it wrong).

    There's another branch in here for generic lookup helpers for the
    driver core that lots of busses are starting to use. That's the
    majority of the non-driver-core changes in this patch series.

    There's also some on-going debugfs file creation cleanup that has been
    slowly happening over the past few releases, with the goal to
    hopefully get that done sometime next year.

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

    [ Note that the above-mentioned generic lookup helpers branch was
    already brought in by the LED merge (commit 4feaab05dc1e) that had
    shared it.

    Also note that that common branch introduced an i2c bug due to a bad
    conversion, which got fixed here. - Linus ]

    * tag 'driver-core-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (49 commits)
    coccinelle: platform_get_irq: Fix parse error
    driver-core: add include guard to linux/container.h
    sysfs: add BIN_ATTR_WO() macro
    driver core: platform: Export platform_get_irq_optional()
    hwmon: pwm-fan: Use platform_get_irq_optional()
    driver core: platform: Introduce platform_get_irq_optional()
    Revert "driver core: Add support for linking devices during device addition"
    Revert "driver core: Add edit_links() callback for drivers"
    Revert "of/platform: Add functional dependency link from DT bindings"
    Revert "driver core: Add sync_state driver/bus callback"
    Revert "of/platform: Pause/resume sync state during init and of_platform_populate()"
    Revert "of/platform: Create device links for all child-supplier depencencies"
    Revert "of/platform: Don't create device links for default busses"
    Revert "of/platform: Fix fn definitons for of_link_is_valid() and of_link_property()"
    Revert "of/platform: Fix device_links_supplier_sync_state_resume() warning"
    Revert "of/platform: Disable generic device linking code for PowerPC"
    devcoredump: fix typo in comment
    devcoredump: use memory_read_from_buffer
    of/platform: Disable generic device linking code for PowerPC
    device.h: Fix warnings for mismatched parameter names in comments
    ...

    Linus Torvalds
     
  • Pull KVM updates from Paolo Bonzini:
    "s390:
    - ioctl hardening
    - selftests

    ARM:
    - ITS translation cache
    - support for 512 vCPUs
    - various cleanups and bugfixes

    PPC:
    - various minor fixes and preparation

    x86:
    - bugfixes all over the place (posted interrupts, SVM, emulation
    corner cases, blocked INIT)
    - some IPI optimizations"

    * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (75 commits)
    KVM: X86: Use IPI shorthands in kvm guest when support
    KVM: x86: Fix INIT signal handling in various CPU states
    KVM: VMX: Introduce exit reason for receiving INIT signal on guest-mode
    KVM: VMX: Stop the preemption timer during vCPU reset
    KVM: LAPIC: Micro optimize IPI latency
    kvm: Nested KVM MMUs need PAE root too
    KVM: x86: set ctxt->have_exception in x86_decode_insn()
    KVM: x86: always stop emulation on page fault
    KVM: nVMX: trace nested VM-Enter failures detected by H/W
    KVM: nVMX: add tracepoint for failed nested VM-Enter
    x86: KVM: svm: Fix a check in nested_svm_vmrun()
    KVM: x86: Return to userspace with internal error on unexpected exit reason
    KVM: x86: Add kvm_emulate_{rd,wr}msr() to consolidate VXM/SVM code
    KVM: x86: Refactor up kvm_{g,s}et_msr() to simplify callers
    doc: kvm: Fix return description of KVM_SET_MSRS
    KVM: X86: Tune PLE Window tracepoint
    KVM: VMX: Change ple_window type to unsigned int
    KVM: X86: Remove tailing newline for tracepoints
    KVM: X86: Trace vcpu_id for vmexit
    KVM: x86: Manually calculate reserved bits when loading PDPTRS
    ...

    Linus Torvalds
     
  • Pull KVM fix from Paolo Bonzini:
    "Fix missing bounds-checking in coalesced_mmio (CVE-2019-14821)"

    * tag 'for-linus-urgent' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
    KVM: coalesced_mmio: add bounds checking

    Linus Torvalds
     

18 Sep, 2019

28 commits

  • The first/last indexes are typically shared with a user app.
    The app can change the 'last' index that the kernel uses
    to store the next result. This change sanity checks the index
    before using it for writing to a potentially arbitrary address.

    This fixes CVE-2019-14821.

    Cc: stable@vger.kernel.org
    Fixes: 5f94c1741bdc ("KVM: Add coalesced MMIO support (common part)")
    Signed-off-by: Matt Delco
    Signed-off-by: Jim Mattson
    Reported-by: syzbot+983c866c3dd6efa3662a@syzkaller.appspotmail.com
    [Use READ_ONCE. - Paolo]
    Signed-off-by: Paolo Bonzini

    Matt Delco
     
  • Pull device properties framework updates from Rafael Wysocki:
    "Improve software node support (Heikki Krogerus) and clean up two
    assorted pieces of code (Andy Shevchenko, Geert Uytterhoeven)"

    * tag 'devprop-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
    software node: Initialize the return value in software_node_find_by_name()
    software node: Initialize the return value in software_node_to_swnode()
    ACPI / property: Fix acpi_graph_get_remote_endpoint() name in kerneldoc
    device property: Remove duplicate test for NULL
    platform/x86: intel_cht_int33fe: Use new API to gain access to the role switch
    usb: roles: intel_xhci: Supplying software node for the role mux
    software node: Add software_node_find_by_name()

    Linus Torvalds
     
  • Pull ACPI updates from Rafael Wysocki:
    "These include an ACPICA update (to upstream revision 20190816),
    improvements of support for memory hot-add in the HMAT handling code
    and some assorted fixes and cleanups.

    Specifics:

    - Update the ACPICA code in the kernel to upstream revision 20190816
    including:
    * Internal limits change to support larger systems (Bob Moore).
    * Macros clean up (Bob Moore).
    * printf format string fixes (Bob Moore).
    * Full deployment of the ACPI_PRINTF_LIKE macro (Bob Moore).
    * Tools improvements (Bob Moore, Colin Ian King).
    * Windows _OSI support fixes (Jung-uk Kim).

    - Improve memory hot-add support in the ACPI HMAT handling code (Dan
    Williams, Keith Busch).

    - Fix the ACPI LPSS (Low-Power Subsystem) driver for Intel SoCs to
    save and restore private registers during system-wide suspend and
    resume on systems with the Lynxpoint PCH (Jarkko Nikula).

    - Convert the ACPI documentation related to LEDs to ReST (Sakari
    Ailus).

    - Fix assorted issues and make assorted minor improvements in the
    ACPI-related code (Al Stone, Andy Shevchenko, Jiri Slaby, Kelsey
    Skunberg, Krzysztof Wilczynski, Liguang Zhang, Wenwen Wang,
    YueHaibing)"

    * tag 'acpi-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (23 commits)
    ACPI / PCI: fix acpi_pci_irq_enable() memory leak
    ACPI: custom_method: fix memory leaks
    ACPI: thermal: Remove redundant acpi_has_method() calls
    ACPI / CPPC: do not require the _PSD method
    ACPI: SBS: remove unused const variable 'SMBUS_PEC'
    ACPI / LPSS: Save/restore LPSS private registers also on Lynxpoint
    ACPI/PCI: Remove surplus parentheses from a return statement
    ACPICA: Update version to 20190816.
    ACPICA: Add "Windows 2019" string to _OSI support.
    ACPICA: Differentiate Windows 8.1 from Windows 8.
    ACPICA: Fully deploy ACPI_PRINTF_LIKE macro
    ACPICA: iASL,acpi_dump: Improve y/n query
    ACPICA: Fix issues with arg types within printf format strings
    ACPICA: Macros: remove pointer math on a null pointer
    ACPICA: Increase total number of possible Owner IDs
    ACPICA: Debugger: remove redundant assignment on obj_desc
    Documentation: ACPI: DSD: Convert LED documentation to ReST
    ACPI / APEI: Release resources if gen_pool_add() fails
    HMAT: Skip publishing target info for nodes with no online memory
    HMAT: Register attributes for memory hot add
    ...

    Linus Torvalds
     
  • Pull power management updates from Rafael Wysocki:
    "These include a rework of the main suspend-to-idle code flow (related
    to the handling of spurious wakeups), a switch over of several users
    of cpufreq notifiers to QoS-based limits, a new devfreq driver for
    Tegra20, a new cpuidle driver and governor for virtualized guests, an
    extension of the wakeup sources framework to expose wakeup sources as
    device objects in sysfs, and more.

    Specifics:

    - Rework the main suspend-to-idle control flow to avoid repeating
    "noirq" device resume and suspend operations in case of spurious
    wakeups from the ACPI EC and decouple the ACPI EC wakeups support
    from the LPS0 _DSM support (Rafael Wysocki).

    - Extend the wakeup sources framework to expose wakeup sources as
    device objects in sysfs (Tri Vo, Stephen Boyd).

    - Expose system suspend statistics in sysfs (Kalesh Singh).

    - Introduce a new haltpoll cpuidle driver and a new matching governor
    for virtualized guests wanting to do guest-side polling in the idle
    loop (Marcelo Tosatti, Joao Martins, Wanpeng Li, Stephen Rothwell).

    - Fix the menu and teo cpuidle governors to allow the scheduler tick
    to be stopped if PM QoS is used to limit the CPU idle state exit
    latency in some cases (Rafael Wysocki).

    - Increase the resolution of the play_idle() argument to microseconds
    for more fine-grained injection of CPU idle cycles (Daniel
    Lezcano).

    - Switch over some users of cpuidle notifiers to the new QoS-based
    frequency limits and drop the CPUFREQ_ADJUST and CPUFREQ_NOTIFY
    policy notifier events (Viresh Kumar).

    - Add new cpufreq driver based on nvmem for sun50i (Yangtao Li).

    - Add support for MT8183 and MT8516 to the mediatek cpufreq driver
    (Andrew-sh.Cheng, Fabien Parent).

    - Add i.MX8MN support to the imx-cpufreq-dt cpufreq driver (Anson
    Huang).

    - Add qcs404 to cpufreq-dt-platdev blacklist (Jorge Ramirez-Ortiz).

    - Update the qcom cpufreq driver (among other things, to make it
    easier to extend and to use kryo cpufreq for other nvmem-based
    SoCs) and add qcs404 support to it (Niklas Cassel, Douglas
    RAILLARD, Sibi Sankar, Sricharan R).

    - Fix assorted issues and make assorted minor improvements in the
    cpufreq code (Colin Ian King, Douglas RAILLARD, Florian Fainelli,
    Gustavo Silva, Hariprasad Kelam).

    - Add new devfreq driver for NVidia Tegra20 (Dmitry Osipenko, Arnd
    Bergmann).

    - Add new Exynos PPMU events to devfreq events and extend that
    mechanism (Lukasz Luba).

    - Fix and clean up the exynos-bus devfreq driver (Kamil Konieczny).

    - Improve devfreq documentation and governor code, fix spelling typos
    in devfreq (Ezequiel Garcia, Krzysztof Kozlowski, Leonard Crestez,
    MyungJoo Ham, Gaël PORTAY).

    - Add regulators enable and disable to the OPP (operating performance
    points) framework (Kamil Konieczny).

    - Update the OPP framework to support multiple opp-suspend properties
    (Anson Huang).

    - Fix assorted issues and make assorted minor improvements in the OPP
    code (Niklas Cassel, Viresh Kumar, Yue Hu).

    - Clean up the generic power domains (genpd) framework (Ulf Hansson).

    - Clean up assorted pieces of power management code and documentation
    (Akinobu Mita, Amit Kucheria, Chuhong Yuan).

    - Update the pm-graph tool to version 5.5 including multiple fixes
    and improvements (Todd Brandt).

    - Update the cpupower utility (Benjamin Weis, Geert Uytterhoeven,
    Sébastien Szymanski)"

    * tag 'pm-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (126 commits)
    cpuidle-haltpoll: Enable kvm guest polling when dedicated physical CPUs are available
    cpuidle-haltpoll: do not set an owner to allow modunload
    cpuidle-haltpoll: return -ENODEV on modinit failure
    cpuidle-haltpoll: set haltpoll as preferred governor
    cpuidle: allow governor switch on cpuidle_register_driver()
    PM: runtime: Documentation: add runtime_status ABI document
    pm-graph: make setVal unbuffered again for python2 and python3
    powercap: idle_inject: Use higher resolution for idle injection
    cpuidle: play_idle: Increase the resolution to usec
    cpuidle-haltpoll: vcpu hotplug support
    cpufreq: Add qcs404 to cpufreq-dt-platdev blacklist
    cpufreq: qcom: Add support for qcs404 on nvmem driver
    cpufreq: qcom: Refactor the driver to make it easier to extend
    cpufreq: qcom: Re-organise kryo cpufreq to use it for other nvmem based qcom socs
    dt-bindings: opp: Add qcom-opp bindings with properties needed for CPR
    dt-bindings: opp: qcom-nvmem: Support pstates provided by a power domain
    Documentation: cpufreq: Update policy notifier documentation
    cpufreq: Remove CPUFREQ_ADJUST and CPUFREQ_NOTIFY policy notifier events
    PM / Domains: Verify PM domain type in dev_pm_genpd_set_performance_state()
    PM / Domains: Simplify genpd_lookup_dev()
    ...

    Linus Torvalds
     
  • Pull dmaengine updates from Vinod Koul:

    - Move Dmaengine DT bindings to YAML and convert Allwinner to schema.

    - FSL dma device_synchronize implementation

    - DW split acpi and of helpers and updates to driver and support for
    Elkhart Lake

    - Move filter fn as private for omap-dma and edma drivers and
    improvements to these drivers

    - Mark expected switch fall-through in couple of drivers

    - Renames of shdma and nbpfaxi binding document

    - Minor updates to bunch of drivers

    * tag 'dmaengine-5.4-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (55 commits)
    dmaengine: ti: edma: Use bitmap_set() instead of open coded edma_set_bits()
    dmaengine: ti: edma: Only reset region0 access registers
    dmaengine: ti: edma: Do not reset reserved paRAM slots
    dmaengine: iop-adma.c: fix printk format warning
    dmaengine: stm32-dma: Use struct_size() helper
    dt-bindings: dmaengine: dma-common: Fix the dma-channel-mask property
    dmanegine: ioat/dca: Use struct_size() helper
    dmaengine: iop-adma: remove set but not used variable 'slots_per_op'
    dmaengine: dmatest: Add support for completion polling
    dmaengine: ti: omap-dma: Remove variable override in omap_dma_tx_status()
    dmaengine: ti: omap-dma: Remove 'Assignment in if condition'
    dmaengine: ti: edma: Remove 'Assignment in if condition'
    dmaengine: dw: platform: Split OF helpers to separate module
    dmaengine: dw: platform: Split ACPI helpers to separate module
    dmaengine: dw: platform: Move handle check to dw_dma_acpi_controller_register()
    dmaengine: dw: platform: Switch to acpi_dma_controller_register()
    dmaengine: dw: platform: Use devm_platform_ioremap_resource()
    dmaengine: dw: platform: Enable iDMA 32-bit on Intel Elkhart Lake
    dmaengine: dw: platform: Use struct dw_dma_chip_pdata
    dmaengine: dw: Export struct dw_dma_chip_pdata for wider use
    ...

    Linus Torvalds
     
  • …anaszewski/linux-leds

    Pull LED updates from Jacek Anaszewski:
    "In this cycle we've finally managed to contribute the patch set
    sorting out LED naming issues. Besides that there are many changes
    scattered among various LED class drivers and triggers.

    LED naming related improvements:

    - add new 'function' and 'color' fwnode properties and deprecate
    'label' property which has been frequently abused for conveying
    vendor specific names that have been available in sysfs anyway

    - introduce a set of standard LED_FUNCTION* definitions

    - introduce a set of standard LED_COLOR_ID* definitions

    - add a new {devm_}led_classdev_register_ext() API with the
    capability of automatic LED name composition basing on the
    properties available in the passed fwnode; the function is
    backwards compatible in a sense that it uses 'label' data, if
    present in the fwnode, for creating LED name

    - add tools/leds/get_led_device_info.sh script for retrieving LED
    vendor, product and bus names, if applicable; it also performs
    basic validation of an LED name

    - update following drivers and their DT bindings to use the new LED
    registration API:

    - leds-an30259a, leds-gpio, leds-as3645a, leds-aat1290, leds-cr0014114,
    leds-lm3601x, leds-lm3692x, leds-lp8860, leds-lt3593, leds-sc27xx-blt

    Other LED class improvements:

    - replace {devm_}led_classdev_register() macros with inlines

    - allow to call led_classdev_unregister() unconditionally

    - switch to use fwnode instead of be stuck with OF one

    LED triggers improvements:

    - led-triggers:
    - fix dereferencing of null pointer
    - fix a memory leak bug

    - ledtrig-gpio:
    - GPIO 0 is valid

    Drop superseeded apu2/3 support from leds-apu since for apu2+ a newer,
    more complete driver exists, based on a generic driver for the AMD
    SOCs gpio-controller, supporting LEDs as well other devices:

    - drop profile field from priv data

    - drop iosize field from priv data

    - drop enum_apu_led_platform_types

    - drop superseeded apu2/3 led support

    - add pr_fmt prefix for better log output

    - fix error message on probing failure

    Other misc fixes and improvements to existing LED class drivers:

    - leds-ns2, leds-max77650:
    - add of_node_put() before return

    - leds-pwm, leds-is31fl32xx:
    - use struct_size() helper

    - leds-lm3697, leds-lm36274, leds-lm3532:
    - switch to use fwnode_property_count_uXX()

    - leds-lm3532:
    - fix brightness control for i2c mode
    - change the define for the fs current register
    - fixes for the driver for stability
    - add full scale current configuration
    - dt: Add property for full scale current.
    - avoid potentially unpaired regulator calls
    - move static keyword to the front of declarations
    - fix optional led-max-microamp prop error handling

    - leds-max77650:
    - add of_node_put() before return
    - add MODULE_ALIAS()
    - Switch to fwnode property API

    - leds-as3645a:
    - fix misuse of strlcpy

    - leds-netxbig:
    - add of_node_put() in netxbig_leds_get_of_pdata()
    - remove legacy board-file support

    - leds-is31fl319x:
    - simplify getting the adapter of a client

    - leds-ti-lmu-common:
    - fix coccinelle issue
    - move static keyword to the front of declaration

    - leds-syscon:
    - use resource managed variant of device register

    - leds-ktd2692:
    - fix a typo in the name of a constant

    - leds-lp5562:
    - allow firmware files up to the maximum length

    - leds-an30259a:
    - fix typo

    - leds-pca953x:
    - include the right header"

    * tag 'leds-for-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: (72 commits)
    leds: lm3532: Fix optional led-max-microamp prop error handling
    led: triggers: Fix dereferencing of null pointer
    leds: ti-lmu-common: Move static keyword to the front of declaration
    leds: lm3532: Move static keyword to the front of declarations
    leds: trigger: gpio: GPIO 0 is valid
    leds: pwm: Use struct_size() helper
    leds: is31fl32xx: Use struct_size() helper
    leds: ti-lmu-common: Fix coccinelle issue in TI LMU
    leds: lm3532: Avoid potentially unpaired regulator calls
    leds: syscon: Use resource managed variant of device register
    leds: Replace {devm_}led_classdev_register() macros with inlines
    leds: Allow to call led_classdev_unregister() unconditionally
    leds: lm3532: Add full scale current configuration
    dt: lm3532: Add property for full scale current.
    leds: lm3532: Fixes for the driver for stability
    leds: lm3532: Change the define for the fs current register
    leds: lm3532: Fix brightness control for i2c mode
    leds: Switch to use fwnode instead of be stuck with OF one
    leds: max77650: Switch to fwnode property API
    led: triggers: Fix a memory leak bug
    ...

    Linus Torvalds
     
  • Pull media updates from Mauro Carvalho Chehab:

    - a new sensor driver for ov5675

    - a new platform driver for Allwinner A10 sensor interface

    - some new remote controller keymaps

    - some cosmetic changes at V4L2 core in order to avoid #ifdefs and to
    merge two core modules into one

    - removal of bcm2048 radio driver from staging

    - removal of davinci_vpfe video driver from staging

    - regression fix since Kernel 5.1 at the legacy VideoBuffer version 1
    core

    - added some documentation for remote controller protocols

    - pixel format documentation was split on two files

    - lots of other driver improvements and cleanups

    * tag 'media/v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (321 commits)
    media: videobuf-core.c: poll_wait needs a non-NULL buf pointer
    media: sun4i: Make sun4i_csi_formats static
    media: imx: remove unused including
    media: stm32-dcmi: Delete an unnecessary of_node_put() call in dcmi_probe()
    media: pvrusb2: qctrl.flag will be uninitlaized if cx2341x_ctrl_query() returns error code
    media: em28xx: Fix exception handling in em28xx_alloc_urbs()
    media: don't do a 31 bit shift on a signed int
    media: use the BIT() macro
    media: ov9650: add a sanity check
    media: aspeed-video: address a protential usage of an unitialized var
    media: vicodec: make life easier for static analyzers
    media: remove include stdarg.h from some drivers
    v4l2-core: fix coding style for the two new c files
    media: v4l2-core: Remove BUG() from i2c and spi helpers
    media: v4l2-core: introduce a helper to unregister a i2c subdev
    media: v4l2-core: introduce a helper to unregister a spi subdev
    media: v4l2-core: move i2c helpers out of v4l2-common.c
    media: v4l2-core: move spi helpers out of v4l2-common.c
    media: v4l2-core: Module re-organization
    media: usbvision: Remove dead code
    ...

    Linus Torvalds
     
  • Pull sound updates from Takashi Iwai:
    "As shown in diffstat and logs, it was again a busy development cycle
    at this time, too. The most significant changes are still on-going
    refactoring / modernization works for ASoC core and drivers, but there
    are lots of other changes as well. Here we go, some highlights below:

    ASoC:

    - Quite a lot of cleanup / refactoring of ASoC core and APIs; most of
    them are systematic, but also including cleanups and modernization

    - A bulk of updates for some ASoC platforms, Freescale, sunxi and
    Intel SST/SOF

    - Initial support for Sound Open Firmware on i.MX8

    - Removal of deprecated w90x900 and nuc900 drivers

    - New support for Cirrus Logic CS47L15 and CS47L92, Freescale i.MX
    7ULP and 8MQ, Meson G12A and NXP UDA1334

    USB-audio:

    - More validations of descriptor units for hardening against bugs
    reported by fuzzers

    - PCM device assignment workaround for a past call-order change

    - Scarlett Gen2 mixer interface, a few more more quirks

    HD-audio:

    - Support for audio component with AMD/ATI and Nvidia HDMI codecs

    - Clean up HD-audio core and remove indirect access ops for Intel SOF

    - DMIC detection at probe; it would make systems automatically
    falling back to SST/SOF driver on devices that need DMIC handling.
    Needs a new Kconfig to set, and beware that it's still new and a
    bit experimental

    FireWire:

    - Lots of code refactoring and cleanups"

    * tag 'sound-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (521 commits)
    ASoC: sdm845: remove unneeded semicolon
    ASoC: fsl_sai: Implement set_bclk_ratio
    ASoC: dmaengine: Replace strncpy() with strscpy_pad() for pcm->name
    ASoC: wcd9335: remove redundant use of ret variable
    ALSA: firewire-tascam: check intermediate state of clock status and retry
    ALSA: firewire-tascam: handle error code when getting current source of clock
    ASoC: hdmi-codec: Add an op to set callback function for plug event
    ASoC: rt5677: keep analog power register at SND_SOC_BIAS_OFF
    ASoC: rt5677: Remove magic number register writes
    ASoC: soc-core: self contained soc_unbind_aux_dev()
    ASoC: soc-core: add soc_unbind_aux_dev()
    ASoC: soc-core: self contained soc_bind_aux_dev()
    ASoC: soc-core: move soc_probe_link_dais() next to soc_remove_link_dais()
    ASoC: soc-core: self contained soc_probe_link_dais()
    ASoC: soc-core: add new soc_link_init()
    ASoC: soc-core: move soc_probe_dai() next to soc_remove_dai()
    ASoC: soc-core: self contained soc_remove_link_dais()
    ASoC: soc-core: self contained soc_remove_link_components()
    ASoC: soc-core: self contained soc_probe_link_components()
    ASoC: rt1308: make array pd static const, makes object smaller
    ...

    Linus Torvalds
     
  • Pull MMC updates from Ulf Hansson:
    "MMC core:
    - Fixup processing of SDIO IRQs during system suspend/resume
    - Add helper function to indicate if SDIO IRQs is enabled

    MMC host:
    - bcm2835: Take SWIOTLB memory size limitation into account
    - dw_mmc: Improve SDIO IRQs support
    - mtk-sd: Various improvements
    - mtk-sd: Improve SDIO IRQs support
    - sdhci-iproc: Add support for emmc2 of the BCM2711
    - sdhci-of-arasan: Add Support for Intel LGM eMMC
    - sdhci-of-aspeed: Add support for the ASPEED SD controller
    - sdhci-of-esdhc: Deal with erratum A011334 support in ls1028a 1.0 SoC
    - sdhci-pci: Prepare to add support of Genesys Logic GL975x
    - sdhci-pci: Add another Id for Intel CML
    - sdhci-pci-o2micro: Fix O2 Host data read/write DLL Lock phase shift issue
    - sunxi: Add support for H5 compatibles"

    * tag 'mmc-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (59 commits)
    ms_block: fix spelling mistake "randomally" -> "randomly"
    mmc: dw_mmc: hi3798cv200: make array degrees static const, makes object smaller
    mmc: sdhci: Convert to use sdio_irq_claimed()
    mmc: sdhci: Drop redundant code for SDIO IRQs
    mmc: sdhci: Drop redundant check in sdhci_ack_sdio_irq()
    mmc: core: Fixup processing of SDIO IRQs during system suspend/resume
    mmc: core: WARN if SDIO IRQs are enabled for non-powered card in suspend
    mmc: core: Clarify that the ->ack_sdio_irq() callback is mandatory
    mmc: core: Clarify sdio_irq_pending flag for MMC_CAP2_SDIO_IRQ_NOTHREAD
    mmc: core: Move code to get pending SDIO IRQs to a function
    mmc: mtk-sd: Re-store SDIO IRQs mask at system resume
    mmc: dw_mmc: Re-store SDIO IRQs mask at system resume
    mmc: core: Add helper function to indicate if SDIO IRQs is enabled
    mmc: sdhci-pci-o2micro: Fix O2 Host data read/write DLL Lock phase shift issue
    mmc: sdhci-pci-o2micro: Move functions in preparation to fix DLL lock phase shift issue
    mmc: sdhci-pci-o2micro: Change O2 Host PLL and DLL register name
    mmc: sdhci: Fix incorrect switch to HS mode
    mmc: sdhci-of-aspeed: Depend on CONFIG_OF_ADDRESS
    mmc: sdhci-of-aspeed: Allow max-frequency limitation of SDCLK
    mmc: sdhci-of-aspeed: Uphold clocks-on post-condition of set_clock()
    ...

    Linus Torvalds
     
  • Pull block updates from Jens Axboe:

    - Two NVMe pull requests:
    - ana log parse fix from Anton
    - nvme quirks support for Apple devices from Ben
    - fix missing bio completion tracing for multipath stack devices
    from Hannes and Mikhail
    - IP TOS settings for nvme rdma and tcp transports from Israel
    - rq_dma_dir cleanups from Israel
    - tracing for Get LBA Status command from Minwoo
    - Some nvme-tcp cleanups from Minwoo, Potnuri and Myself
    - Some consolidation between the fabrics transports for handling
    the CAP register
    - reset race with ns scanning fix for fabrics (move fabrics
    commands to a dedicated request queue with a different lifetime
    from the admin request queue)."
    - controller reset and namespace scan races fixes
    - nvme discovery log change uevent support
    - naming improvements from Keith
    - multiple discovery controllers reject fix from James
    - some regular cleanups from various people

    - Series fixing (and re-fixing) null_blk debug printing and nr_devices
    checks (André)

    - A few pull requests from Song, with fixes from Andy, Guoqing,
    Guilherme, Neil, Nigel, and Yufen.

    - REQ_OP_ZONE_RESET_ALL support (Chaitanya)

    - Bio merge handling unification (Christoph)

    - Pick default elevator correctly for devices with special needs
    (Damien)

    - Block stats fixes (Hou)

    - Timeout and support devices nbd fixes (Mike)

    - Series fixing races around elevator switching and device add/remove
    (Ming)

    - sed-opal cleanups (Revanth)

    - Per device weight support for BFQ (Fam)

    - Support for blk-iocost, a new model that can properly account cost of
    IO workloads. (Tejun)

    - blk-cgroup writeback fixes (Tejun)

    - paride queue init fixes (zhengbin)

    - blk_set_runtime_active() cleanup (Stanley)

    - Block segment mapping optimizations (Bart)

    - lightnvm fixes (Hans/Minwoo/YueHaibing)

    - Various little fixes and cleanups

    * tag 'for-5.4/block-2019-09-16' of git://git.kernel.dk/linux-block: (186 commits)
    null_blk: format pr_* logs with pr_fmt
    null_blk: match the type of parameter nr_devices
    null_blk: do not fail the module load with zero devices
    block: also check RQF_STATS in blk_mq_need_time_stamp()
    block: make rq sector size accessible for block stats
    bfq: Fix bfq linkage error
    raid5: use bio_end_sector in r5_next_bio
    raid5: remove STRIPE_OPS_REQ_PENDING
    md: add feature flag MD_FEATURE_RAID0_LAYOUT
    md/raid0: avoid RAID0 data corruption due to layout confusion.
    raid5: don't set STRIPE_HANDLE to stripe which is in batch list
    raid5: don't increment read_errors on EILSEQ return
    nvmet: fix a wrong error status returned in error log page
    nvme: send discovery log page change events to userspace
    nvme: add uevent variables for controller devices
    nvme: enable aen regardless of the presence of I/O queues
    nvme-fabrics: allow discovery subsystems accept a kato
    nvmet: Use PTR_ERR_OR_ZERO() in nvmet_init_discovery()
    nvme: Remove redundant assignment of cq vector
    nvme: Assign subsys instance from first ctrl
    ...

    Linus Torvalds
     
  • Pull libata updates from Jens Axboe:

    - Kill unused export (Andy)

    - Use dma_set_mask_and_coherent() throughout (Christoph)

    - Drop PCS quirk on Denverton, which has different register layout
    (Dan)

    - Support non-boot time detection for pata_buddha (Max)

    * tag 'for-5.4/libata-2019-09-15' of git://git.kernel.dk/linux-block:
    libata/ahci: Drop PCS quirk for Denverton and beyond
    ahci: Do not export local variable ahci_em_messages
    libata: switch remaining drivers to use dma_set_mask_and_coherent
    sata_sil24: use dma_set_mask_and_coherent
    sata_qstor: use dma_set_mask_and_coherent
    sata_nv: use dma_set_mask_and_coherent
    sata_mv: use dma_set_mask_and_coherent
    pdc_adma: use dma_set_mask_and_coherent
    ahci: use dma_set_mask_and_coherent
    acard_ahci: use dma_set_mask_and_coherent
    ata/pata_buddha: Probe via modalias instead of initcall

    Linus Torvalds
     
  • Pull io_uring updates from Jens Axboe:

    - Allocate SQ/CQ ring together, more efficient. Expose this through a
    feature flag as well, so we can reduce the number of mmaps by 1
    (Hristo and me)

    - Fix for sequence logic with SQ thread (Jackie).

    - Add support for links with drain commands (Jackie).

    - Improved async merging (me)

    - Improved buffered async write performance (me)

    - Support SQ poll wakeup + event get in single io_uring_enter() (me)

    - Support larger SQ ring size. For epoll conversions, the 4k limit was
    too small for some prod workloads (Daniel).

    - put_user_page() usage (John)

    * tag 'for-5.4/io_uring-2019-09-15' of git://git.kernel.dk/linux-block:
    io_uring: increase IORING_MAX_ENTRIES to 32K
    io_uring: make sqpoll wakeup possible with getevents
    io_uring: extend async work merging
    io_uring: limit parallelism of buffered writes
    io_uring: add io_queue_async_work() helper
    io_uring: optimize submit_and_wait API
    io_uring: add support for link with drain
    io_uring: fix wrong sequence setting logic
    io_uring: expose single mmap capability
    io_uring: allocate the two rings together
    fs/io_uring.c: convert put_page() to put_user_page*()

    Linus Torvalds
     
  • Pull documentation updates from Jonathan Corbet:
    "It's a somewhat calmer cycle for docs this time, as the churn of the
    mass RST conversion is happily mostly behind us.

    - A new document on reproducible builds.

    - We finally got around to zapping the documentation for hardware
    support that was removed in 2004; one doesn't want to rush these
    things.

    - The usual assortment of fixes, typo corrections, etc"

    * tag 'docs-5.4' of git://git.lwn.net/linux: (67 commits)
    Documentation: kbuild: Add document about reproducible builds
    docs: printk-formats: Stop encouraging use of unnecessary %h[xudi] and %hh[xudi]
    Documentation: Add "earlycon=sbi" to the admin guide
    doc:lock: remove reference to clever use of read-write lock
    devices.txt: improve entry for comedi (char major 98)
    docs: mtd: Update spi nor reference driver
    doc: arm64: fix grammar dtb placed in no attributes region
    Documentation: sysrq: don't recommend 'S' 'U' before 'B'
    mailmap: Update email address for Quentin Perret
    docs: ftrace: clarify when tracing is disabled by the trace file
    docs: process: fix broken link
    Documentation/arm/samsung-s3c24xx: Remove stray U+FEFF character to fix title
    Documentation/arm/sa1100/assabet: Fix 'make assabet_defconfig' command
    Documentation/arm/sa1100: Remove some obsolete documentation
    docs/zh_CN: update Chinese howto.rst for latexdocs making
    Documentation: virt: Fix broken reference to virt tree's index
    docs: Fix typo on pull requests guide
    kernel-doc: Allow anonymous enum
    Documentation: sphinx: Don't parse socket() as identifier reference
    Documentation: sphinx: Add missing comma to list of strings
    ...

    Linus Torvalds
     
  • Pull percpu updates from Dennis Zhou:
    "A couple of updates to clean up the code with no change in behavior"

    * 'for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu:
    percpu: Use struct_size() helper
    percpu: fix typo in pcpu_setup_first_chunk() comment
    percpu: Make pcpu_setup_first_chunk() void function

    Linus Torvalds
     
  • Pull cgroup updates from Tejun Heo:
    "Three minor cleanup patches"

    * 'for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup:
    Use kvmalloc in cgroups-v1
    cgroup: minor tweak for logic to get cgroup css
    cgroup: Replace a seq_printf() call by seq_puts() in cgroup_print_ss_mask()

    Linus Torvalds
     
  • Pull in bug fixes from 'net' tree for the merge window.

    Signed-off-by: David S. Miller

    David S. Miller
     
  • Pull asm-generic updates from Arnd Bergmann:
    "Here are three small cleanup patches for the include/asm-generic
    directory.

    Christoph removes the __ioremap as part of a cleanup, Nico improves
    the constant do_div() optimization, and Denis changes BUG_ON() to be
    consistent with other implementations"

    * tag 'asm-generic-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
    asm-generic: add unlikely to default BUG_ON(x)
    __div64_const32(): improve the generic C version
    asm-generic: don't provide __ioremap

    Linus Torvalds
     
  • Pull Xtensa updates from Max Filippov:

    - add support for xtensa call0 ABI in userspace

    - update xtensa virt board DTS for PCI root complex in KIO range

    - remove free_initrd_mem

    * tag 'xtensa-20190917' of git://github.com/jcmvbkbc/linux-xtensa:
    xtensa: virt: move PCI root complex to KIO range
    xtensa: add support for call0 ABI in userspace
    xtensa: clean up PS_WOE_BIT usage
    xtensa: remove free_initrd_mem

    Linus Torvalds
     
  • Pull s390 updates from Vasily Gorbik:

    - Add support for IBM z15 machines.

    - Add SHA3 and CCA AES cipher key support in zcrypt and pkey
    refactoring.

    - Move to arch_stack_walk infrastructure for the stack unwinder.

    - Various kasan fixes and improvements.

    - Various command line parsing fixes.

    - Improve decompressor phase debuggability.

    - Lift no bss usage restriction for the early code.

    - Use refcount_t for reference counters for couple of places in mm
    code.

    - Logging improvements and return code fix in vfio-ccw code.

    - Couple of zpci fixes and minor refactoring.

    - Remove some outdated documentation.

    - Fix secure boot detection.

    - Other various minor code clean ups.

    * tag 's390-5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux: (48 commits)
    s390: remove pointless drivers-y in drivers/s390/Makefile
    s390/cpum_sf: Fix line length and format string
    s390/pci: fix MSI message data
    s390: add support for IBM z15 machines
    s390/crypto: Support for SHA3 via CPACF (MSA6)
    s390/startup: add pgm check info printing
    s390/crypto: xts-aes-s390 fix extra run-time crypto self tests finding
    vfio-ccw: fix error return code in vfio_ccw_sch_init()
    s390: vfio-ap: fix warning reset not completed
    s390/base: remove unused s390_base_mcck_handler
    s390/sclp: Fix bit checked for has_sipl
    s390/zcrypt: fix wrong handling of cca cipher keygenflags
    s390/kasan: add kdump support
    s390/setup: avoid using strncmp with hardcoded length
    s390/sclp: avoid using strncmp with hardcoded length
    s390/module: avoid using strncmp with hardcoded length
    s390/pci: avoid using strncmp with hardcoded length
    s390/kaslr: reserve memory for kasan usage
    s390/mem_detect: provide single get_mem_detect_end
    s390/cmma: reuse kstrtobool for option value parsing
    ...

    Linus Torvalds
     
  • Pull OpenRISC updates from Stafford Horne:
    "Few small things for 5.4:

    - Fixup ethoc ethernet device tree descriptors which were previously
    broken, now ethernet works on FPGAs running OpenRISC!

    - Switch ioremap to use uncached semantics - from Christoph Hellwig"

    * tag 'for-linus' of git://github.com/openrisc/linux:
    openrisc: map as uncached in ioremap
    or1k: dts: Add ethoc device to SMP devicetree
    or1k: dts: Fix ethoc network configuration in or1ksim devicetree

    Linus Torvalds
     
  • Pull m68knommu fix from Greg Ungerer:
    "Only a single change, fix up header include in ColdFire specific GPIO
    handling code"

    * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
    m68k: coldfire: Include the GPIO driver header

    Linus Torvalds
     
  • Pull core timer updates from Thomas Gleixner:
    "Timers and timekeeping updates:

    - A large overhaul of the posix CPU timer code which is a preparation
    for moving the CPU timer expiry out into task work so it can be
    properly accounted on the task/process.

    An update to the bogus permission checks will come later during the
    merge window as feedback was not complete before heading of for
    travel.

    - Switch the timerqueue code to use cached rbtrees and get rid of the
    homebrewn caching of the leftmost node.

    - Consolidate hrtimer_init() + hrtimer_init_sleeper() calls into a
    single function

    - Implement the separation of hrtimers to be forced to expire in hard
    interrupt context even when PREEMPT_RT is enabled and mark the
    affected timers accordingly.

    - Implement a mechanism for hrtimers and the timer wheel to protect
    RT against priority inversion and live lock issues when a (hr)timer
    which should be canceled is currently executing the callback.
    Instead of infinitely spinning, the task which tries to cancel the
    timer blocks on a per cpu base expiry lock which is held and
    released by the (hr)timer expiry code.

    - Enable the Hyper-V TSC page based sched_clock for Hyper-V guests
    resulting in faster access to timekeeping functions.

    - Updates to various clocksource/clockevent drivers and their device
    tree bindings.

    - The usual small improvements all over the place"

    * 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (101 commits)
    posix-cpu-timers: Fix permission check regression
    posix-cpu-timers: Always clear head pointer on dequeue
    hrtimer: Add a missing bracket and hide `migration_base' on !SMP
    posix-cpu-timers: Make expiry_active check actually work correctly
    posix-timers: Unbreak CONFIG_POSIX_TIMERS=n build
    tick: Mark sched_timer to expire in hard interrupt context
    hrtimer: Add kernel doc annotation for HRTIMER_MODE_HARD
    x86/hyperv: Hide pv_ops access for CONFIG_PARAVIRT=n
    posix-cpu-timers: Utilize timerqueue for storage
    posix-cpu-timers: Move state tracking to struct posix_cputimers
    posix-cpu-timers: Deduplicate rlimit handling
    posix-cpu-timers: Remove pointless comparisons
    posix-cpu-timers: Get rid of 64bit divisions
    posix-cpu-timers: Consolidate timer expiry further
    posix-cpu-timers: Get rid of zero checks
    rlimit: Rewrite non-sensical RLIMIT_CPU comment
    posix-cpu-timers: Respect INFINITY for hard RTTIME limit
    posix-cpu-timers: Switch thread group sampling to array
    posix-cpu-timers: Restructure expiry array
    posix-cpu-timers: Remove cputime_expires
    ...

    Linus Torvalds
     
  • Pull x86 apic updates from Thomas Gleixner:

    - Cleanup the apic IPI implementation by removing duplicated code and
    consolidating the functions into the APIC core.

    - Implement a safe variant of the IPI broadcast mode. Contrary to
    earlier attempts this uses the core tracking of which CPUs have been
    brought online at least once so that a broadcast does not end up in
    some dead end in BIOS/SMM code when the CPU is still waiting for
    init. Once all CPUs have been brought up once, IPI broadcasting is
    enabled. Before that regular one by one IPIs are issued.

    - Drop the paravirt CR8 related functions as they have no user anymore

    - Initialize the APIC TPR to block interrupt 16-31 as they are reserved
    for CPU exceptions and should never be raised by any well behaving
    device.

    - Emit a warning when vector space exhaustion breaks the admin set
    affinity of an interrupt.

    - Make sure to use the NMI fallback when shutdown via reboot vector IPI
    fails. The original code had conditions which prevent the code path
    to be reached.

    - Annotate various APIC config variables as RO after init.

    [ The ipi broadcase change came in earlier through the cpu hotplug
    branch, but I left the explanation in the commit message since it was
    shared between the two different branches - Linus ]

    * 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (28 commits)
    x86/apic/vector: Warn when vector space exhaustion breaks affinity
    x86/apic: Annotate global config variables as "read-only after init"
    x86/apic/x2apic: Implement IPI shorthands support
    x86/apic/flat64: Remove the IPI shorthand decision logic
    x86/apic: Share common IPI helpers
    x86/apic: Remove the shorthand decision logic
    x86/smp: Enhance native_send_call_func_ipi()
    x86/smp: Move smp_function_call implementations into IPI code
    x86/apic: Provide and use helper for send_IPI_allbutself()
    x86/apic: Add static key to Control IPI shorthands
    x86/apic: Move no_ipi_broadcast() out of 32bit
    x86/apic: Add NMI_VECTOR wait to IPI shorthand
    x86/apic: Remove dest argument from __default_send_IPI_shortcut()
    x86/hotplug: Silence APIC and NMI when CPU is dead
    x86/cpu: Move arch_smt_update() to a neutral place
    x86/apic/uv: Make x2apic_extra_bits static
    x86/apic: Consolidate the apic local headers
    x86/apic: Move apic_flat_64 header into apic directory
    x86/apic: Move ipi header into apic directory
    x86/apic: Cleanup the include maze
    ...

    Linus Torvalds
     
  • Pull core irq updates from Thomas Gleixner:
    "Updates from the irq departement:

    - Update the interrupt spreading code so it handles numa node with
    different CPU counts properly.

    - A large overhaul of the ARM GiCv3 driver to support new PPI and SPI
    ranges.

    - Conversion of all alloc_fwnode() users to use physical addresses
    instead of virtual addresses so the virtual addresses are not
    leaked. The physical address is sufficient to identify the
    associated interrupt chip.

    - Add support for Marvel MMP3, Amlogic Meson SM1 interrupt chips.

    - Enforce interrupt threading at compile time if RT is enabled.

    - Small updates and improvements all over the place"

    * 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (37 commits)
    irqchip/gic-v3-its: Fix LPI release for Multi-MSI devices
    irqchip/uniphier-aidet: Use devm_platform_ioremap_resource()
    irqdomain: Add the missing assignment of domain->fwnode for named fwnode
    irqchip/mmp: Coexist with GIC root IRQ controller
    irqchip/mmp: Mask off interrupts from other cores
    irqchip/mmp: Add missing chained_irq_{enter,exit}()
    irqchip/mmp: Do not use of_address_to_resource() to get mux regs
    irqchip/meson-gpio: Add support for meson sm1 SoCs
    dt-bindings: interrupt-controller: New binding for the meson sm1 SoCs
    genirq/affinity: Remove const qualifier from node_to_cpumask argument
    genirq/affinity: Spread vectors on node according to nr_cpu ratio
    genirq/affinity: Improve __irq_build_affinity_masks()
    irqchip: Remove dev_err() usage after platform_get_irq()
    irqchip: Add include guard to irq-partition-percpu.h
    irqchip/mmp: Do not call irq_set_default_host() on DT platforms
    irqchip/gic-v3-its: Remove the redundant set_bit for lpi_map
    irqchip/gic-v3: Add quirks for HIP06/07 invalid GICD_TYPER erratum 161010803
    irqchip/gic: Skip DT quirks when evaluating IIDR-based quirks
    irqchip/gic-v3: Warn about inconsistent implementations of extended ranges
    irqchip/gic-v3: Add EPPI range support
    ...

    Linus Torvalds
     
  • Pull x86 interrupt updates from Thomas Gleixner:
    "A small set of changes to simplify and improve the interrupt handling
    in do_IRQ() by moving the common case into common code and thereby
    cleaning it up"

    * 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/irq: Check for VECTOR_UNUSED directly
    x86/irq: Move IS_ERR_OR_NULL() check into common do_IRQ() code
    x86/irq: Improve definition of VECTOR_SHUTDOWN et al

    Linus Torvalds
     
  • Pull x86 pti updates from Thomas Gleixner:
    "Two small PTI updates:

    - Handle unaligned addresses gracefully in pti_clone_pagetable(). Not
    an issue with current callers, but a correctness problem. Adds a
    warning so any caller which hands in an unaligned address gets
    pointed out clearly.

    - Prevent PTI functions from being invoked when PTI is disabled at
    boottime. While this does not cause any harm today, it's pointless
    code executed and prone to cause subtle issues if the PTI
    implementation changes internally over time"

    * 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    x86/mm/pti: Do not invoke PTI functions when PTI is disabled
    x86/mm/pti: Handle unaligned address gracefully in pti_clone_pagetable()

    Linus Torvalds
     
  • Pull CPU hotplug updates from Thomas Gleixner:
    "A small update for the SMP hotplug code code:

    - Track "booted once" CPUs in a cpumask so the x86 APIC code has an
    easy way to decide whether broadcast IPIs are safe to use or not.

    - Implement a cpumask_or_equal() helper for the IPI broadcast
    evaluation.

    The above two changes have been also pulled into the x86/apic
    branch for implementing the conditional IPI broadcast feature.

    - Cache the number of online CPUs instead of reevaluating it over and
    over. num_online_cpus() is an unreliable snapshot anyway except
    when it is used outside a cpu hotplug locked region. The cached
    access is not changing this, but it's definitely faster than
    calculating the bitmap wheight especially in hot paths"

    * 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    cpu/hotplug: Cache number of online CPUs
    cpumask: Implement cpumask_or_equal()
    smp/hotplug: Track booted once CPUs in a cpumask

    Linus Torvalds
     
  • Pull timer fix from Thomas Gleixner:
    "A single fix to prevent the alarm timer code from returning ENOTSUPP
    to user space.

    ENOTSUPP is a purely kernel internal error code related to NFSv3 and
    should never be handed back to user space. The risk for ABI breakage
    is low as the number of systems which do not have a working RTC is
    very limited"

    * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
    alarmtimer: Use EOPNOTSUPP instead of ENOTSUPP

    Linus Torvalds