1. 18 Sep, 2019 12 commits
    • Linus Torvalds's avatar
      Merge tag 'driver-core-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core · 1f7d290a
      Linus Torvalds authored
      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 4feaab05) 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
        ...
      1f7d290a
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · fe38bd68
      Linus Torvalds authored
      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
        ...
      fe38bd68
    • Linus Torvalds's avatar
      Merge tag 'for-linus-urgent' of git://git.kernel.org/pub/scm/virt/kvm/kvm · 404e634f
      Linus Torvalds authored
      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
      404e634f
    • Matt Delco's avatar
      KVM: coalesced_mmio: add bounds checking · b60fe990
      Matt Delco authored
      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: 5f94c174 ("KVM: Add coalesced MMIO support (common part)")
      Signed-off-by: default avatarMatt Delco <delco@chromium.org>
      Signed-off-by: default avatarJim Mattson <jmattson@google.com>
      Reported-by: syzbot+983c866c3dd6efa3662a@syzkaller.appspotmail.com
      [Use READ_ONCE. - Paolo]
      Signed-off-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      b60fe990
    • Linus Torvalds's avatar
      Merge tag 'devprop-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 35f7a952
      Linus Torvalds authored
      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()
      35f7a952
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · d2aaa49e
      Linus Torvalds authored
      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
        ...
      d2aaa49e
    • Linus Torvalds's avatar
      Merge tag 'pm-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 77dcfe2b
      Linus Torvalds authored
      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()
        ...
      77dcfe2b
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-5.4-rc1' of git://git.infradead.org/users/vkoul/slave-dma · 04cbfba6
      Linus Torvalds authored
      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
        ...
      04cbfba6
    • Linus Torvalds's avatar
      Merge tag 'leds-for-5.4-rc1' of... · 4feaab05
      Linus Torvalds authored
      Merge tag 'leds-for-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.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
        ...
      4feaab05
    • Linus Torvalds's avatar
      Merge tag 'media/v5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media · e7345f92
      Linus Torvalds authored
      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 <linux/version.h>
        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
        ...
      e7345f92
    • Linus Torvalds's avatar
      Merge tag 'sound-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 6ab8ad31
      Linus Torvalds authored
      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
        ...
      6ab8ad31
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · ea982ba7
      Linus Torvalds authored
      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()
        ...
      ea982ba7
  2. 17 Sep, 2019 28 commits
    • Linus Torvalds's avatar
      Merge tag 'for-5.4/block-2019-09-16' of git://git.kernel.dk/linux-block · 7ad67ca5
      Linus Torvalds authored
      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
        ...
      7ad67ca5
    • Linus Torvalds's avatar
      Merge tag 'for-5.4/libata-2019-09-15' of git://git.kernel.dk/linux-block · 5260c2b8
      Linus Torvalds authored
      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
      5260c2b8
    • Linus Torvalds's avatar
      Merge tag 'for-5.4/io_uring-2019-09-15' of git://git.kernel.dk/linux-block · 1e6fa3a3
      Linus Torvalds authored
      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*()
      1e6fa3a3
    • Linus Torvalds's avatar
      Merge tag 'docs-5.4' of git://git.lwn.net/linux · 7c672abc
      Linus Torvalds authored
      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
        ...
      7c672abc
    • Linus Torvalds's avatar
      Merge branch 'for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/dennis/percpu · 19023141
      Linus Torvalds authored
      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
      19023141
    • Linus Torvalds's avatar
      Merge branch 'for-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 3ee8d6c5
      Linus Torvalds authored
      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()
      3ee8d6c5
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-5.4' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · b8456f94
      Linus Torvalds authored
      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
      b8456f94
    • Linus Torvalds's avatar
      Merge tag 'xtensa-20190917' of git://github.com/jcmvbkbc/linux-xtensa · 6dec8c15
      Linus Torvalds authored
      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
      6dec8c15
    • Linus Torvalds's avatar
      Merge tag 's390-5.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · d5902844
      Linus Torvalds authored
      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
        ...
      d5902844
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://github.com/openrisc/linux · 1e24aaab
      Linus Torvalds authored
      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
      1e24aaab
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu · 16da0961
      Linus Torvalds authored
      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
      16da0961
    • Linus Torvalds's avatar
      Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7f2444d3
      Linus Torvalds authored
      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
        ...
      7f2444d3
    • Linus Torvalds's avatar
      Merge branch 'x86-apic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c5f12fdb
      Linus Torvalds authored
      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
        ...
      c5f12fdb
    • Linus Torvalds's avatar
      Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · a572ba63
      Linus Torvalds authored
      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
        ...
      a572ba63
    • Linus Torvalds's avatar
      Merge branch 'x86-irq-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 258b16ec
      Linus Torvalds authored
      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
      258b16ec
    • Linus Torvalds's avatar
      Merge branch 'x86-pti-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3fb7f3a6
      Linus Torvalds authored
      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()
      3fb7f3a6
    • Linus Torvalds's avatar
      Merge branch 'smp-hotplug-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 3cd04622
      Linus Torvalds authored
      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
      3cd04622
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 16208cd6
      Linus Torvalds authored
      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
      16208cd6
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-misc' and 'acpi-doc' · 0b3e7973
      Rafael J. Wysocki authored
      * acpi-misc:
        ACPI: thermal: Remove redundant acpi_has_method() calls
        ACPI: SBS: remove unused const variable 'SMBUS_PEC'
      
      * acpi-doc:
        Documentation: ACPI: DSD: Convert LED documentation to ReST
      0b3e7973
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-apei', 'acpi-processor', 'acpi-tables', 'acpi-pci' and 'acpi-soc' · a781f393
      Rafael J. Wysocki authored
      * acpi-apei:
        ACPI / APEI: Release resources if gen_pool_add() fails
        ACPI / APEI: Get rid of NULL_UUID_LE constant
      
      * acpi-processor:
        ACPI / processor: don't print errors for processorIDs == 0xff
      
      * acpi-tables:
        ACPI: custom_method: fix memory leaks
        HMAT: Skip publishing target info for nodes with no online memory
        HMAT: Register attributes for memory hot add
        HMAT: Register memory-side cache after parsing
      
      * acpi-pci:
        ACPI / PCI: fix acpi_pci_irq_enable() memory leak
        ACPI/PCI: Remove surplus parentheses from a return statement
      
      * acpi-soc:
        ACPI / LPSS: Save/restore LPSS private registers also on Lynxpoint
      a781f393
    • Rafael J. Wysocki's avatar
      Merge branch 'acpica' · 522778cd
      Rafael J. Wysocki authored
      * acpica:
        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
      522778cd
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-opp', 'pm-qos', 'acpi-pm', 'pm-domains' and 'pm-tools' · fc6763a2
      Rafael J. Wysocki authored
      * pm-opp:
        PM / OPP: Correct Documentation about library location
        opp: of: Support multiple suspend OPPs defined in DT
        dt-bindings: opp: Support multiple opp-suspend properties
        opp: core: add regulators enable and disable
        opp: Don't decrement uninitialized list_kref
      
      * pm-qos:
        PM: QoS: Get rid of unused flags
      
      * acpi-pm:
        ACPI: PM: Print debug messages on device power state changes
      
      * pm-domains:
        PM / Domains: Verify PM domain type in dev_pm_genpd_set_performance_state()
        PM / Domains: Simplify genpd_lookup_dev()
        PM / Domains: Align in-parameter names for some genpd functions
      
      * pm-tools:
        pm-graph: make setVal unbuffered again for python2 and python3
        cpupower: update German translation
        tools/power/cpupower: fix 64bit detection when cross-compiling
        cpupower: Add missing newline at end of file
        pm-graph v5.5
      fc6763a2
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-devfreq' · 031f469e
      Rafael J. Wysocki authored
      * pm-devfreq: (28 commits)
        PM / devfreq: passive: fix compiler warning
        PM / devfreq: passive: Use non-devm notifiers
        PM / devfreq: exynos-bus: Convert to use dev_pm_opp_set_rate()
        PM / devfreq: exynos-bus: Correct clock enable sequence
        PM / devfreq: Correct devm_devfreq_remove_device() documentation
        PM / devfreq: events: extend events by type of counted data
        PM / devfreq: exynos-events: change matching code during probe
        PM / devfreq: tegra20: add COMMON_CLK dependency
        PM / devfreq: events: add Exynos PPMU new events
        PM / devfreq: Fix kernel oops on governor module load
        PM / devfreq: rk3399_dmc: Fix spelling typo
        PM / devfreq: Fix spelling typo
        PM / devfreq: Introduce driver for NVIDIA Tegra20
        PM / devfreq: tegra: Rename tegra-devfreq.c to tegra30-devfreq.c
        PM / devfreq: tegra: Enable COMPILE_TEST for the driver
        PM / devfreq: tegra: Support Tegra30
        PM / devfreq: tegra: Reconfigure hardware on governor's restart
        PM / devfreq: tegra: Move governor registration to driver's probe
        PM / devfreq: tegra: Mark ACTMON's governor as immutable
        PM / devfreq: tegra: Avoid inconsistency of current frequency value
        ...
      031f469e
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · ca61a72a
      Rafael J. Wysocki authored
      * pm-cpufreq: (36 commits)
        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
        sched/cpufreq: Align trace event behavior of fast switching
        ACPI: cpufreq: Switch to QoS requests instead of cpufreq notifier
        video: pxafb: Remove cpufreq policy notifier
        video: sa1100fb: Remove cpufreq policy notifier
        arch_topology: Use CPUFREQ_CREATE_POLICY instead of CPUFREQ_NOTIFY
        cpufreq: powerpc_cbe: Switch to QoS requests for freq limits
        cpufreq: powerpc: macintosh: Switch to QoS requests for freq limits
        cpufreq: Print driver name if cpufreq_suspend() fails
        cpufreq: mediatek: Add support for mt8183
        cpufreq: mediatek: change to regulator_get_optional
        cpufreq: imx-cpufreq-dt: Add i.MX8MN support
        cpufreq: Use imx-cpufreq-dt for i.MX8MN's speed grading
        ...
      ca61a72a
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpuidle' · 2cdd5cc7
      Rafael J. Wysocki authored
      * pm-cpuidle:
        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()
        powercap: idle_inject: Use higher resolution for idle injection
        cpuidle: play_idle: Increase the resolution to usec
        cpuidle-haltpoll: vcpu hotplug support
        cpuidle: teo: Get rid of redundant check in teo_update()
        cpuidle: teo: Allow tick to be stopped if PM QoS is used
        cpuidle: menu: Allow tick to be stopped if PM QoS is used
        cpuidle: header file stubs must be "static inline"
        cpuidle-haltpoll: disable host side polling when kvm virtualized
        cpuidle: add haltpoll governor
        governors: unify last_state_idx
        cpuidle: add poll_limit_ns to cpuidle_device structure
        add cpuidle-haltpoll driver
      2cdd5cc7
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-sleep' · d2817063
      Rafael J. Wysocki authored
      * pm-sleep: (29 commits)
        ACPI: PM: s2idle: Always set up EC GPE for system wakeup
        ACPI: PM: s2idle: Avoid rearming SCI for wakeup unnecessarily
        PM / wakeup: Unexport wakeup_source_sysfs_{add,remove}()
        PM / wakeup: Register wakeup class kobj after device is added
        PM / wakeup: Fix sysfs registration error path
        PM / wakeup: Show wakeup sources stats in sysfs
        PM / wakeup: Use wakeup_source_register() in wakelock.c
        PM / wakeup: Drop wakeup_source_init(), wakeup_source_prepare()
        PM: sleep: Replace strncmp() with str_has_prefix()
        PM: suspend: Fix platform_suspend_prepare_noirq()
        intel-hid: Disable button array during suspend-to-idle
        intel-hid: intel-vbtn: Avoid leaking wakeup_mode set
        ACPI: PM: s2idle: Execute LPS0 _DSM functions with suspended devices
        ACPI: EC: PM: Make acpi_ec_dispatch_gpe() print debug message
        ACPI: EC: PM: Consolidate some code depending on PM_SLEEP
        ACPI: PM: s2idle: Eliminate acpi_sleep_no_ec_events()
        ACPI: PM: s2idle: Switch EC over to polling during "noirq" suspend
        ACPI: PM: s2idle: Add acpi.sleep_no_lps0 module parameter
        ACPI: PM: s2idle: Rearrange lps0_device_attach()
        PM/sleep: Expose suspend stats in sysfs
        ...
      d2817063
    • Rafael J. Wysocki's avatar
      Merge suspend-to-idle rework material for v5.4. · 1b531e55
      Rafael J. Wysocki authored
      * pm-s2idle-rework: (21 commits)
        ACPI: PM: s2idle: Always set up EC GPE for system wakeup
        ACPI: PM: s2idle: Avoid rearming SCI for wakeup unnecessarily
        PM: suspend: Fix platform_suspend_prepare_noirq()
        intel-hid: Disable button array during suspend-to-idle
        intel-hid: intel-vbtn: Avoid leaking wakeup_mode set
        ACPI: PM: s2idle: Execute LPS0 _DSM functions with suspended devices
        ACPI: EC: PM: Make acpi_ec_dispatch_gpe() print debug message
        ACPI: EC: PM: Consolidate some code depending on PM_SLEEP
        ACPI: PM: s2idle: Eliminate acpi_sleep_no_ec_events()
        ACPI: PM: s2idle: Switch EC over to polling during "noirq" suspend
        ACPI: PM: s2idle: Add acpi.sleep_no_lps0 module parameter
        ACPI: PM: s2idle: Rearrange lps0_device_attach()
        ACPI: PM: Set up EC GPE for system wakeup from drivers that need it
        PM: sleep: Drop dpm_noirq_begin() and dpm_noirq_end()
        PM: sleep: Integrate suspend-to-idle with generig suspend flow
        PM: sleep: Simplify suspend-to-idle control flow
        ACPI: PM: Set s2idle_wakeup earlier and clear it later
        PM: sleep: Fix possible overflow in pm_system_cancel_wakeup()
        ACPI: EC: Return bool from acpi_ec_dispatch_gpe()
        ACPICA: Return u32 from acpi_dispatch_gpe()
        ...
      1b531e55
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.4-1' of git://git.infradead.org/linux-platform-drivers-x86 · ad062195
      Linus Torvalds authored
      Pull x86 platform-drivers updates from Andy Shevchenko:
      
       - ASUS WMI driver got a couple of updates, i.e. support of FAN is fixed
         for recent products and the charge threshold support has been added
      
       - Two uknown key events for Dell laptops are being ignored now to avoid
         spamming users with harmless messages
      
       - HP ZBook 17 G5 and ASUS Zenbook UX430UNR got accelerometer support.
      
       - Intel CherryTrail platforms had a regression with wake up. Now it's
         fixed
      
       - Intel PMC driver got fixed in order to work nicely in Xen
         environment
      
       - Intel Speed Select driver provides bucket vs core count relationship.
         Besides that the tools has been updated for better output
      
       - The PrivacyGuard is enabled on Lenovo ThinkPad laptops
      
       - Three tablets - Trekstor Primebook C11B 2-in-1, Irbis TW90 and Chuwi
         Surbook Mini - got touchscreen support
      
      * tag 'platform-drivers-x86-v5.4-1' of git://git.infradead.org/linux-platform-drivers-x86: (53 commits)
        MAINTAINERS: Switch PDx86 subsystem status to Odd Fixes
        platform/x86: asus-wmi: Refactor charge threshold to use the battery hooking API
        platform/x86: asus-wmi: Rename CHARGE_THRESHOLD to RSOC
        platform/x86: asus-wmi: Reorder ASUS_WMI_CHARGE_THRESHOLD
        tools/power/x86/intel-speed-select: Display core count for bucket
        platform/x86: ISST: Allow additional TRL MSRs
        tools/power/x86/intel-speed-select: Fix memory leak
        tools/power/x86/intel-speed-select: Output success/failed for command output
        tools/power/x86/intel-speed-select: Output human readable CPU list
        tools/power/x86/intel-speed-select: Change turbo ratio output to maximum turbo frequency
        tools/power/x86/intel-speed-select: Switch output to MHz
        tools/power/x86/intel-speed-select: Simplify output for turbo-freq and base-freq
        tools/power/x86/intel-speed-select: Fix cpu-count output
        tools/power/x86/intel-speed-select: Fix help option typo
        tools/power/x86/intel-speed-select: Fix package typo
        tools/power/x86/intel-speed-select: Fix a read overflow in isst_set_tdp_level_msr()
        platform/x86: intel_int0002_vgpio: Use device_init_wakeup
        platform/x86: intel_int0002_vgpio: Fix wakeups not working on Cherry Trail
        platform/x86: compal-laptop: Initialize "value" in ec_read_u8()
        platform/x86: touchscreen_dmi: Add info for the Trekstor Primebook C11B 2-in-1
        ...
      ad062195