1. 14 Aug, 2018 40 commits
    • Erik Schmauss's avatar
      ACPICA: AML Parser: skip opcodes that open a scope upon parse failure · 4a7c94c7
      Erik Schmauss authored
      This change skips the entire length of opcodes that open a scope
      (Device, Scope, Processor, etc) if the creation of the op fails. The
      failure could be caused by various errors including AE_ALREADY_EXISTS
      and AE_NOT_FOUND.
      Reported-by: default avatarJeremy Linton <jeremy.linton@arm.com>
      Tested-by: default avatarJeremy Linton <jeremy.linton@arm.com>
      Signed-off-by: default avatarErik Schmauss <erik.schmauss@intel.com>
      Cc: 4.17+ <stable@vger.kernel.org> # 4.17+
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      4a7c94c7
    • Erik Schmauss's avatar
      ACPICA: Utilities: split hex detection into smaller functions · 089b2bec
      Erik Schmauss authored
      acpi_ut_implicit_strtoul64() called acpi_ut_detect_hex_prefix() and
      ignored the return value. Instead, use acpi_ut_remove_hex_prefix().
      Signed-off-by: default avatarErik Schmauss <erik.schmauss@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      089b2bec
    • Bob Moore's avatar
      ACPICA: Update an error message for a duplicate table · 8a55c696
      Bob Moore authored
      In this case, the exception AE_ALREADY_EXISTS is more
      appropriate.
      Signed-off-by: default avatarBob Moore <robert.moore@intel.com>
      Signed-off-by: default avatarErik Schmauss <erik.schmauss@intel.com>
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      8a55c696
    • Erik Schmauss's avatar
      ACPICA: ACPICA: add status check for acpi_hw_read before assigning return value · f016b19a
      Erik Schmauss authored
      The value coming from acpi_hw_read() should not be used if it
      returns an error code, so check the status returned by it before
      using that value in two places in acpi_hw_register_read().
      Reported-by: default avatarMark Gross <mark.gross@intel.com>
      Signed-off-by: default avatarErik Schmauss <erik.schmauss@intel.com>
      [ rjw: Changelog ]
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      f016b19a
    • Erik Schmauss's avatar
      ACPICA: AML Parser: ignore all exceptions resulting from incorrect AML during table load · d46b6537
      Erik Schmauss authored
      Macros to classify different AML exception codes have been added in
      order to ignore the exceptions,
      Signed-off-by: default avatarErik Schmauss <erik.schmauss@intel.com>
      [ rjw: Fix damaged white space ]
      Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
      d46b6537
    • Linus Torvalds's avatar
      Merge tag 'acpi-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 2c20443e
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These revert two ACPICA commits that are not needed any more, rework
        the property graphs support in ACPI to be more aligned with the
        analogous DT code, add some new quirks and remove one that isn't
        needed any more, add a special platform driver to enumerate multiple
        I2C devices hooked up to the same device object in the ACPI tables and
        update the battery and button drivers.
      
        Specifics:
      
         - Revert two ACPICA commits that are not needed any more (Erik
           Schmauss).
      
         - Rework property graph support in the ACPI device properties
           framework to make it behave more like the analogous DT code and
           update the documentation of it (Sakari Ailus).
      
         - Change the default ACPI device status after initialization to
           ACPI_STA_DEFAULT instead of 0 (Hans de Goede).
      
         - Add a special platform driver for enumerating multiple I2C devices
           hooked up to the same object in the ACPI tables (Hans de Goede).
      
         - Fix the ACPI battery driver to avoid reporting full capacity on
           systems without support for that and clean it up (Hans de Goede,
           Dmitry Rozhkov, Lucas Rangit Magasweran).
      
         - Add two system wakeup quirks to the ACPI EC driver (Aaron Ma, Mika
           Westerberg).
      
         - Add the touchscreen on Dell Venue Pro 7139 to the list of "always
           present" devices to make it work (Tristian Celestin).
      
         - Revert a special tables handling quirk for Dell XPS 9570 and
           Precision M5530 which is not needed any more (Kai Heng Feng).
      
         - Add support for a new OEM _OSI string to allow system vendors to
           work around issues with NVidia HDMI audio (Alex Hung).
      
         - Prevent the ACPI button driver from reporting excessive system
           wakeup events and clean it up (Ravi Chandra Sadineni, Randy
           Dunlap).
      
         - Clean up two minor code style issues in the ACPI core and GHES
           handling on ARM64 (Dongjiu Geng, John Garry, Tom Todd)"
      
      * tag 'acpi-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (34 commits)
        platform/x86: Add ACPI i2c-multi-instantiate pseudo driver
        ACPI / x86: utils: Remove status workaround from acpi_device_always_present()
        ACPI / scan: Create platform device for fwnodes with multiple i2c devices
        ACPI / scan: Initialize status to ACPI_STA_DEFAULT
        ACPI / EC: Add another entry for Thinkpad X1 Carbon 6th
        ACPI: bus: Fix a pointer coding style issue
        arm64 / ACPI: clean the additional checks before calling ghes_notify_sea()
        ACPI / scan: Add static attribute to indirect_io_hosts[]
        ACPI / battery: Do not export energy_full[_design] on devices without full_charge_capacity
        ACPI / EC: Use ec_no_wakeup on ThinkPad X1 Yoga 3rd
        ACPI / battery: get rid of negations in conditions
        ACPI / battery: use specialized print macros
        ACPI / battery: reorder headers alphabetically
        ACPI / battery: drop inclusion of init.h
        ACPI: battery: remove redundant old_present check on insertion
        ACPI: property: graph: Update graph documentation to use generic references
        ACPI: property: graph: Improve graph documentation for port/ep numbering
        ACPI: property: graph: Fix graph documentation
        ACPI: property: Update documentation for hierarchical data extension 1.1
        ACPI: property: Document key numbering for hierarchical data extension refs
        ...
      2c20443e
    • Linus Torvalds's avatar
      Merge tag 'pm-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · b018fc98
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "These add a new framework for CPU idle time injection, to be used by
        all of the idle injection code in the kernel in the future, fix some
        issues and add a number of relatively small extensions in multiple
        places.
      
        Specifics:
      
         - Add a new framework for CPU idle time injection (Daniel Lezcano).
      
         - Add AVS support to the armada-37xx cpufreq driver (Gregory
           CLEMENT).
      
         - Add support for current CPU frequency reporting to the ACPI CPPC
           cpufreq driver (George Cherian).
      
         - Rework the cooling device registration in the imx6q/thermal driver
           (Bastian Stender).
      
         - Make the pcc-cpufreq driver refuse to work with dynamic scaling
           governors on systems with many CPUs to avoid scalability issues
           with it (Rafael Wysocki).
      
         - Fix the intel_pstate driver to report different maximum CPU
           frequencies on systems where they really are different and to
           ignore the turbo active ratio if hardware-managend P-states (HWP)
           are in use; make it use the match_string() helper (Xie Yisheng,
           Srinivas Pandruvada).
      
         - Fix a minor deferred probe issue in the qcom-kryo cpufreq driver
           (Niklas Cassel).
      
         - Add a tracepoint for the tracking of frequency limits changes (from
           Andriod) to the cpufreq core (Ruchi Kandoi).
      
         - Fix a circular lock dependency between CPU hotplug and sysfs
           locking in the cpufreq core reported by lockdep (Waiman Long).
      
         - Avoid excessive error reports on driver registration failures in
           the ARM cpuidle driver (Sudeep Holla).
      
         - Add a new device links flag to the driver core to make links go
           away automatically on supplier driver removal (Vivek Gautam).
      
         - Eliminate potential race condition between system-wide power
           management transitions and system shutdown (Pingfan Liu).
      
         - Add a quirk to save NVS memory on system suspend for the ASUS 1025C
           laptop (Willy Tarreau).
      
         - Make more systems use suspend-to-idle (instead of ACPI S3) by
           default (Tristian Celestin).
      
         - Get rid of stack VLA usage in the low-level hibernation code on
           64-bit x86 (Kees Cook).
      
         - Fix error handling in the hibernation core and mark an expected
           fall-through switch in it (Chengguang Xu, Gustavo Silva).
      
         - Extend the generic power domains (genpd) framework to support
           attaching a device to a power domain by name (Ulf Hansson).
      
         - Fix device reference counting and user limits initialization in the
           devfreq core (Arvind Yadav, Matthias Kaehlcke).
      
         - Fix a few issues in the rk3399_dmc devfreq driver and improve its
           documentation (Enric Balletbo i Serra, Lin Huang, Nick Milner).
      
         - Drop a redundant error message from the exynos-ppmu devfreq driver
           (Markus Elfring)"
      
      * tag 'pm-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (35 commits)
        PM / reboot: Eliminate race between reboot and suspend
        PM / hibernate: Mark expected switch fall-through
        cpufreq: intel_pstate: Ignore turbo active ratio in HWP
        cpufreq: Fix a circular lock dependency problem
        cpu/hotplug: Add a cpus_read_trylock() function
        x86/power/hibernate_64: Remove VLA usage
        cpufreq: trace frequency limits change
        cpufreq: intel_pstate: Show different max frequency with turbo 3 and HWP
        cpufreq: pcc-cpufreq: Disable dynamic scaling on many-CPU systems
        cpufreq: qcom-kryo: Silently error out on EPROBE_DEFER
        cpufreq / CPPC: Add cpuinfo_cur_freq support for CPPC
        cpufreq: armada-37xx: Add AVS support
        dt-bindings: marvell: Add documentation for the Armada 3700 AVS binding
        PM / devfreq: rk3399_dmc: Fix duplicated opp table on reload.
        PM / devfreq: Init user limits from OPP limits, not viceversa
        PM / devfreq: rk3399_dmc: fix spelling mistakes.
        PM / devfreq: rk3399_dmc: do not print error when get supply and clk defer.
        dt-bindings: devfreq: rk3399_dmc: move interrupts to be optional.
        PM / devfreq: rk3399_dmc: remove wait for dcf irq event.
        dt-bindings: clock: add rk3399 DDR3 standard speed bins.
        ...
      b018fc98
    • Linus Torvalds's avatar
      Merge tag 'leds-for-4.19-rc1' of... · c07b3682
      Linus Torvalds authored
      Merge tag 'leds-for-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds
      
      Pull LED updates from Jacek Anaszewski:
       "LED triggers improvements make the biggest part of this pull request.
        The most striking ones, that allowed for nice cleanups in the triggers
        are:
      
         - centralized handling of creation and removal of trigger sysfs
           attributes via attribute group
      
         - addition of module_led_trigger() helper
      
        The other things that need to be mentioned:
      
        New features and improvements to existing LED class drivers:
      
         - lt3593: add DT support, switch to gpiod interface
      
         - lm3692x: support LED sync configuration, change OF calls to fwnode
           calls
      
         - apu: modify PC Engines apu/apu2 driver to support apu3
      
        Change in the drivers/net/can/led.c:
      
         - mark led trigger as broken since it's in the way for the further
           cleanups. It implements a subset of the netdev trigger and an Ack
           is needed from someone who can actually test and confirm that the
           netdev trigger works for can devices"
      
      * tag 'leds-for-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/j.anaszewski/linux-leds: (32 commits)
        leds: ns2: Change unsigned to unsigned int
        usb: simplify usbport trigger
        leds: gpio trigger: simplifications from core changes
        leds: backlight trigger: simplifications from core changes
        leds: activity trigger: simplifications from core changes
        leds: default-on trigger: make use of module_led_trigger()
        leds: heartbeat trigger: simplifications from core changes
        leds: oneshot trigger: simplifications from core changes
        leds: transient trigger: simplifications from core changes
        leds: timer trigger: simplifications from core changes
        leds: netdev trigger: simplifications from core changes
        leds: triggers: new function led_set_trigger_data()
        leds: triggers: define module_led_trigger helper
        leds: triggers: handle .trigger_data and .activated() in the core
        leds: triggers: add device attribute support
        leds: triggers: let struct led_trigger::activate() return an error code
        leds: triggers: make the MODULE_LICENSE string match the actual license
        leds: lm3692x: Support LED sync configuration
        dt: bindings: lm3692x: Update binding for LED sync control
        leds: lm3692x: Change DT calls to fwnode calls
        ...
      c07b3682
    • Linus Torvalds's avatar
      Merge tag 'devicetree-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · 4d88e3d2
      Linus Torvalds authored
      Pull Devicetree updates from Rob Herring:
      
       - Remove an obsolete hack for PPC32 longtrail systems
      
       - Make of_io_request_and_map() "name" arg optional
      
       - Add vendor prefixes for bitmain, Asus, and Y Soft
      
       - Remove 'interrupt-parent' from bindings as it is implicit
      
       - New properties for wm8994 audio codec
      
       - Add 'clocks' property support to SRAM binding
      
       - Add binding for ASPEED coprocessor interrupt controller
      
       - Various binding spelling and link fixes
      
      * tag 'devicetree-for-4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        Documentation: remove dynamic-resolution-notes reference to non-existent file
        dt-bindings: Add Y Soft Corporation vendor prefix
        of/fdt: Remove PPC32 longtrail hack in memory scan
        dt-bindings: remove 'interrupt-parent' from bindings
        pinctrl: tegra: fix spelling in devicetree binding document
        usb: dwc3: rockchip: Fix PHY documentation links.
        dt-bindings: sound: wm8994: document wlf,csnaddr-pd property
        dt-bindings: sound: wm8994: document wlf,spkmode-pu property
        dt-bindings: sram: Add 'clocks' as an optional property
        dt-bindings: Add vendor prefix for AsusTek Computer Inc.
        dt-bindings: misc: ASPEED coprocessor interrupt controller
        dt-bindings: gpio: pca953x: Document interrupts, update example
        drivers/of: Make of_io_request_and_map() "name" argument optional
        dt-bindings: Add bitmain vendor prefix
        Documentation: devicetree: tilcdc: fix spelling mistake "suppors" -> "supports"
      4d88e3d2
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · c6ed444f
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "This is the bulk of pin control changes for v4.19:
      
        Core changes:
      
         - Augment pinctrl_generic_add_group() and pinmux_generic_add_function()
           to return the selector for the added group/function to the caller
           and augment (hopefully) all drivers to handle this
      
        New subdrivers:
      
         - Qualcomm PM8998 and PM8005 are supported in the SPMI pin control
           and GPIO driver
      
         - Intel Ice Lake PCH (platform controller hub) support
      
         - NXP (ex Freescale) i.MX8MQ support
      
         - Berlin AS370 support
      
        Improvements to drivers:
      
         - Support interrupts on the Ocelot pin controller
      
         - Add SPI pins to the Uniphier driver
      
         - Define a GPIO compatible per SoC in the Tegra driver
      
         - Push Tegra initialization down in the initlevels
      
         - Support external wakeup interrupts on the Exynos
      
         - Add generic clocks pins to the meson driver
      
         - Add USB and HSCIF pins for some Renesas PFC chips
      
         - Suspend/resume support in the armada-37xx
      
         - Interrupt support for the Actions Semiconductor S900 also known as
           "owl"
      
         - Correct the pin ordering in Cedarfork
      
         - Debugfs output for INTF in the mcp23s08 driver
      
         - Avoid divisions in context save/restore in pinctrl-single
      
        The rest is minor bug fixes or cleanups"
      
      * tag 'pinctrl-v4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (69 commits)
        pinctrl: nomadik: silence uninitialized variable warning
        pinctrl: axp209: Fix NULL pointer dereference after allocation
        pinctrl: samsung: Remove duplicated "wakeup" in printk
        pinctrl: ocelot: add support for interrupt controller
        pinctrl: intel: Don't shadow error code of gpiochip_lock_as_irq()
        pinctrl: berlin: fix 'pctrl->functions' allocation in berlin_pinctrl_build_state
        gpio: tegra: Move driver registration to subsys_init level
        pinctrl: tegra: Move drivers registration to arch_init level
        pinctrl: baytrail: actually print the apparently misconfigured pin
        MAINTAINERS: Replace Heikki as maintainer of Intel pinctrl
        pinctrl: freescale: off by one in imx1_pinconf_group_dbg_show()
        pinctrl: uniphier: add spi pin-mux settings
        pinctrl: cannonlake: Fix community ordering for H variant
        pinctrl: tegra: define GPIO compatible node per SoC
        pinctrl: intel: Do pin translation when lock IRQ
        pinctrl: imx: off by one in imx_pinconf_group_dbg_show()
        pinctrl: mediatek: include chained_irq.h header
        pinctrl/amd: only handle irq if it is pending and unmasked
        pinctrl/amd: fix gpio irq level in debugfs
        pinctrl: stm32: add syscfg mask parameter
        ...
      c6ed444f
    • Linus Torvalds's avatar
      Merge tag 'regulator-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 3860cae6
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "The biggest set of changes in here is the addition of the Qualcomm
        RPMH driver. As well as the regualtor driver itself being quite large
        due to the usual involved Qualcomm regulator stuff there's also some
        code shared with the arm-soc tree, a bus driver required to
        communicate with the hardware that actually winds up being much larger
        than the regulator driver itself and a LLCC driver that was part of
        the same signed tag used with the arm-soc tree.
      
        Other than that it's a fairly standard and quiet release, highlights
        include:
      
         - Addition of device links from regulator consumers to their
           regulators, helping the core avoid dependency issues during
           suspend.
      
         - Support for the entertainingly innovative suspend implementation in
           the BD9571MWV.
      
         - Support for switch regulators on the PFUZE100, this required two
           goes due to backwards compatibility issues with old DTs that were
           discovered.
      
         - Support for Freescale PFUZE3001 and SocioNext UniPhier.
      
         - The aforementioned Qualcomm RPMH driver together with the driver
           changes required to support it"
      
      * tag 'regulator-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (52 commits)
        regulator: add QCOM RPMh regulator driver
        regulator: dt-bindings: add QCOM RPMh regulator bindings
        regulator: samsung: Add SPDX license identifiers
        regulator: maxim: Add SPDX license identifiers
        regulator: bd71837: adobt MFD changes to regulator driver
        regulator: tps65217: Fix NULL pointer dereference on probe
        regulator: Add support for CPCAP regulators on Motorola Xoom devices.
        regulator: Add sw2_sw4 voltage table to cpcap regulator.
        regulator: bd9571mwv: Make symbol 'dev_attr_backup_mode' static
        regulator: pfuze100: add support to en-/disable switch regulators
        regulator: pfuze100: add optional disable switch-regulators binding
        soc: qcom: rmtfs-mem: fix memleak in probe error paths
        soc: qcom: llc-slice: Add missing MODULE_LICENSE()
        drivers: qcom: rpmh: fix unwanted error check for get_tcs_of_type()
        drivers: qcom: rpmh-rsc: fix the loop index check in get_req_from_tcs
        firmware: qcom: scm: add a dummy qcom_scm_assign_mem()
        drivers: qcom: rpmh-rsc: Check cmd_db_ready() to help children
        drivers: qcom: rpmh-rsc: allow active requests from wake TCS
        drivers: qcom: rpmh: add support for batch RPMH request
        drivers: qcom: rpmh: allow requests to be sent asynchronously
        ...
      3860cae6
    • Linus Torvalds's avatar
      Merge tag 'spi-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 010b0e70
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "Quite an active release for the SPI subsystem, lots of small updates
        and fixes scattered about with highlights including:
      
         - 3-wire support in the GPIO driver.
      
         - support for setting a custom memory name in the memory mapped flash
           drivers.
      
         - support for extended mode in the Freescale DSPI controller.
      
         - support for the non-standard integration with the Microsemi Ocelot
           platform in the DesignWare driver.
      
         - new driver for the SocioNext UniPhier"
      
      * tag 'spi-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (47 commits)
        spi: davinci: fix a NULL pointer dereference
        spi: spi-mem: Constify spi_mem->name
        mtd: m25p80: Call spi_mem_get_name() to let controller set a custom name
        spi: spi-mem: Extend the SPI mem interface to set a custom memory name
        spi: spi-mem: Fix a typo in the documentation of struct spi_mem
        spi: uniphier: remove unnecessary include headers
        spi: spi-gpio: add SPI_3WIRE support
        spi: add flags parameter to txrx_word function pointers
        spi: add SPI controller driver for UniPhier SoC
        spi: add DT bindings for UniPhier SPI controller
        spi: dw: document Microsemi integration
        spi: img-spfi: Set device select bits for SPFI port state
        spi: omap2-mcspi: remove several redundant variables
        spi: dw-mmio: add MSCC Ocelot support
        spi: dw: export dw_spi_set_cs
        spi: spi-fsl-espi: Log fifo counters on error
        spi: imx: Use the longuest possible burst size when in dynamic_burst
        spi: imx: remove unnecessary check in spi_imx_can_dma
        spi: imx: Use correct number of bytes per words
        spi: imx: Use dynamic bursts only when bits_per_word is 8, 16 or 32
        ...
      010b0e70
    • Vlastimil Babka's avatar
      x86/init: fix build with CONFIG_SWAP=n · 792adb90
      Vlastimil Babka authored
      The introduction of generic_max_swapfile_size and arch-specific versions has
      broken linking on x86 with CONFIG_SWAP=n due to undefined reference to
      'generic_max_swapfile_size'. Fix it by compiling the x86-specific
      max_swapfile_size() only with CONFIG_SWAP=y.
      Reported-by: default avatarTomas Pruzina <pruzinat@gmail.com>
      Fixes: 377eeaa8 ("x86/speculation/l1tf: Limit swap file size to MAX_PA/2")
      Signed-off-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      792adb90
    • Linus Torvalds's avatar
      Merge tag 'regmap-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 15bc88cd
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "Several small new features for regmap this time around:
      
         - Support for SCCB, an I2C variant used on some media cards. This has
           also pulled in an I2C commit from Peter Rosin as a dependency.
      
         - Addition of an API for reading repeatedly from registers where the
           address doesn't automatically increment like some ADC outputs or
           GPIO status registers.
      
         - Support for bulk I/O on Slimbus"
      
      * tag 'regmap-v4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: Add regmap_noinc_read API
        regmap: sccb: fix typo and sort headers alphabetically
        i2c: smbus: add unlocked __i2c_smbus_xfer variant
        regmap: add SCCB support
        regmap: slimbus: add support to multi read/write
      15bc88cd
    • Linus Torvalds's avatar
      Merge tag 'configfs-for-4.19' of git://git.infradead.org/users/hch/configfs · be718b52
      Linus Torvalds authored
      Pull configfs updates from Christoph Hellwig:
      
       - simplify the cide by using kvasprintf (Bart Van Assche)
      
       - fix a gcc 8 string truncation warning by making the code simpler
         (Guenter Roeck)
      
       - fix a bug in rmdir() handling (Mike Christie)
      
      * tag 'configfs-for-4.19' of git://git.infradead.org/users/hch/configfs:
        configfs: fix registered group removal
        configfs: replace strncpy with memcpy
        configfs: use kvasprintf() instead of open-coding it
      be718b52
    • Linus Torvalds's avatar
      Merge tag 'dma-mapping-4.19' of git://git.infradead.org/users/hch/dma-mapping · f66dc723
      Linus Torvalds authored
      Pull dma-mapping updates from Christoph Hellwig:
      
       - a series from Robin to fix bus imposed dma limits by adding a
         separate mask for them to struct device instead of trying to squeeze
         a second meaning out of the existing dma mask as we did before.
      
         This has ACKs from the various other subsystems touched
      
       - a small swiotlb cleanup from Kees (acked by Konrad)
      
       - conversion of nios2 and sh to the new generic dma-noncoherent code.
      
         Various other architecture conversions will come through the
         architectures maintainers trees.
      
      * tag 'dma-mapping-4.19' of git://git.infradead.org/users/hch/dma-mapping:
        sh: use generic dma_noncoherent_ops
        sh: split arch/sh/mm/consistent.c
        sh: use dma_direct_ops for the CONFIG_DMA_COHERENT case
        sh: introduce a sh_cacheop_vaddr helper
        sh: simplify get_arch_dma_ops
        OF: Don't set default coherent DMA mask
        ACPI/IORT: Don't set default coherent DMA mask
        iommu/dma: Respect bus DMA limit for IOVAs
        of/device: Set bus DMA mask as appropriate
        ACPI/IORT: Set bus DMA mask as appropriate
        dma-mapping: Generalise dma_32bit_limit flag
        ACPI/IORT: Support address size limit for root complexes
        of/platform: Initialise default DMA masks
        nios2: use generic dma_noncoherent_ops
        swiotlb: clean up reporting
        dma-mapping: relax warning for per-device areas
      f66dc723
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md · b219a1d2
      Linus Torvalds authored
      Pull MD updates from Shaohua Li:
       "A few MD fixes for 4.19-rc1:
      
         - several md-cluster fixes from Guoqing
      
         - a data corruption fix from BingJing
      
         - other cleanups"
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
        md/raid5: fix data corruption of replacements after originals dropped
        drivers/md/raid5: Do not disable irq on release_inactive_stripe_list() call
        drivers/md/raid5: Use irqsave variant of atomic_dec_and_lock()
        md/r5cache: remove redundant pointer bio
        md-cluster: don't send msg if array is closing
        md-cluster: show array's status more accurate
        md-cluster: clear another node's suspend_area after the copy is finished
      b219a1d2
    • Linus Torvalds's avatar
      Merge tag 'mtd/for-4.19' of git://git.infradead.org/linux-mtd · c2fc71c9
      Linus Torvalds authored
      Pull mtd updates from Boris Brezillon:
       "JFFS2 changes:
         - Support 64-bit timestamps
      
        MTD core changes:
         - Support sub-partitions
         - Clarify mtd_oob_ops documentation
         - Make Kconfig formatting consistent
         - Fix potential overflows in mtdchar_{write,read}()
         - Fallback to ->_{read,write}() when ->_{read,write}_oob() is missing
           and no OOB data were requested
         - Remove VLA usage in the bch lib
      
        MTD driver changes:
         - Use mtd_device_register() instead of mtd_device_parse_register()
           where applicable
         - Use proper printk format to print physical addresses in the
           solutionengine driver
         - Add missing mtd_set_of_node() call in the powernv driver
         - Remove unneeded variables in a few drivers
         - Plug the TRX part parser to the DT partition parsers logic
         - Check ioremap_cache() return code in the gpio-addr-flash driver
         - Stop using VMLINUX_SYMBOL_STR() in gen_probe.c
      
        SPI NOR core changes:
         - Apply reset hacks only when reset is explicitly marked as broken in
           the DT
      
         SPI NOR driver changes:
         - Minor cleanup/fixes in the m25p80 driver
         - Release flash_np in the nxp-spifi driver
         - Add suspend/resume hooks to the atmel-quadspi driver
         - Include gpio/consumer.h instead of gpio.h in the atmel-quadspi
           driver
         - Use %pK instead of %p in the stm32-quadspi driver
         - Improve timeout handling in the cadence-quadspi driver
         - Use mtd_device_register() instead of mtd_device_parse_register() in
           the intel-spi driver
      
        NAND core changes:
         - Add the SPI-NAND framework.
         - Create a helper to find the best ECC configuration.
         - Create NAND controller operations.
         - Allocate dynamically ONFI parameters structure.
         - Add defines for ONFI version bits.
         - Add manufacturer fixup for ONFI parameter page.
         - Add an option to specify NAND chip as a boot device.
         - Add Reed-Solomon error correction algorithm.
         - Better name for the controller structure.
         - Remove unused caller_is_module() definition.
         - Make subop helpers return unsigned values.
         - Expose _notsupp() helpers for raw page accessors.
         - Add default values for dynamic timings.
         - Kill the chip->scan_bbt() hook.
         - Rename nand_default_bbt() into nand_create_bbt().
         - Start to clean the nand_chip structure.
         - Remove stale prototype from rawnand.h.
      
        Raw NAND controllers drivers changes:
         - Qcom: structuring cleanup.
         - Denali: use core helper to find the best ECC configuration.
         - Possible build of almost all drivers by adding a dependency on
           COMPILE_TEST for almost all of them in Kconfig, implies various
           fixes, Kconfig cleanup, GPIO headers inclusion cleanup, and even
           changes in sparc64 and ia64 architectures.
         - Clean the ->probe() functions error path of a lot of drivers.
         - Migrate all drivers to use nand_scan() instead of
           nand_scan_ident()/nand_scan_tail() pair.
         - Use mtd_device_register() where applicable to simplify the code.
         - Marvell:
            * Handle on-die ECC.
            * Better clocks handling.
            * Remove bogus comment.
            * Add suspend and resume support.
         - Tegra: add NAND controller driver.
         - Atmel:
            * Add module param to avoid using dma.
            * Drop Wenyou Yang from MAINTAINERS.
         - Denali: optimize timings handling.
         - FSMC: Stop using chip->read_buf().
         - FSL:
            * Switch to SPDX license tag identifiers.
            * Fix qualifiers in MXC init functions.
      
        Raw NAND chip drivers changes:
         - Micron:
            * Add fixup for ONFI revision.
            * Update ecc_stats.corrected.
            * Make ECC activation stateful.
            * Avoid enabling/disabling ECC when it can't be disabled.
            * Get the actual number of bitflips.
            * Allow forced on-die ECC.
            * Support 8/512 on-die ECC.
            * Fix on-die ECC detection logic.
         - Hynix:
            * Fix decoding the OOB size on H27UCG8T2BTR.
            * Use ->exec_op() in hynix_nand_reg_write_op()"
      
      * tag 'mtd/for-4.19' of git://git.infradead.org/linux-mtd: (188 commits)
        mtd: rawnand: atmel: Select GENERIC_ALLOCATOR
        MAINTAINERS: drop Wenyou Yang from Atmel NAND driver support
        mtd: rawnand: allocate dynamically ONFI parameters during detection
        mtd: spi-nor: only apply reset hacks to broken hardware
        mtd: spi-nor: cadence-quadspi: fix timeout handling
        mtd: spi-nor: atmel-quadspi: Include gpio/consumer.h instead of gpio.h
        mtd: spi-nor: intel-spi: use mtd_device_register()
        mtd: spi-nor: stm32-quadspi: replace "%p" with "%pK"
        mtd: spi-nor: atmel-quadspi: add suspend/resume hooks
        mtd: rawnand: allocate model parameter dynamically
        mtd: rawnand: do not export nand_scan_[ident|tail]() anymore
        mtd: rawnand: txx9ndfmc: convert driver to nand_scan()
        mtd: rawnand: txx9ndfmc: clarify ECC parameters assignation
        mtd: rawnand: tegra: convert driver to nand_scan()
        mtd: rawnand: jz4740: convert driver to nand_scan()
        mtd: rawnand: jz4740: group nand_scan_{ident, tail} calls
        mtd: rawnand: jz4740: fix probe function error path
        mtd: rawnand: docg4: convert driver to nand_scan()
        mtd: rawnand: do not execute nand_scan_ident() if maxchips is zero
        mtd: rawnand: atmel: convert driver to nand_scan()
        ...
      c2fc71c9
    • Linus Torvalds's avatar
      Merge SCSI_IOCTL_SEND_COMMAND cleanup branch. · 57ee3196
      Linus Torvalds authored
      Nobody commented on this patch back in July. So now it gets merged.
      
      * SCSI_IOCTL_SEND_COMMAND cleanup:
        scsi sg: remove incorrect scsi command checking logic
      57ee3196
    • Linus Torvalds's avatar
      Merge tag 'for-4.19/block-20180812' of git://git.kernel.dk/linux-block · 73ba2fb3
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
       "First pull request for this merge window, there will also be a
        followup request with some stragglers.
      
        This pull request contains:
      
         - Fix for a thundering heard issue in the wbt block code (Anchal
           Agarwal)
      
         - A few NVMe pull requests:
            * Improved tracepoints (Keith)
            * Larger inline data support for RDMA (Steve Wise)
            * RDMA setup/teardown fixes (Sagi)
            * Effects log suppor for NVMe target (Chaitanya Kulkarni)
            * Buffered IO suppor for NVMe target (Chaitanya Kulkarni)
            * TP4004 (ANA) support (Christoph)
            * Various NVMe fixes
      
         - Block io-latency controller support. Much needed support for
           properly containing block devices. (Josef)
      
         - Series improving how we handle sense information on the stack
           (Kees)
      
         - Lightnvm fixes and updates/improvements (Mathias/Javier et al)
      
         - Zoned device support for null_blk (Matias)
      
         - AIX partition fixes (Mauricio Faria de Oliveira)
      
         - DIF checksum code made generic (Max Gurtovoy)
      
         - Add support for discard in iostats (Michael Callahan / Tejun)
      
         - Set of updates for BFQ (Paolo)
      
         - Removal of async write support for bsg (Christoph)
      
         - Bio page dirtying and clone fixups (Christoph)
      
         - Set of bcache fix/changes (via Coly)
      
         - Series improving blk-mq queue setup/teardown speed (Ming)
      
         - Series improving merging performance on blk-mq (Ming)
      
         - Lots of other fixes and cleanups from a slew of folks"
      
      * tag 'for-4.19/block-20180812' of git://git.kernel.dk/linux-block: (190 commits)
        blkcg: Make blkg_root_lookup() work for queues in bypass mode
        bcache: fix error setting writeback_rate through sysfs interface
        null_blk: add lock drop/acquire annotation
        Blk-throttle: reduce tail io latency when iops limit is enforced
        block: paride: pd: mark expected switch fall-throughs
        block: Ensure that a request queue is dissociated from the cgroup controller
        block: Introduce blk_exit_queue()
        blkcg: Introduce blkg_root_lookup()
        block: Remove two superfluous #include directives
        blk-mq: count the hctx as active before allocating tag
        block: bvec_nr_vecs() returns value for wrong slab
        bcache: trivial - remove tailing backslash in macro BTREE_FLAG
        bcache: make the pr_err statement used for ENOENT only in sysfs_attatch section
        bcache: set max writeback rate when I/O request is idle
        bcache: add code comments for bset.c
        bcache: fix mistaken comments in request.c
        bcache: fix mistaken code comments in bcache.h
        bcache: add a comment in super.c
        bcache: avoid unncessary cache prefetch bch_btree_node_get()
        bcache: display rate debug parameters to 0 when writeback is not running
        ...
      73ba2fb3
    • Linus Torvalds's avatar
      Merge branch 'l1tf-final' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 958f338e
      Linus Torvalds authored
      Merge L1 Terminal Fault fixes from Thomas Gleixner:
       "L1TF, aka L1 Terminal Fault, is yet another speculative hardware
        engineering trainwreck. It's a hardware vulnerability which allows
        unprivileged speculative access to data which is available in the
        Level 1 Data Cache when the page table entry controlling the virtual
        address, which is used for the access, has the Present bit cleared or
        other reserved bits set.
      
        If an instruction accesses a virtual address for which the relevant
        page table entry (PTE) has the Present bit cleared or other reserved
        bits set, then speculative execution ignores the invalid PTE and loads
        the referenced data if it is present in the Level 1 Data Cache, as if
        the page referenced by the address bits in the PTE was still present
        and accessible.
      
        While this is a purely speculative mechanism and the instruction will
        raise a page fault when it is retired eventually, the pure act of
        loading the data and making it available to other speculative
        instructions opens up the opportunity for side channel attacks to
        unprivileged malicious code, similar to the Meltdown attack.
      
        While Meltdown breaks the user space to kernel space protection, L1TF
        allows to attack any physical memory address in the system and the
        attack works across all protection domains. It allows an attack of SGX
        and also works from inside virtual machines because the speculation
        bypasses the extended page table (EPT) protection mechanism.
      
        The assoicated CVEs are: CVE-2018-3615, CVE-2018-3620, CVE-2018-3646
      
        The mitigations provided by this pull request include:
      
         - Host side protection by inverting the upper address bits of a non
           present page table entry so the entry points to uncacheable memory.
      
         - Hypervisor protection by flushing L1 Data Cache on VMENTER.
      
         - SMT (HyperThreading) control knobs, which allow to 'turn off' SMT
           by offlining the sibling CPU threads. The knobs are available on
           the kernel command line and at runtime via sysfs
      
         - Control knobs for the hypervisor mitigation, related to L1D flush
           and SMT control. The knobs are available on the kernel command line
           and at runtime via sysfs
      
         - Extensive documentation about L1TF including various degrees of
           mitigations.
      
        Thanks to all people who have contributed to this in various ways -
        patches, review, testing, backporting - and the fruitful, sometimes
        heated, but at the end constructive discussions.
      
        There is work in progress to provide other forms of mitigations, which
        might be less horrible performance wise for a particular kind of
        workloads, but this is not yet ready for consumption due to their
        complexity and limitations"
      
      * 'l1tf-final' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (75 commits)
        x86/microcode: Allow late microcode loading with SMT disabled
        tools headers: Synchronise x86 cpufeatures.h for L1TF additions
        x86/mm/kmmio: Make the tracer robust against L1TF
        x86/mm/pat: Make set_memory_np() L1TF safe
        x86/speculation/l1tf: Make pmd/pud_mknotpresent() invert
        x86/speculation/l1tf: Invert all not present mappings
        cpu/hotplug: Fix SMT supported evaluation
        KVM: VMX: Tell the nested hypervisor to skip L1D flush on vmentry
        x86/speculation: Use ARCH_CAPABILITIES to skip L1D flush on vmentry
        x86/speculation: Simplify sysfs report of VMX L1TF vulnerability
        Documentation/l1tf: Remove Yonah processors from not vulnerable list
        x86/KVM/VMX: Don't set l1tf_flush_l1d from vmx_handle_external_intr()
        x86/irq: Let interrupt handlers set kvm_cpu_l1tf_flush_l1d
        x86: Don't include linux/irq.h from asm/hardirq.h
        x86/KVM/VMX: Introduce per-host-cpu analogue of l1tf_flush_l1d
        x86/irq: Demote irq_cpustat_t::__softirq_pending to u16
        x86/KVM/VMX: Move the l1tf_flush_l1d test to vmx_l1d_flush()
        x86/KVM/VMX: Replace 'vmx_l1d_flush_always' with 'vmx_l1d_flush_cond'
        x86/KVM/VMX: Don't set l1tf_flush_l1d to true from vmx_l1d_flush()
        cpu/hotplug: detect SMT disabled by BIOS
        ...
      958f338e
    • Linus Torvalds's avatar
      Merge tag 'xfs-4.19-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 781fca5b
      Linus Torvalds authored
      Pull xfs updates from Darrick Wong:
       "This is the second part of the XFS changes for 4.19.
      
        The biggest changes are the removal of buffer heads frm XFS, a massive
        reworking of the deferred transaction operations handling code, the
        removal of the long defunct barrier/nobarrier mount options, and the
        addition of a few more online repair functions.
      
        Summary:
      
         - Use extent maps to track pagecache page status instead of
           bufferhead state.
      
         - Refactor pagecache read and write paths to use the new iomap
           library functions, which enable us to drop the old bufferhead code
           for pagesize == blocksize filesystems.
      
         - Set up parallel per-block-per-page metadata to track subpage
           information that was tracked by buffer heads, which enables us to
           drop the old bufferhead code for pagesize > blocksize filesystems.
      
         - Tie a deferred ops control structure to a transaction so that we
           can take advantage of an upper-level dfops without having to plumb
           pointer passing through the code.
      
         - Refactor the deferred ops code to track deferred ops as part of the
           transaction structure (instead of as a separate data structure) so
           that we can simplify the scoping rules around defer_ops.
      
         - Refactor twisty delwri buffer submission code to avoid deadlocks.
      
         - Shorten and fix indenting problems in the scrub code.
      
         - Detect obviously bad summary counts at mount and fix them.
      
         - Directly associate deferred ops control structure with a
           transaction so that callers no longer have to manage it themselves.
      
         - Remove a couple of IRIX-era inode macros.
      
         - Remove the long-deprecated 'barrier' and 'nobarrier' mount options.
      
         - Clean up the inode fork structure a bit.
      
         - Check for bad fs summary counter values in the superblock.
      
         - Reduce COW fork lookups during writeback.
      
         - Refactor the deferred ops control structures into the transaction
           structure, thereby eliminating the need for transaction users to
           handle the deferred ops as a separate data structure.
      
         - Add the ability to repair AG headers online.
      
         - Fix a crash due to insufficient return value checking.
      
         - Various fixes and cleanups"
      
      * tag 'xfs-4.19-merge-6' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (155 commits)
        xfs: fix a null pointer dereference in xfs_bmap_extents_to_btree
        xfs: remove b_last_holder & associated macros
        iomap: Switch to offset_in_page for clarity
        xfs: Close race between direct IO and xfs_break_layouts()
        xfs: repair the AGI
        xfs: repair the AGFL
        xfs: repair the AGF
        xfs: remove dead error handling code in xfs_dquot_disk_alloc()
        xfs: use WRITE_ONCE to update if_seq
        xfs: fix a comment in xfs_log_reserve
        xfs: only validate summary counts on primary superblock
        xfs: substitute spaces with tabs
        xfs: fold dfops into the transaction
        xfs: always defer agfl block frees
        xfs: pass transaction to xfs_defer_add()
        xfs: replace xfs_defer_ops ->dop_pending with on-stack list
        xfs: cancel dfops on xfs_defer_finish() error
        xfs: clean out superfluous dfops dop params/vars
        xfs: drop dop param from xfs_defer_op_type ->finish_item() callback
        xfs: automatic dfops inode relogging
        ...
      781fca5b
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-button', 'acpi-battery' and 'acpi-osi' · 76f7d6c0
      Rafael J. Wysocki authored
      Merge updates of the ACPI battery and button drivers and support for
      a new OEM _OSI string for 4.19.
      
      * acpi-button:
        ACPI / button: fix defined but not used warning
        ACPI / button: increment wakeup count only when notified
      
      * acpi-battery:
        ACPI / battery: Do not export energy_full[_design] on devices without full_charge_capacity
        ACPI / battery: get rid of negations in conditions
        ACPI / battery: use specialized print macros
        ACPI / battery: reorder headers alphabetically
        ACPI / battery: drop inclusion of init.h
        ACPI: battery: remove redundant old_present check on insertion
      
      * acpi-osi:
        ACPI / OSI: Add OEM _OSI string to enable NVidia HDMI audio
      76f7d6c0
    • Rafael J. Wysocki's avatar
      Merge branches 'acpi-x86', 'acpi-bus', 'acpi-ec' and 'acpi-apei' · 3c942804
      Rafael J. Wysocki authored
      Merge ACPI x86-specific changes, core updates, EC driver updates and
      APEI support updates for 4.19.
      
      These add a special platform driver for handling multiple I2C devices
      hooked up to the same device object in the ACPI tables, add some new
      quirks and remove one that is not needed any more.
      
      * acpi-x86:
        platform/x86: Add ACPI i2c-multi-instantiate pseudo driver
        ACPI / x86: utils: Remove status workaround from acpi_device_always_present()
        ACPI / x86: enable touchscreen on Dell Venue Pro 7139
      
      * acpi-bus:
        ACPI: bus: Fix a pointer coding style issue
        Revert "ACPI / bus: Parse tables as term_list for Dell XPS 9570 and Precision M5530"
      
      * acpi-ec:
        ACPI / EC: Add another entry for Thinkpad X1 Carbon 6th
        ACPI / EC: Use ec_no_wakeup on ThinkPad X1 Yoga 3rd
      
      * acpi-apei:
        arm64 / ACPI: clean the additional checks before calling ghes_notify_sea()
      3c942804
    • Rafael J. Wysocki's avatar
      Merge branches 'acpica' and 'acpi-property' · 4a3f421b
      Rafael J. Wysocki authored
      Merge ACPICA changes and updates of the ACPI device properties
      framework for 4.19.
      
      These revert two ACPICA commits that are not needed any more and
      modify the properties graph support in ACPI to be more in-line with
      the analogous DT code.
      
      * acpica:
        ACPICA: Update version to 20180629
        ACPICA: Revert "iASL compiler: allow compilation of externals with paths that refer to existing names"
        ACPICA: Revert "iASL: change processing of external op namespace nodes for correctness"
      
      * acpi-property:
        ACPI: property: graph: Update graph documentation to use generic references
        ACPI: property: graph: Improve graph documentation for port/ep numbering
        ACPI: property: graph: Fix graph documentation
        ACPI: property: Update documentation for hierarchical data extension 1.1
        ACPI: property: Document key numbering for hierarchical data extension refs
        ACPI: property: Use data node name and reg property for graphs
        ACPI: property: Allow direct graph endpoint references
        ACPI: property: Make the ACPI graph API private
        ACPI: property: Document hierarchical data extension references
        ACPI: property: Allow making references to non-device nodes
        ACPI: Convert ACPI reference args to generic fwnode reference args
      4a3f421b
    • Rafael J. Wysocki's avatar
      Merge branch 'pm-cpufreq' · 7425ecd5
      Rafael J. Wysocki authored
      Merge cpufreq changes for 4.19.
      
      These are driver extensions, some driver and core fixes and a new
      tracepoint for the tracking of frequency limits changes (coming from
      Android).
      
      * pm-cpufreq:
        cpufreq: intel_pstate: Ignore turbo active ratio in HWP
        cpufreq: Fix a circular lock dependency problem
        cpu/hotplug: Add a cpus_read_trylock() function
        cpufreq: trace frequency limits change
        cpufreq: intel_pstate: Show different max frequency with turbo 3 and HWP
        cpufreq: pcc-cpufreq: Disable dynamic scaling on many-CPU systems
        cpufreq: qcom-kryo: Silently error out on EPROBE_DEFER
        cpufreq / CPPC: Add cpuinfo_cur_freq support for CPPC
        cpufreq: armada-37xx: Add AVS support
        dt-bindings: marvell: Add documentation for the Armada 3700 AVS binding
        cpufreq: imx6q/thermal: imx: register cooling device depending on OF
        cpufreq: intel_pstate: use match_string() helper
      7425ecd5
    • Rafael J. Wysocki's avatar
      Merge branches 'powercap' and 'pm-devfreq' · 8f0f2b62
      Rafael J. Wysocki authored
      Merge devfreq changes and a new CPU idle time injection framework
      for 4.19.
      
      * powercap:
        powercap / idle_inject: Add an idle injection framework
      
      * pm-devfreq:
        PM / devfreq: rk3399_dmc: Fix duplicated opp table on reload.
        PM / devfreq: Init user limits from OPP limits, not viceversa
        PM / devfreq: rk3399_dmc: fix spelling mistakes.
        PM / devfreq: rk3399_dmc: do not print error when get supply and clk defer.
        dt-bindings: devfreq: rk3399_dmc: move interrupts to be optional.
        PM / devfreq: rk3399_dmc: remove wait for dcf irq event.
        dt-bindings: clock: add rk3399 DDR3 standard speed bins.
        dt-bindings: devfreq: rk3399_dmc: improve binding documentation.
        PM / devfreq: use put_device() instead of kfree()
        PM / devfreq: exynos-ppmu: Delete an error message for a failed memory allocation in exynos_ppmu_probe()
      8f0f2b62
    • Rafael J. Wysocki's avatar
      Merge branches 'pm-core', 'pm-domains', 'pm-sleep', 'acpi-pm' and 'pm-cpuidle' · 17bc3432
      Rafael J. Wysocki authored
      Merge changes in the PM core, system-wide PM infrastructure, generic
      power domains (genpd) framework, ACPI PM infrastructure and cpuidle
      for 4.19.
      
      * pm-core:
        driver core: Add flag to autoremove device link on supplier unbind
        driver core: Rename flag AUTOREMOVE to AUTOREMOVE_CONSUMER
      
      * pm-domains:
        PM / Domains: Introduce dev_pm_domain_attach_by_name()
        PM / Domains: Introduce option to attach a device by name to genpd
        PM / Domains: dt: Add a power-domain-names property
      
      * pm-sleep:
        PM / reboot: Eliminate race between reboot and suspend
        PM / hibernate: Mark expected switch fall-through
        x86/power/hibernate_64: Remove VLA usage
        PM / hibernate: cast PAGE_SIZE to int when comparing with error code
      
      * acpi-pm:
        ACPI / PM: save NVS memory for ASUS 1025C laptop
        ACPI / PM: Default to s2idle in all machines supporting LP S0
      
      * pm-cpuidle:
        ARM: cpuidle: silence error on driver registration failure
      17bc3432
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · 10f3e23f
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
      
       - Convert content from the ext4 wiki to Documentation rst files so it
         is more likely to be updated as we add new features to ext4.
      
       - Add 64-bit timestamp support to ext4's superblock fields.
      
       - ... and the usual bug fixes and cleanups, including a Spectre gadget
         fixup and some hardening against maliciously corrupted file systems.
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (34 commits)
        ext4: remove unneeded variable "err" in ext4_mb_release_inode_pa()
        ext4: improve code readability in ext4_iget()
        ext4: fix spectre gadget in ext4_mb_regular_allocator()
        ext4: check for NUL characters in extended attribute's name
        ext4: use ext4_warning() for sb_getblk failure
        ext4: fix race when setting the bitmap corrupted flag
        ext4: reset error code in ext4_find_entry in fallback
        ext4: handle layout changes to pinned DAX mappings
        dax: dax_layout_busy_page() warn on !exceptional
        docs: fix up the obviously obsolete bits in the new ext4 documentation
        docs: add new ext4 superblock time extension fields
        docs: create filesystem internal section
        ext4: use swap macro in mext_page_double_lock
        ext4: check allocation failure when duplicating "data" in ext4_remount()
        ext4: fix warning message in ext4_enable_quotas()
        ext4: super: extend timestamps to 40 bits
        jbd2: replace current_kernel_time64 with ktime equivalent
        ext4: use timespec64 for all inode times
        ext4: use ktime_get_real_seconds for i_dtime
        ext4: use 64-bit timestamps for mmp_time
        ...
      10f3e23f
    • Linus Torvalds's avatar
      Merge tag '4.19-smb3' of git://git.samba.org/sfrench/cifs-2.6 · 3bb37da5
      Linus Torvalds authored
      Pull cifs updates from Steve French:
       "smb3/cifs fixes (including 8 for stable).
      
        Other improvements include:
      
         - improved tracing, improved stats
      
         - snapshots (previous version mounts work now over SMB3)
      
         - performance (compounding enabled for statfs, ~40% faster).
      
         - security (make it possible to build cifs.ko with insecure vers=1.0
           disabled in Kconfig)"
      
      * tag '4.19-smb3' of git://git.samba.org/sfrench/cifs-2.6: (43 commits)
        smb3: create smb3 equivalent alias for cifs pseudo-xattrs
        smb3: allow previous versions to be mounted with snapshot= mount parm
        cifs: don't show domain= in mount output when domain is empty
        cifs: add missing support for ACLs in SMB 3.11
        smb3: enumerating snapshots was leaving part of the data off end
        cifs: update smb2_queryfs() to use compounding
        cifs: update receive_encrypted_standard to handle compounded responses
        cifs: create SMB2_open_init()/SMB2_open_free() helpers.
        cifs: add SMB2_query_info_[init|free]()
        cifs: add SMB2_close_init()/SMB2_close_free()
        smb3: display stats counters for number of slow commands
        CIFS: fix uninitialized ptr deref in smb2 signing
        smb3: Do not send SMB3 SET_INFO if nothing changed
        smb3: fix minor debug output for CONFIG_CIFS_STATS
        smb3: add tracepoint for slow responses
        cifs: add compound_send_recv()
        cifs: make smb_send_rqst take an array of requests
        cifs: update init_sg, crypt_message to take an array of rqst
        smb3: update readme to correct information about /proc/fs/cifs/Stats
        smb3: fix reset of bytes read and written stats
        ...
      3bb37da5
    • Linus Torvalds's avatar
      Merge branch 'iomap-4.19-merge' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 161fa27f
      Linus Torvalds authored
      Pull fs iomap refactoring from Darrick Wong:
       "This is the first part of the XFS changes for 4.19.
      
        Christoph and Andreas coordinated some refactoring work on the iomap
        code in preparation for removing buffer heads from XFS and porting
        gfs2 to iomap. I'm sending this small pull request ahead of the main
        XFS merge to avoid holding up gfs2 unnecessarily"
      
      * 'iomap-4.19-merge' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux:
        iomap: add inline data support to iomap_readpage_actor
        iomap: support direct I/O to inline data
        iomap: refactor iomap_dio_actor
        iomap: add initial support for writes without buffer heads
        iomap: add an iomap-based readpage and readpages implementation
        iomap: add private pointer to struct iomap
        iomap: add a page_done callback
        iomap: generic inline data handling
        iomap: complete partial direct I/O writes synchronously
        iomap: mark newly allocated buffer heads as new
        fs: factor out a __generic_write_end helper
      161fa27f
    • Linus Torvalds's avatar
      Merge tag 'for-4.19-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · a1a4f841
      Linus Torvalds authored
      Pull btrfs updates from David Sterba:
       "Mostly fixes and cleanups, nothing big, though the notable thing is
        the inserted/deleted lines delta -1124.
      
        User visible changes:
         - allow defrag on opened read-only files that have rw permissions;
           similar to what dedupe will allow on such files
      
        Core changes:
         - tree checker improvements, reported by fuzzing:
            * more checks for: block group items, essential trees
            * chunk type validation
            * mount time cross-checks that physical and logical chunks match
            * switch more error codes to EUCLEAN aka EFSCORRUPTED
      
        Fixes:
         - fsync corner case fixes
      
         - fix send failure when root has deleted files still open
      
         - send, fix incorrect file layout after hole punching beyond eof
      
         - fix races between mount and deice scan ioctl, found by fuzzing
      
         - fix deadlock when delayed iput is called from writeback on the same
           inode; rare but has been observed in practice, also removes code
      
         - fix pinned byte accounting, using the right percpu helpers; this
           should avoid some write IO inefficiency during low space conditions
      
         - don't remove block group that still has pinned bytes
      
         - reset on-disk device stats value after replace, otherwise this
           would report stale values for the new device
      
        Cleanups:
         - time64_t/timespec64 cleanups
      
         - remove remaining dead code in scrub handling NOCOW extents after
           disabling it in previous cycle
      
         - simplify fsync regarding ordered extents logic and remove all the
           related code
      
         - remove redundant arguments in order to reduce stack space
           consumption
      
         - remove support for V0 type of extents, not in use since 2.6.30
      
         - remove several unused structure members
      
         - fewer indirect function calls by inlining some callbacks
      
         - qgroup rescan timing fixes
      
         - vfs: iget cleanups"
      
      * tag 'for-4.19-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: (182 commits)
        btrfs: revert fs_devices state on error of btrfs_init_new_device
        btrfs: Exit gracefully when chunk map cannot be inserted to the tree
        btrfs: Introduce mount time chunk <-> dev extent mapping check
        btrfs: Verify that every chunk has corresponding block group at mount time
        btrfs: Check that each block group has corresponding chunk at mount time
        Btrfs: send, fix incorrect file layout after hole punching beyond eof
        btrfs: Use wrapper macro for rcu string to remove duplicate code
        btrfs: simplify btrfs_iget
        btrfs: lift make_bad_inode into btrfs_iget
        btrfs: simplify IS_ERR/PTR_ERR checks
        btrfs: btrfs_iget never returns an is_bad_inode inode
        btrfs: replace: Reset on-disk dev stats value after replace
        btrfs: extent-tree: Remove unused __btrfs_free_block_rsv
        btrfs: backref: Use ERR_CAST to return error code
        btrfs: Remove redundant btrfs_release_path from btrfs_unlink_subvol
        btrfs: Remove root parameter from btrfs_unlink_subvol
        btrfs: Remove fs_info from btrfs_add_root_ref
        btrfs: Remove fs_info from btrfs_del_root_ref
        btrfs: Remove fs_info from btrfs_del_root
        btrfs: Remove fs_info from btrfs_delete_delayed_dir_index
        ...
      a1a4f841
    • Linus Torvalds's avatar
      Merge tag 'locks-v4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux · 575b9438
      Linus Torvalds authored
      Pull file locking updates from Jeff Layton:
       "Just a couple of patches from Konstantin to fix /proc/locks when the
        process that set the lock has exited, and a new tracepoint for the
        flock() codepath. Also threw in mailmap entries for my addresses and a
        comment cleanup"
      
      * tag 'locks-v4.19-1' of git://git.kernel.org/pub/scm/linux/kernel/git/jlayton/linux:
        locks: remove misleading obsolete comment
        mailmap: remap some of my email addresses to kernel.org address
        locks: add tracepoint in flock codepath
        fs/lock: show locks taken by processes from another pidns
        fs/lock: skip lock owner pid translation in case we are in init_pid_ns
      575b9438
    • Linus Torvalds's avatar
      Merge branches 'work.misc' and 'work.dcache' of... · 4591343e
      Linus Torvalds authored
      Merge branches 'work.misc' and 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
      
      Pull misc vfs updates from Al Viro:
       "Misc cleanups from various folks all over the place
      
        I expected more fs/dcache.c cleanups this cycle, so that went into a
        separate branch. Said cleanups have missed the window, so in the
        hindsight it could've gone into work.misc instead. Decided not to
        cherry-pick, thus the 'work.dcache' branch"
      
      * 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fs: dcache: Use true and false for boolean values
        fold generic_readlink() into its only caller
        fs: shave 8 bytes off of struct inode
        fs: Add more kernel-doc to the produced documentation
        fs: Fix attr.c kernel-doc
        removed extra extern file_fdatawait_range
      
      * 'work.dcache' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        kill dentry_update_name_case()
      4591343e
    • Linus Torvalds's avatar
      Merge branch 'work.aio' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · f2be2698
      Linus Torvalds authored
      Pull vfs aio updates from Al Viro:
       "Christoph's aio poll, saner this time around.
      
        This time it's pretty much local to fs/aio.c. Hopefully race-free..."
      
      * 'work.aio' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        aio: allow direct aio poll comletions for keyed wakeups
        aio: implement IOCB_CMD_POLL
        aio: add a iocb refcount
        timerfd: add support for keyed wakeups
      f2be2698
    • Linus Torvalds's avatar
      Merge branch 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 4d2a073c
      Linus Torvalds authored
      Pull vfs lookup() updates from Al Viro:
       "More conversions of ->lookup() to d_splice_alias().
      
        Should be reasonably complete now - the only leftovers are in ceph"
      
      * 'work.lookup' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        afs_try_auto_mntpt(): return NULL instead of ERR_PTR(-ENOENT)
        afs_lookup(): switch to d_splice_alias()
        afs: switch dynroot lookups to d_splice_alias()
        hpfs: fix an inode leak in lookup, switch to d_splice_alias()
        hostfs_lookup: switch to d_splice_alias()
      4d2a073c
    • Linus Torvalds's avatar
      Merge branch 'work.mkdir' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 0ea97a2d
      Linus Torvalds authored
      Pull vfs icache updates from Al Viro:
      
       - NFS mkdir/open_by_handle race fix
      
       - analogous solution for FUSE, replacing the one currently in mainline
      
       - new primitive to be used when discarding halfway set up inodes on
         failed object creation; gives sane warranties re icache lookups not
         returning such doomed by still not freed inodes. A bunch of
         filesystems switched to that animal.
      
       - Miklos' fix for last cycle regression in iget5_locked(); -stable will
         need a slightly different variant, unfortunately.
      
       - misc bits and pieces around things icache-related (in adfs and jfs).
      
      * 'work.mkdir' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        jfs: don't bother with make_bad_inode() in ialloc()
        adfs: don't put inodes into icache
        new helper: inode_fake_hash()
        vfs: don't evict uninitialized inode
        jfs: switch to discard_new_inode()
        ext2: make sure that partially set up inodes won't be returned by ext2_iget()
        udf: switch to discard_new_inode()
        ufs: switch to discard_new_inode()
        btrfs: switch to discard_new_inode()
        new primitive: discard_new_inode()
        kill d_instantiate_no_diralias()
        nfs_instantiate(): prevent multiple aliases for directory inode
      0ea97a2d
    • Linus Torvalds's avatar
      Merge branch 'work.open3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · a66b4cd1
      Linus Torvalds authored
      Pull vfs open-related updates from Al Viro:
      
       - "do we need fput() or put_filp()" rules are gone - it's always fput()
         now. We keep track of that state where it belongs - in ->f_mode.
      
       - int *opened mess killed - in finish_open(), in ->atomic_open()
         instances and in fs/namei.c code around do_last()/lookup_open()/atomic_open().
      
       - alloc_file() wrappers with saner calling conventions are introduced
         (alloc_file_clone() and alloc_file_pseudo()); callers converted, with
         much simplification.
      
       - while we are at it, saner calling conventions for path_init() and
         link_path_walk(), simplifying things inside fs/namei.c (both on
         open-related paths and elsewhere).
      
      * 'work.open3' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs: (40 commits)
        few more cleanups of link_path_walk() callers
        allow link_path_walk() to take ERR_PTR()
        make path_init() unconditionally paired with terminate_walk()
        document alloc_file() changes
        make alloc_file() static
        do_shmat(): grab shp->shm_file earlier, switch to alloc_file_clone()
        new helper: alloc_file_clone()
        create_pipe_files(): switch the first allocation to alloc_file_pseudo()
        anon_inode_getfile(): switch to alloc_file_pseudo()
        hugetlb_file_setup(): switch to alloc_file_pseudo()
        ocxlflash_getfile(): switch to alloc_file_pseudo()
        cxl_getfile(): switch to alloc_file_pseudo()
        ... and switch shmem_file_setup() to alloc_file_pseudo()
        __shmem_file_setup(): reorder allocations
        new wrapper: alloc_file_pseudo()
        kill FILE_{CREATED,OPENED}
        switch atomic_open() and lookup_open() to returning 0 in all success cases
        document ->atomic_open() changes
        ->atomic_open(): return 0 in all success cases
        get rid of 'opened' in path_openat() and the helpers downstream
        ...
      a66b4cd1
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-linus-v4.19-rc1' of... · b1652846
      Linus Torvalds authored
      Merge tag 'hwmon-for-linus-v4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon updates from Guenter Roeck:
      
       - new driver for NPCM7xx PWM and Fan controller
      
       - new driver for Mellanox FAN controller
      
       - add support for MAX34451 to max34440 driver
      
       - add support for new Threadripper variants to k10temp driver
      
       - add error handling to adt7475 driver
      
       - cleanup nct6775 and nct7904 drivers
      
       - document sensor enable ABI attributes
      
      * tag 'hwmon-for-linus-v4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (adt7475) Change show functions to return error data correctly
        hwmon: (adt7475) Change update functions to add error handling
        hwmon: (adt7475) Change valid parameter to bool type
        hwmon: (adt7475) Split device update function to measure and limits
        hwmon: k10temp: Support Threadripper 2920X, 2970WX; simplify offset table
        hwmon: (k10temp) 27C Offset needed for Threadripper2
        hwmon: (iio_hwmon) Use devm functions
        hwmon: Add NPCM7xx PWM and Fan driver
        dt-binding: hwmon: Add NPCM7xx PWM and Fan controller documentation
        hwmon: (pmbus/max34440) Add support for MAX34451.
        hwmon: Document the sensor enable attribute
        hwmon: (mlxreg-fan) Add support for Mellanox FAN driver
        hwmon: Mark expected switch fall-throughs
        hwmon: (nct6775) Fix comment in the description of pwm_mode
        hwmon: (nct7904) Fix UNSPECIFIED_INT warning
        hwmon: (nct7904) Fix CODE_INDENT error
        hwmon: (nct7904) Fix SPACING errors
      b1652846
    • Linus Torvalds's avatar
      Merge tag 'mips_4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux · e5a32b5b
      Linus Torvalds authored
      Pull MIPS updates from Paul Burton:
       "Here are the main MIPS changes for 4.19.
      
        An overview of the general architecture changes:
      
         - Massive DMA ops refactoring from Christoph Hellwig (huzzah for
           deleting crufty code!).
      
         - We introduce NT_MIPS_DSP & NT_MIPS_FP_MODE ELF notes &
           corresponding regsets to expose DSP ASE & floating point mode state
           respectively, both for live debugging & core dumps.
      
         - We better optimize our code by hard-coding cpu_has_* macros at
           compile time where their values are known due to the ISA revision
           that the kernel build is targeting.
      
         - The EJTAG exception handler now better handles SMP systems, where
           it was previously possible for CPUs to clobber a register value
           saved by another CPU.
      
         - Our implementation of memset() gained a couple of fixes for MIPSr6
           systems to return correct values in some cases where stores fault.
      
         - We now implement ioremap_wc() using the uncached-accelerated cache
           coherency attribute where supported, which is detected during boot,
           and fall back to plain uncached access where necessary. The
           MIPS-specific (and unused in tree) ioremap_uncached_accelerated() &
           ioremap_cacheable_cow() are removed.
      
         - The prctl(PR_SET_FP_MODE, ...) syscall is better supported for SMP
           systems by reworking the way we ensure remote CPUs that may be
           running threads within the affected process switch mode.
      
         - Systems using the MIPS Coherence Manager will now set the
           MIPS_IC_SNOOPS_REMOTE flag to avoid some unnecessary cache
           maintenance overhead when flushing the icache.
      
         - A few fixes were made for building with clang/LLVM, which now
           sucessfully builds kernels for many of our platforms.
      
         - Miscellaneous cleanups all over.
      
        And some platform-specific changes:
      
         - ar7 gained stubs for a few clock API functions to fix build
           failures for some drivers.
      
         - ath79 gained support for a few new SoCs, a few fixes & better
           gpio-keys support.
      
         - Ci20 now exposes its SPI bus using the spi-gpio driver.
      
         - The generic platform can now auto-detect a suitable value for
           PHYS_OFFSET based upon the memory map described by the device tree,
           allowing us to avoid wasting memory on page book-keeping for
           systems where RAM starts at a non-zero physical address.
      
         - Ingenic systems using the jz4740 platform code now link their
           vmlinuz higher to allow for kernels of a realistic size.
      
         - Loongson32 now builds the kernel targeting MIPSr1 rather than
           MIPSr2 to avoid CPU errata.
      
         - Loongson64 gains a couple of fixes, a workaround for a write
           buffering issue & support for the Loongson 3A R3.1 CPU.
      
         - Malta now uses the piix4-poweroff driver to handle powering down.
      
         - Microsemi Ocelot gained support for its SPI bus & NOR flash, its
           second MDIO bus and can now be supported by a FIT/.itb image.
      
         - Octeon saw a bunch of header cleanups which remove a lot of
           duplicate or unused code"
      
      * tag 'mips_4.19' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (123 commits)
        MIPS: Remove remnants of UASM_ISA
        MIPS: netlogic: xlr: Remove erroneous check in nlm_fmn_send()
        MIPS: VDSO: Force link endianness
        MIPS: Always specify -EB or -EL when using clang
        MIPS: Use dins to simplify __write_64bit_c0_split()
        MIPS: Use read-write output operand in __write_64bit_c0_split()
        MIPS: Avoid using array as parameter to write_c0_kpgd()
        MIPS: vdso: Allow clang's --target flag in VDSO cflags
        MIPS: genvdso: Remove GOT checks
        MIPS: Remove obsolete MIPS checks for DST node "chosen@0"
        MIPS: generic: Remove input symbols from defconfig
        MIPS: Delete unused code in linux32.c
        MIPS: Remove unused sys_32_mmap2
        MIPS: Remove nabi_no_regargs
        mips: dts: mscc: enable spi and NOR flash support on ocelot PCB123
        mips: dts: mscc: Add spi on Ocelot
        MIPS: Loongson: Merge load addresses
        MIPS: Loongson: Set Loongson32 to MIPS32R1
        MIPS: mscc: ocelot: add interrupt controller properties to GPIO controller
        MIPS: generic: Select MIPS_AUTO_PFN_OFFSET
        ...
      e5a32b5b