1. 14 Mar, 2024 12 commits
    • Linus Torvalds's avatar
      Merge tag 'sound-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · fe46a7dd
      Linus Torvalds authored
      Pull sound updates from Takashi Iwai:
       "This was a relatively calm development cycle. Most of changes are
        rather small device-specific fixes and enhancements. The only
        significant changes in ALSA core are code refactoring with the recent
        cleanup infrastructure, which should bring no functionality changes.
        Some highlights below:
      
        Core:
         - Lots of cleanups in ALSA core code with automatic kfree cleanup and
           locking guard macros
         - New ALSA core kunit test
      
        ASoC:
         - SoundWire support for AMD ACP 6.3 systems
         - Support for reporting version information for AVS firmware
         - Support DSPless mode for Intel Soundwire systems
         - Support for configuring CS35L56 amplifiers using EFI calibration
           data
         - Log which component is being operated on as part of power
           management trace events.
         - Support for Microchip SAM9x7, NXP i.MX95 and Qualcomm WCD939x
      
        HD- and USB-audio:
         - More Cirrus HD-audio codec support
         - TAS2781 HD-audio codec fixes
         - Scarlett2 mixer fixes
      
        Others:
         - Enhancement of virtio driver for audio control supports
         - Cleanups of legacy PM code with new macros
         - Firewire sound updates"
      
      * tag 'sound-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (307 commits)
        ALSA: usb-audio: Stop parsing channels bits when all channels are found.
        ALSA: hda/tas2781: remove unnecessary runtime_pm calls
        ALSA: hda/realtek - ALC236 fix volume mute & mic mute LED on some HP models
        ALSA: aaci: Delete unused variable in aaci_do_suspend
        ALSA: scarlett2: Fix Scarlett 4th Gen input gain range again
        ALSA: scarlett2: Fix Scarlett 4th Gen input gain range
        ALSA: scarlett2: Fix Scarlett 4th Gen autogain status values
        ALSA: scarlett2: Fix Scarlett 4th Gen 4i4 low-voltage detection
        ALSA: hda/tas2781: restore power state after system_resume
        ALSA: hda/tas2781: do not call pm_runtime_force_* in system_resume/suspend
        ALSA: hda/tas2781: do not reset cur_* values in runtime_suspend
        ALSA: hda/tas2781: add lock to system_suspend
        ALSA: hda/tas2781: use dev_dbg in system_resume
        ALSA: hda/realtek: fix ALC285 issues on HP Envy x360 laptops
        platform/x86: serial-multi-instantiate: Add support for CS35L54 and CS35L57
        ALSA: hda: cs35l56: Add support for CS35L54 and CS35L57
        ASoC: cs35l56: Add support for CS35L54 and CS35L57
        ASoC: Intel: catpt: Carefully use PCI bitwise constants
        ALSA: hda: hda_component: Include sound/hda_codec.h
        ALSA: hda: hda_component: Add missing #include guards
        ...
      fe46a7dd
    • Linus Torvalds's avatar
      Merge tag 'pci-v6.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci · 705c1da8
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
       "Enumeration:
      
         - Consolidate interrupt related code in irq.c (Ilpo Järvinen)
      
         - Reduce kernel size by replacing sysfs resource macros with
           functions (Ilpo Järvinen)
      
         - Reduce kernel size by compiling sysfs support only when
           CONFIG_SYSFS=y (Lukas Wunner)
      
         - Avoid using Extended Tags on 3ware-9650SE Root Port to work around
           an apparent hardware defect (Jörg Wedekind)
      
        Resource management:
      
         - Fix an MMIO mapping leak in pci_iounmap() (Philipp Stanner)
      
         - Move pci_iomap.c and other PCI-specific devres code to drivers/pci
           (Philipp Stanner)
      
         - Consolidate PCI devres code in devres.c (Philipp Stanner)
      
        Power management:
      
         - Avoid D3cold on Asus B1400 PCI-NVMe bridge, where firmware doesn't
           know how to return correctly to D0, and remove previous quirk that
           wasn't as specific (Daniel Drake)
      
         - Allow runtime PM when the driver enables it but doesn't need any
           runtime PM callbacks (Raag Jadav)
      
         - Drain runtime-idle callbacks before driver removal to avoid races
           between .remove() and .runtime_idle(), which caused intermittent
           page faults when the rtsx .runtime_idle() accessed registers that
           its .remove() had already unmapped (Rafael J. Wysocki)
      
        Virtualization:
      
         - Avoid Secondary Bus Reset on LSI FW643 so it can be assigned to VMs
           with VFIO, e.g., for professional audio software on many Apple
           machines, at the cost of leaking state between VMs (Edmund Raile)
      
        Error handling:
      
         - Print all logged TLP Prefixes, not just the first, after AER or DPC
           errors (Ilpo Järvinen)
      
         - Quirk the DPC PIO log size for Intel Raptor Lake Root Ports, which
           still don't advertise a legal size (Paul Menzel)
      
         - Ignore expected DPC Surprise Down errors on hot removal (Smita
           Koralahalli)
      
         - Block runtime suspend while handling AER errors to avoid races that
           prevent the device form being resumed from D3hot (Stanislaw
           Gruszka)
      
        Peer-to-peer DMA:
      
         - Use atomic XA allocation in RCU read section (Christophe JAILLET)
      
        ASPM:
      
         - Collect bits of ASPM-related code that we need even without
           CONFIG_PCIEASPM into aspm.c (David E. Box)
      
         - Save/restore L1 PM Substates config for suspend/resume (David E.
           Box)
      
         - Update save_save when ASPM config is changed, so a .slot_reset()
           during error recovery restores the changed config, not the
           .probe()-time config (Vidya Sagar)
      
        Endpoint framework:
      
         - Refactor and improve pci_epf_alloc_space() API (Niklas Cassel)
      
         - Clean up endpoint BAR descriptions (Niklas Cassel)
      
         - Fix ntb_register_device() name leak in error path (Yang Yingliang)
      
         - Return actual error code for pci_vntb_probe() failure (Yang
           Yingliang)
      
        Broadcom STB PCIe controller driver:
      
         - Fix MDIO write polling, which previously never waited for
           completion (Jonathan Bell)
      
        Cadence PCIe endpoint driver:
      
         - Clear the ARI "Next Function Number" of last function (Jasko-EXT
           Wojciech)
      
        Freescale i.MX6 PCIe controller driver:
      
         - Simplify by replacing switch statements with function pointers for
           different hardware variants (Frank Li)
      
         - Simplify by using clk_bulk*() API (Frank Li)
      
         - Remove redundant DT clock and reg/reg-name details (Frank Li)
      
         - Add i.MX95 DT and driver support for both Root Complex and Endpoint
           mode (Frank Li)
      
        Microsoft Hyper-V host bridge driver:
      
         - Reduce memory usage by limiting ring buffer size to 16KB instead of
           4 pages (Michael Kelley)
      
        Qualcomm PCIe controller driver:
      
         - Add X1E80100 DT and driver support (Abel Vesa)
      
         - Add DT 'required-opps' for SoCs that require a minimum performance
           level (Johan Hovold)
      
         - Make DT 'msi-map-mask' optional, depending on how MSI interrupts
           are mapped (Johan Hovold)
      
         - Disable ASPM L0s for sc8280xp, sa8540p and sa8295p because the PHY
           configuration isn't tuned correctly for L0s (Johan Hovold)
      
         - Split dt-binding qcom,pcie.yaml into qcom,pcie-common.yaml and
           separate files for SA8775p, SC7280, SC8180X, SC8280XP, SM8150,
           SM8250, SM8350, SM8450, SM8550 for easier reviewing (Krzysztof
           Kozlowski)
      
         - Enable BDF to SID translation by disabling bypass mode (Manivannan
           Sadhasivam)
      
         - Add endpoint MHI support for Snapdragon SA8775P SoC (Mrinmay
           Sarkar)
      
        Synopsys DesignWare PCIe controller driver:
      
         - Allocate 64-bit MSI address if no 32-bit address is available (Ajay
           Agarwal)
      
         - Fix endpoint Resizable BAR to actually advertise the required 1MB
           size (Niklas Cassel)
      
        MicroSemi Switchtec management driver:
      
         - Release resources if the .probe() fails (Christophe JAILLET)
      
        Miscellaneous:
      
         - Make pcie_port_bus_type const (Ricardo B. Marliere)"
      
      * tag 'pci-v6.9-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: (77 commits)
        PCI/ASPM: Update save_state when configuration changes
        PCI/ASPM: Disable L1 before configuring L1 Substates
        PCI/ASPM: Call pci_save_ltr_state() from pci_save_pcie_state()
        PCI/ASPM: Save L1 PM Substates Capability for suspend/resume
        PCI: hv: Fix ring buffer size calculation
        PCI: dwc: endpoint: Fix advertised resizable BAR size
        PCI: cadence: Clear the ARI Capability Next Function Number of the last function
        PCI: dwc: Strengthen the MSI address allocation logic
        PCI: brcmstb: Fix broken brcm_pcie_mdio_write() polling
        PCI: qcom: Add X1E80100 PCIe support
        dt-bindings: PCI: qcom: Document the X1E80100 PCIe Controller
        PCI: qcom: Enable BDF to SID translation properly
        PCI/AER: Generalize TLP Header Log reading
        PCI/AER: Use explicit register size for PCI_ERR_CAP
        PCI: qcom: Disable ASPM L0s for sc8280xp, sa8540p and sa8295p
        dt-bindings: PCI: qcom: Do not require 'msi-map-mask'
        dt-bindings: PCI: qcom: Allow 'required-opps'
        PCI/AER: Block runtime suspend when handling errors
        PCI/ASPM: Move pci_save_ltr_state() to aspm.c
        PCI/ASPM: Always build aspm.c
        ...
      705c1da8
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v6.9-1' of... · 66fd6d0b
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver updates from Ilpo Järvinen:
      
       - New acer-wmi HW support
      
       - Support for new revision of amd/pmf heartbeat notify
      
       - Correctly handle asus-wmi HW without LEDs
      
       - fujitsu-laptop battery charge control support
      
       - Support for new hp-wmi thermal profiles
      
       - Support ideapad-laptop refresh rate key
      
       - Put intel/pmc AI accelerator (GNA) into D3 if it has no driver to
         allow entry into low-power modes, and temporarily removed Lunar Lake
         SSRAM support due to breaking FW changes causing probe fail (further
         breaking FW changes are still pending)
      
       - Report pmc/punit_atom devices that prevent reacing low power levels
      
       - Surface Fan speed function support
      
       - Support for more sperial keys and complete the list of models with
         non-standard fan registers in thinkpad_acpi
      
       - New DMI touchscreen HW support
      
       - Continued modernization efforts of wmi
      
       - Removal of obsoleted ledtrig-audio call and the related dependency
      
       - Debug & metrics interface improvements
      
       - Miscellaneous cleanups / fixes / improvements
      
      * tag 'platform-drivers-x86-v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86: (87 commits)
        platform/x86/intel/pmc: Improve PKGC residency counters debug
        platform/x86: asus-wmi: Consider device is absent when the read is ~0
        Documentation/x86/amd/hsmp: Updating urls
        platform/mellanox: mlxreg-hotplug: Remove redundant NULL-check
        platform/x86/amd/pmf: Update sps power thermals according to the platform-profiles
        platform/x86/amd/pmf: Add support to get sps default APTS index values
        platform/x86/amd/pmf: Add support to get APTS index numbers for static slider
        platform/x86/amd/pmf: Add support to notify sbios heart beat event
        platform/x86/amd/pmf: Add support to get sbios requests in PMF driver
        platform/x86/amd/pmf: Disable debugfs support for querying power thermals
        platform/x86/amd/pmf: Differentiate PMF ACPI versions
        x86/platform/atom: Check state of Punit managed devices on s2idle
        platform/x86: pmc_atom: Check state of PMC clocks on s2idle
        platform/x86: pmc_atom: Check state of PMC managed devices on s2idle
        platform/x86: pmc_atom: Annotate d3_sts register bit defines
        clk: x86: Move clk-pmc-atom register defines to include/linux/platform_data/x86/pmc_atom.h
        platform/x86: make fw_attr_class constant
        platform/x86/intel/tpmi: Change vsec offset to u64
        platform/x86: intel_scu_pcidrv: Remove unused intel-mid.h
        platform/x86: intel_scu_wdt: Remove unused intel-mid.h
        ...
      66fd6d0b
    • Linus Torvalds's avatar
      Merge tag 'leds-next-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds · f5c31bcf
      Linus Torvalds authored
      Pull LED updates from Lee Jones:
       "Core Framework:
         - Introduce ExpressWire library
      
        New Drivers:
         - Add support for ON Semiconductor NCP5623 RGB LED Driver
      
        New Device Support:
         - Add support for PM660L to Qualcomm's LPG driver
      
        New Functionality:
         - Dynamically load modules required for the default-trigger
         - Add some support for suspend and resume
         - Allow LEDs to remain lit during suspend
      
        Fix-ups:
         - Device Tree binding adaptions/conversions/creation
         - Fix include lists; alphabetise, remove unused, explicitly add used
         - Add new led_match_default_trigger to avoid duplication
         - Add module alias' to aid auto-loading
         - Default to hw_control if no others are specified
         - De-bloat the supported link speed attribute lists
         - Remove superfluous code and simplify overall
         - Constify some variables
      
        Bug Fixes:
         - Prevent kernel panic when renaming the net interface
         - Fix Kconfig related build errors
         - Ensure mutexes are unlocked prior to destroying them
         - Provide clean-up between state changes to avoid invalid state
         - Fix some broken kernel-doc headers"
      
      * tag 'leds-next-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds: (41 commits)
        leds: ncp5623: Add MS suffix to time defines
        leds: Add NCP5623 multi-led driver
        dt-bindings: leds: Add NCP5623 multi-LED Controller
        leds: mlxreg: Drop an excess struct mlxreg_led_data member
        leds: leds-mlxcpld: Fix struct mlxcpld_led_priv member name
        leds: lm3601x: Fix struct lm3601_led kernel-doc warnings
        leds: Fix ifdef check for gpio_led_register_device()
        dt-bindings: leds: qcom-lpg: Narrow nvmem for other variants
        dt-bindings: leds: qcom-lpg: Drop redundant qcom,pm8550-pwm in if:then:
        dt-bindings: leds: Add LED_FUNCTION_WAN_ONLINE for Internet access
        leds: sgm3140: Add missing timer cleanup and flash gpio control
        leds: expresswire: Don't depend on NEW_LEDS
        Revert "leds: Only descend into leds directory when CONFIG_NEW_LEDS is set"
        leds: aw2013: Unlock mutex before destroying it
        leds: qcom-lpg: Add QCOM_PBS dependency
        leds: rgb: leds-group-multicolor: Allow LEDs to stay on in suspend
        leds: trigger: netdev: Fix kernel panic on interface rename trig notify
        leds: qcom-lpg: Add PM660L configuration and compatible
        leds: spi-byte: Use devm_led_classdev_register_ext()
        leds: pca963x: Add support for suspend and resume
        ...
      f5c31bcf
    • Linus Torvalds's avatar
      Merge tag 'backlight-next-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight · f3d8f29d
      Linus Torvalds authored
      Pull backlight updates from Lee Jones:
       "New Drivers:
         - Add support for Kinetic KTD2801 Backlight
      
        Fix-ups:
         - Fix include lists; alphabetise, remove unused, explicitly add used
         - Device Tree binding adaptions/conversions/creation
         - Use dev_err_probe() to clean-up error paths
         - Use/convert to new/better APIs/helpers/MACROs instead of hand-rolling implementations
      
        Bug Fixes:
         - Fix changes of NULL pointer dereference
         - Remedy a bunch of logic errors
         - Initialise (zero) Backlight properties data structures"
      
      * tag 'backlight-next-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight: (32 commits)
        backlight: pandora_bl: Drop unneeded ENOMEM error message
        backlight: lm3630a_bl: Simplify probe return on gpio request error
        backlight: lm3630a_bl: Handle deferred probe
        backlight: as3711_bl: Handle deferred probe
        backlight: bd6107: Handle deferred probe
        backlight: l4f00242t03: Simplify with dev_err_probe()
        backlight: gpio: Simplify with dev_err_probe()
        backlight: lp8788: Fully initialize backlight_properties during probe
        backlight: lm3639: Fully initialize backlight_properties during probe
        backlight: da9052: Fully initialize backlight_properties during probe
        backlight: lm3630a: Use backlight_get_brightness helper in update_status
        backlight: lm3630a: Don't set bl->props.brightness in get_brightness
        backlight: lm3630a: Initialize backlight_properties on init
        backlight: mp3309c: Fully initialize backlight_properties during probe
        backlight: mp3309c: Utilise temporary variable for struct device
        backlight: mp3309c: Use dev_err_probe() instead of dev_err()
        backlight: mp3309c: Make use of device properties
        dt-bindings: backlight: qcom-wled: Fix bouncing email addresses
        backlight: hx8357: Utilise temporary variable for struct device
        backlight: hx8357: Make use of dev_err_probe()
        ...
      f3d8f29d
    • Linus Torvalds's avatar
      Merge tag 'mfd-next-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd · 8403ce70
      Linus Torvalds authored
      Pull MFD updates from Lee Jones:
       "New Device Support:
         - Add support for Watchdog to ChromeOS Embedded Controller
         - Add support for GPIOs to ChromeOS Embedded Controller
         - Add supprt for Sound to MediaTek MT6357 CODEC
      
        New Functionality:
         - Add power-off functionality to Texas Instruments TWL series CODECs
      
        Fix-ups:
         - Device Tree binding adaptions/conversions/creation
         - Use/convert to new/better APIs/helpers/MACROs instead of
           hand-rolling implementations
         - Trivial; spelling, whitespace, clean-ups, etc
         - Remove superfluous code and simplify overall
         - Fix include lists; alphabetise, remove unused, explicitly add used
         - Use dev_err_probe() to clean-up error paths
         - Convert used cache type over to the Maple Tree in many instances
         - Constify a bunch of static structs
         - Refrain from over-riding resources provided via the firmware
      
        Bug Fixes:
         - Fix a clock related firmware bug on Dell XPS 9530 et al.
         - Repair incorrect IRQ designations
         - Increase buffer sizes to omit various snprintf compiler errors
         - Ensure errors are handled properly
         - Balance references and prevent resource leaks
         - Rectify Power Key interrupt processing
         - Fix Kconfig related build errors
         - Correct a bunch of register start-up default values"
      
      * tag 'mfd-next-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (65 commits)
        mfd: cs42l43: Fix wrong GPIO_FN_SEL and SPI_CLK_CONFIG1 defaults
        mfd: cs42l43: Fix wrong register defaults
        mfd: mt6397-core: Register mt6357 sound codec
        dt-bindings: mfd: syscon: Add ti,am62-usb-phy-ctrl compatible
        dt-bindings: mfd: dlg,da9063: Make #interrupt-cells required
        dt-bindings: mfd: Convert atmel-flexcom to json-schema
        mfd: kempld-core: Don't replace resources provided by ACPI
        mfd: cros_ec_dev: Add GPIO device if feature present on EC
        dt-bindings: mfd: cros-ec: Add properties for GPIO controller
        mfd: twl: Select MFD_CORE
        mfd: core: Constify the struct device_type usage
        mfd: rk8xx-core: Fix interrupt processing order for power key button
        mfd: twl4030-power: Accept standard property for power controller
        mfd: twl-core: Add power off implementation for twl603x
        dt-bindings: mfd: ti,twl: Document system-power-controller
        mfd: altera-sysmgr: Call of_node_put() only when of_parse_phandle() takes a ref
        mfd: syscon: Remove extern from function prototypes
        mfd: syscon: Call of_node_put() only when of_parse_phandle() takes a ref
        mfd: mc13xxx: Use bitfield helpers
        mfd: rc5t583: Convert to use maple tree register cache
        ...
      8403ce70
    • Linus Torvalds's avatar
      Merge tag 'pinctrl-v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl · a3df5d54
      Linus Torvalds authored
      Pull pin control updates from Linus Walleij:
       "No core changes this time around.
      
        New drivers:
      
         - New driver for Renesas R8A779H0 also known as R-Car V4M.
      
         - New driver for the Awinic AW9523/B I2C GPIO expander. I found this
           living out-of-tree in OpenWrt as an upstream attempt had stalled on
           the finishing line, so I picked it up and finished the job.
      
        Improvements:
      
         - The Nomadik pin control driver was for years re-used out of tree
           for the ST STA chips, and now the IP was re-used in a MIPS
           automotive SoC called MobilEyeq5, so it has been split in pin
           control and GPIO drivers so the latter can be reused by MobilEyeq5.
           (Along with a long list of cleanups)
      
         - A lot of overall cleanup and tidying up"
      
      * tag 'pinctrl-v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (87 commits)
        drivers/gpio/nomadik: move dummy nmk_gpio_dbg_show_one() to header
        gpio: nomadik: remove BUG_ON() in nmk_gpio_populate_chip()
        dt-bindings: pinctrl: qcom: update compatible name for match with driver
        pinctrl: aw9523: Make the driver tristate
        pinctrl: nomadik: fix dereference of error pointer
        gpio: nomadik: Back out some managed resources
        pinctrl: aw9523: Add proper terminator
        pinctrl: core: comment that pinctrl_add_gpio_range() is deprecated
        pinctrl: pinmux: Suppress error message for -EPROBE_DEFER
        pinctrl: Add driver for Awinic AW9523/B I2C GPIO Expander
        dt-bindings: pinctrl: Add bindings for Awinic AW9523/AW9523B
        gpio: nomadik: Finish conversion to use firmware node APIs
        gpio: nomadik: fix Kconfig dependencies inbetween pinctrl & GPIO
        pinctrl: da9062: Add OF table
        dt-bindings: pinctrl: at91: add sam9x7
        pinctrl: ocelot: remove redundant assignment to variable ret
        gpio: nomadik: grab optional reset control and deassert it at probe
        gpio: nomadik: support mobileye,eyeq5-gpio
        gpio: nomadik: handle variadic GPIO count
        gpio: nomadik: support shared GPIO IRQs
        ...
      a3df5d54
    • Linus Torvalds's avatar
      Merge tag 'for-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply · 44f89c6d
      Linus Torvalds authored
      Pull power supply and reset updates from Sebastian Reichel:
       "New features:
         - axp20x_usb_power: report USB type
      
        Cleanups:
         - convert lots of drivers to use devm_power_supply_register()
         - convert lots of reset drivers to use devm_register_sys_off_handler()
         - constify device_type and power_supply_class
         - axp20x_usb_power: use correct property to report input current limit
         - mm8013: correct handling of "not charging" status register
         - core: fix charge_behaviour formatting
         - minor fixes cleanups"
      
      * tag 'for-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (66 commits)
        power: supply: core: fix charge_behaviour formatting
        power: supply: core: ease special formatting implementations
        power: supply: mm8013: fix "not charging" detection
        power: supply: move power_supply_attr_groups definition back to sysfs
        power: supply: core: simplify power_supply_class_init
        power: supply: core: add power_supply_for_each_device()
        power: supply: core: make power_supply_class constant
        power: supply: bq2415x_charger: report online status
        power: supply: core: move power_supply_attr_group into #ifdef block
        power: supply: core: Fix power_supply_init_attrs() stub
        power: supply: bq27xxx: Report charge full state correctly
        power: reset: rmobile-reset: Make sysc_base2 local
        power: supply: core: constify the struct device_type usage
        power: supply: axp288_fuel_gauge: Deny ROCK Pi X
        power: reset: rmobile-reset: Map correct MMIO resource
        power: reset: xgene-reboot: Fix a NULL vs IS_ERR() test
        power: supply: axp288_fuel_gauge: Add STCK1A* Intel Compute Sticks to the deny-list
        power: reset: syscon-poweroff: Use devm_register_sys_off_handler(POWER_OFF)
        power: reset: syscon-poweroff: Move device data into a struct
        power: reset: restart-poweroff: Use devm_register_sys_off_handler(POWER_OFF)
        ...
      44f89c6d
    • Linus Torvalds's avatar
      Merge tag 'hsi-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi · 80d80de4
      Linus Torvalds authored
      Pull HSI updates from Sebastian Reichel:
      
       - fix kernel-doc warning
      
       - make hsi_bus_type const
      
      [ And as always I had to remind myself about the acronyn, so to avoid
        that for others: "HSI" is High Speed Synchronous Serial Interface,
        because of course it is.     - Linus ]
      
      * tag 'hsi-for-6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
        HSI: ssi_protocol: fix struct members kernel-doc warnings
        hsi: hsi_core: make hsi_bus_type const
      80d80de4
    • Linus Torvalds's avatar
      Merge tag 'hid-for-linus-2024031301' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid · 3e78a6c0
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - support for the following Bluetooth devices from Samsung: Samsung
         wireless {Keyboard, GamePad, Action Mouse, Book Cover, Universal
         Keyboard, HOGP Keyboard} (Sandeep C S)
      
       - second version of code for applying proper quirk depending on
         firmware version for lenovo/cptkbd (Mikhail Khvainitski)
      
       - lenovo/cptkbd firmware-dependent quirk (Mikhail Khvainitski)
      
       - assorted fixes and optimizations for amd-sfh (Basavaraj Natikar)
      
       - dead code and dead data structures removal (Jiri Slaby, Jiapeng
         Chong)
      
      * tag 'hid-for-linus-2024031301' of git://git.kernel.org/pub/scm/linux/kernel/git/hid/hid: (25 commits)
        HID: amd_sfh: Set the AMD SFH driver to depend on x86
        HID: input: avoid polling stylus battery on Chromebook Pompom
        HID: amd_sfh: Extend MP2 register access to SFH
        HID: amd_sfh: Improve boot time when SFH is available
        HID: amd_sfh: Avoid disabling the interrupt
        HID: amd_sfh: Update HPD sensor structure elements
        HID: amd_sfh: Increase sensor command timeout
        HID: intel-ish-hid: ipc: Add Arrow Lake PCI device ID
        HID: nintendo: Remove some unused functions
        HID: hid-prodikeys: remove struct pk_device
        HID: hid-prodikeys: remove unused struct pcmidi_snd members
        HID: hid-multitouch: remove unused mt_application::dev_time
        HID: hid-lg3ff: remove unused struct lg3ff_device
        HID: protect hid_device::bpf by CONFIG_HID_BPF
        HID: wacom: remove unused hid_data::pressure
        HID: apple: remove unused members from struct apple_sc_backlight
        HID: wacom: Clean up use of struct->wacom_wac
        HID: samsung: Add Samsung wireless bookcover and universal keyboard support
        HID: samsung: Add Samsung wireless action mouse support
        HID: samsung: Add Samsung wireless gamepad support
        ...
      3e78a6c0
    • Linus Torvalds's avatar
      Merge tag 'auxdisplay-v6.9-1' of... · b345ff69
      Linus Torvalds authored
      Merge tag 'auxdisplay-v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay
      
      Pull auxdisplay updates from Andy Shevchenko:
      
       - New driver for GPIO based 7-segment LED display (Chris Packham)
      
       - New driver for Maxim MAX6958/6959 I²C 7-segment LED display
         controller
      
       - Refactor linedisp library to make the above happen
      
       - Update Holtek HT16k33 driver to follow the linedisp refactoring
      
       - Convert .remove to return void in platform drivers (Uwe Kleine-König)
      
       - Fix DT schemas (Krzysztof Kozlowski)
      
       - Refresh MAINTAINERS database
      
      * tag 'auxdisplay-v6.9-1' of git://git.kernel.org/pub/scm/linux/kernel/git/andy/linux-auxdisplay: (27 commits)
        auxdisplay: img-ascii-lcd: Convert to platform remove callback returning void
        auxdisplay: hd44780: Convert to platform remove callback returning void
        auxdisplay: cfag12864bfb: Convert to platform remove callback returning void
        auxdisplay: seg-led-gpio: Import linedisp namespace
        dt-bindings: auxdisplay: Add bindings for generic 7-segment LED
        auxdisplay: Add 7-segment LED display driver
        auxdisplay: Add driver for MAX695x 7-segment LED controllers
        dt-bindings: auxdisplay: Add Maxim MAX6958/6959
        auxdisplay: ht16k33: Drop struct ht16k33_seg
        auxdisplay: ht16k33: Switch to use line display character mapping
        auxdisplay: ht16k33: Define a few helper macros
        auxdisplay: ht16k33: Move ht16k33_linedisp_ops down
        auxdisplay: ht16k33: Add default to switch-cases
        auxdisplay: linedisp: Allocate buffer for the string
        auxdisplay: linedisp: Add support for overriding character mapping
        auxdisplay: linedisp: Provide struct linedisp_ops for future extension
        auxdisplay: linedisp: Move exported symbols to a namespace
        auxdisplay: linedisp: Add missing header(s)
        auxdisplay: linedisp: Unshadow error codes in ->store()
        auxdisplay: linedisp: Use unique number for id
        ...
      b345ff69
    • Linus Torvalds's avatar
      Merge tag 'drm-next-2024-03-13' of https://gitlab.freedesktop.org/drm/kernel · 480e035f
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "Highlights are usual, more AMD IP blocks for future hw, i915/xe
        changes, Displayport tunnelling support for i915, msm YUV over DP
        changes, new tests for ttm, but its mostly a lot of stuff all over the
        place from lots of people.
      
        core:
         - EDID cleanups
         - scheduler error handling fixes
         - managed: add drmm_release_action() with tests
         - add ratelimited drm debug print
         - DPCD PSR early transport macro
         - DP tunneling and bandwidth allocation helpers
         - remove built-in edids
         - dp: Avoid AUX transfers on powered-down displays
         - dp: Add VSC SDP helpers
      
        cross drivers:
         - use new drm print helpers
         - switch to ->read_edid callback
         - gem: add stats for shared buffers plus updates to amdgpu, i915, xe
      
        syncobj:
         - fixes to waiting and sleeping
      
        ttm:
         - add tests
         - fix errno codes
         - simply busy-placement handling
         - fix page decryption
      
        media:
         - tc358743: fix v4l device registration
      
        video:
         - move all kernel parameters for video behind CONFIG_VIDEO
      
        sound:
         - remove <drm/drm_edid.h> include from header
      
        ci:
         - add tests for msm
         - fix apq8016 runner
      
        efifb:
         - use copy of global screen_info state
      
        vesafb:
         - use copy of global screen_info state
      
        simplefb:
         - fix logging
      
        bridge:
         - ite-6505: fix DP link-training bug
         - samsung-dsim: fix error checking in probe
         - samsung-dsim: add bsh-smm-s2/pro boards
         - tc358767: fix regmap usage
         - imx: add i.MX8MP HDMI PVI plus DT bindings
         - imx: add i.MX8MP HDMI TX plus DT bindings
         - sii902x: fix probing and unregistration
         - tc358767: limit pixel PLL input range
         - switch to new drm_bridge_read_edid() interface
      
        panel:
         - ltk050h3146w: error-handling fixes
         - panel-edp: support delay between power-on and enable; use put_sync
           in unprepare; support Mediatek MT8173 Chromebooks, BOE NV116WHM-N49
           V8.0, BOE NV122WUM-N41, CSO MNC207QS1-1 plus DT bindings
         - panel-lvds: support EDT ETML0700Z9NDHA plus DT bindings
         - panel-novatek: FRIDA FRD400B25025-A-CTK plus DT bindings
         - add BOE TH101MB31IG002-28A plus DT bindings
         - add EDT ETML1010G3DRA plus DT bindings
         - add Novatek NT36672E LCD DSI plus DT bindings
         - nt36523: support 120Hz timings, fix includes
         - simple: fix display timings on RK32FN48H
         - visionox-vtdr6130: fix initialization
         - add Powkiddy RGB10MAX3 plus DT bindings
         - st7703: support panel rotation plus DT bindings
         - add Himax HX83112A plus DT bindings
         - ltk500hd1829: add support for ltk101b4029w and admatec 9904370
         - simple: add BOE BP082WX1-100 8.2" panel plus DT bindungs
      
        panel-orientation-quirks:
         - GPD Win Mini
      
        amdgpu:
         - Validate DMABuf imports in compute VMs
         - Add RAS ACA framework
         - PSP 13 fixes
         - Misc code cleanups
         - Replay fixes
         - Atom interpretor PS, WS bounds checking
         - DML2 fixes
         - Audio fixes
         - DCN 3.5 Z state fixes
         - Remove deprecated ida_simple usage
         - UBSAN fixes
         - RAS fixes
         - Enable seq64 infrastructure
         - DC color block enablement
         - Documentation updates
         - DC documentation updates
         - DMCUB updates
         - ATHUB 4.1 support
         - LSDMA 7.0 support
         - JPEG DPG support
         - IH 7.0 support
         - HDP 7.0 support
         - VCN 5.0 support
         - SMU 13.0.6 updates
         - NBIO 7.11 updates
         - SDMA 6.1 updates
         - MMHUB 3.3 updates
         - DCN 3.5.1 support
         - NBIF 6.3.1 support
         - VPE 6.1.1 support
      
        amdkfd:
         - Validate DMABuf imports in compute VMs
         - SVM fixes
         - Trap handler updates and enhancements
         - Fix cache size reporting
         - Relocate the trap handler
      
        radeon:
         - Atom interpretor PS, WS bounds checking
         - Misc code cleanups
      
        xe:
         - new query for GuC submission version
         - Remove unused persistent exec_queues
         - Add vram frequency sysfs attributes
         - Add the flag XE_VM_BIND_FLAG_DUMPABLE
         - Drop pre-production workarounds
         - Drop kunit tests for unsupported platforms
         - Start pumbling SR-IOV support with memory based interrupts for VF
         - Allow to map BO in GGTT with PAT index corresponding to XE_CACHE_UC
           to work with memory based interrupts
         - Add GuC Doorbells Manager as prep work SR-IOV
         - Implement additional workarounds for xe2 and MTL
         - Program a few registers according to perfomance guide spec for Xe2
         - Fix remaining 32b build issues and enable it back
         - Fix build with CONFIG_DEBUG_FS=n
         - Fix warnings from GuC ABI headers
         - Introduce Relay Communication for SR-IOV for VF <-> GuC <-> PF
         - Release mmap mappings on rpm suspend
         - Disable mid-thread preemption when not properly supported by
           hardware
         - Fix xe_exec by reserving extra fence slot for CPU bind
         - Fix xe_exec with full long running exec queue
         - Canonicalize addresses where needed for Xe2 and add to devcoredum
         - Toggle USM support for Xe2
         - Only allow 1 ufence per exec / bind IOCTL
         - Add GuC firmware loading for Lunar Lake
         - Add XE_VMA_PTE_64K VMA flag
      
        i915:
         - Add more ADL-N PCI IDs
         - Enable fastboot also on older platforms
         - Early transport for panel replay and PSR
         - New ARL PCI IDs
         - DP TPS4 PHY test pattern support
         - Unify and improve VSC SDP for PSR and non-PSR cases
         - Refactor memory regions and improve debug logging
         - Rework global state serialization
         - Remove unused CDCLK divider fields
         - Unify HDCP connector logging format
         - Use display instead of graphics version in display code
         - Move VBT and opregion debugfs next to the implementation
         - Abstract opregion interface, use opaque type
         - MTL fixes
         - HPD handling fixes
         - Add GuC submission interface version query
         - Atomically invalidate userptr on mmu-notifier
         - Update handling of MMIO triggered reports
         - Don't make assumptions about intel_wakeref_t type
         - Extend driver code of Xe_LPG to Xe_LPG+
         - Add flex arrays to struct i915_syncmap
         - Allow for very slow HuC loading
         - DP tunneling and bandwidth allocation support
      
        msm:
         - Correct bindings for MSM8976 and SM8650 platforms
         - Start migration of MDP5 platforms to DPU driver
         - X1E80100 MDSS support
         - DPU:
            - Improve DSC allocation, fixing several important corner cases
            - Add support for SDM630/SDM660 platforms
            - Simplify dpu_encoder_phys_ops
            - Apply fixes targeting DSC support with a single DSC encoder
            - Apply fixes for HCTL_EN timing configuration
            - X1E80100 support
            - Add support for YUV420 over DP
         - GPU:
            - fix sc7180 UBWC config
            - fix a7xx LLC config
            - new gpu support: a305B, a750, a702
            - machine support: SM7150 (different power levels than other a618)
            - a7xx devcoredump support
      
        habanalabs:
         - configure IRQ affinity according to NUMA node
         - move HBM MMU page tables inside the HBM
         - improve device reset
         - check extended PCIe errors
      
        ivpu:
         - updates to firmware API
         - refactor BO allocation
      
        imx:
         - use devm_ functions during init
      
        hisilicon:
         - fix EDID includes
      
        mgag200:
         - improve ioremap usage
         - convert to struct drm_edid
         - Work around PCI write bursts
      
        nouveau:
         - disp: use kmemdup()
         - fix EDID includes
         - documentation fixes
      
        qaic:
         - fixes to BO handling
         - make use of DRM managed release
         - fix order of remove operations
      
        rockchip:
         - analogix_dp: get encoder port from DT
         - inno_hdmi: support HDMI for RK3128
         - lvds: error-handling fixes
      
        ssd130x:
         - support SSD133x plus DT bindings
      
        tegra:
         - fix error handling
      
        tilcdc:
         - make use of DRM managed release
      
        v3d:
         - show memory stats in debugfs
         - Support display MMU page size
      
        vc4:
         - fix error handling in plane prepare_fb
         - fix framebuffer test in plane helpers
      
        virtio:
         - add venus capset defines
      
        vkms:
         - fix OOB access when programming the LUT
         - Kconfig improvements
      
        vmwgfx:
         - unmap surface before changing plane state
         - fix memory leak in error handling
         - documentation fixes
         - list command SVGA_3D_CMD_DEFINE_GB_SURFACE_V4 as invalid
         - fix null-pointer deref in execbuf
         - refactor display-mode probing
         - fix fencing for creating cursor MOBs
         - fix cursor-memory lifetime
      
        xlnx:
         - fix live video input for ZynqMP DPSUB
      
        lima:
         - fix memory leak
      
        loongson:
         - fail if no VRAM present
      
        meson:
         - switch to new drm_bridge_read_edid() interface
      
        renesas:
         - add RZ/G2L DU support plus DT bindings
      
        mxsfb:
         - Use managed mode config
      
        sun4i:
         - HDMI: updates to atomic mode setting
      
        mediatek:
         - Add display driver for MT8188 VDOSYS1
         - DSI driver cleanups
         - Filter modes according to hardware capability
         - Fix a null pointer crash in mtk_drm_crtc_finish_page_flip
      
        etnaviv:
         - enhancements for NPU and MRT support"
      
      * tag 'drm-next-2024-03-13' of https://gitlab.freedesktop.org/drm/kernel: (1420 commits)
        drm/amd/display: Removed redundant @ symbol to fix kernel-doc warnings in -next repo
        drm/amd/pm: wait for completion of the EnableGfxImu message
        drm/amdgpu/soc21: add mode2 asic reset for SMU IP v14.0.1
        drm/amdgpu: add smu 14.0.1 support
        drm/amdgpu: add VPE 6.1.1 discovery support
        drm/amdgpu/vpe: add VPE 6.1.1 support
        drm/amdgpu/vpe: don't emit cond exec command under collaborate mode
        drm/amdgpu/vpe: add collaborate mode support for VPE
        drm/amdgpu/vpe: add PRED_EXE and COLLAB_SYNC OPCODE
        drm/amdgpu/vpe: add multi instance VPE support
        drm/amdgpu/discovery: add nbif v6_3_1 ip block
        drm/amdgpu: Add nbif v6_3_1 ip block support
        drm/amdgpu: Add pcie v6_1_0 ip headers (v5)
        drm/amdgpu: Add nbif v6_3_1 ip headers (v5)
        arch/powerpc: Remove <linux/fb.h> from backlight code
        macintosh/via-pmu-backlight: Include <linux/backlight.h>
        fbdev/chipsfb: Include <linux/backlight.h>
        drm/etnaviv: Restore some id values
        drm/amdkfd: make kfd_class constant
        drm/amdgpu: add ring timeout information in devcoredump
        ...
      480e035f
  2. 13 Mar, 2024 28 commits
    • Linus Torvalds's avatar
      Merge tag 'fs_for_v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · e5e038b7
      Linus Torvalds authored
      Pull ext2, isofs, udf, and quota updates from Jan Kara:
       "A lot of material this time:
      
         - removal of a lot of GFP_NOFS usage from ext2, udf, quota (either it
           was legacy or replaced with scoped memalloc_nofs_*() API)
      
         - removal of BUG_ONs in quota code
      
         - conversion of UDF to the new mount API
      
         - tightening quota on disk format verification
      
         - fix some potentially unsafe use of RCU pointers in quota code and
           annotate everything properly to make sparse happy
      
         - a few other small quota, ext2, udf, and isofs fixes"
      
      * tag 'fs_for_v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs: (26 commits)
        udf: remove SLAB_MEM_SPREAD flag usage
        quota: remove SLAB_MEM_SPREAD flag usage
        isofs: remove SLAB_MEM_SPREAD flag usage
        ext2: remove SLAB_MEM_SPREAD flag usage
        ext2: mark as deprecated
        udf: convert to new mount API
        udf: convert novrs to an option flag
        MAINTAINERS: add missing git address for ext2 entry
        quota: Detect loops in quota tree
        quota: Properly annotate i_dquot arrays with __rcu
        quota: Fix rcu annotations of inode dquot pointers
        isofs: handle CDs with bad root inode but good Joliet root directory
        udf: Avoid invalid LVID used on mount
        quota: Fix potential NULL pointer dereference
        quota: Drop GFP_NOFS instances under dquot->dq_lock and dqio_sem
        quota: Set nofs allocation context when acquiring dqio_sem
        ext2: Remove GFP_NOFS use in ext2_xattr_cache_insert()
        ext2: Drop GFP_NOFS use in ext2_get_blocks()
        ext2: Drop GFP_NOFS allocation from ext2_init_block_alloc_info()
        udf: Remove GFP_NOFS allocation in udf_expand_file_adinicb()
        ...
      e5e038b7
    • Linus Torvalds's avatar
      Merge tag 'fsnotify_for_v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs · 1715f710
      Linus Torvalds authored
      Pull fsnotify updates from Jan Kara:
      
       - fsnotify optimizations to reduce cost of fsnotify when nobody is
         watching
      
       - fix longstanding wart that system could not be suspended when some
         process was waiting for response to fanotify permission event
      
       - some spelling fixes
      
      * tag 'fsnotify_for_v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux-fs:
        fanotify: allow freeze when waiting response for permission events
        fanotify: Fix misspelling of "writable"
        fsnotify: Fix misspelling of "writable"
        inotify: Fix misspelling of "writable"
        fsnotify: Add fsnotify_sb_has_watchers() helper
        fsnotify: optimize the case of no parent watcher
      1715f710
    • Linus Torvalds's avatar
      Merge tag 'xfs-6.9-merge-8' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · babbcc02
      Linus Torvalds authored
      Pull xfs updates from Chandan Babu:
      
       - Online repair updates:
          - More ondisk structures being repaired:
              - Inode's mode field by trying to obtain file type value from
                the a directory entry
              - Quota counters
              - Link counts of inodes
              - FS summary counters
              - Support for in-memory btrees has been added to support repair
                of rmap btrees
          - Misc changes:
              - Report corruption of metadata to the health tracking subsystem
              - Enable indirect health reporting when resources are scarce
              - Reduce memory usage while repairing refcount btree
              - Extend "Bmap update" intent item to support atomic extent
                swapping on the realtime device
              - Extend "Bmap update" intent item to support extended attribute
                fork and unwritten extents
          - Code cleanups:
              - Bmap log intent
              - Btree block pointer checking
              - Btree readahead
              - Buffer target
              - Symbolic link code
      
       - Remove mrlock wrapper around the rwsem
      
       - Convert all the GFP_NOFS flag usages to use the scoped
         memalloc_nofs_save() API instead of direct calls with the GFP_NOFS
      
       - Refactor and simplify xfile abstraction. Lower level APIs in shmem.c
         are required to be exported in order to achieve this
      
       - Skip checking alignment constraints for inode chunk allocations when
         block size is larger than inode chunk size
      
       - Do not submit delwri buffers collected during log recovery when an
         error has been encountered
      
       - Fix SEEK_HOLE/DATA for file regions which have active COW extents
      
       - Fix lock order inversion when executing error handling path during
         shrinking a filesystem
      
       - Remove duplicate ifdefs
      
      * tag 'xfs-6.9-merge-8' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (183 commits)
        xfs: shrink failure needs to hold AGI buffer
        mm/shmem.c: Use new form of *@param in kernel-doc
        kernel-doc: Add unary operator * to $type_param_ref
        xfs: use kvfree() in xlog_cil_free_logvec()
        xfs: xfs_btree_bload_prep_block() should use __GFP_NOFAIL
        xfs: fix scrub stats file permissions
        xfs: fix log recovery erroring out on refcount recovery failure
        xfs: move symlink target write function to libxfs
        xfs: move remote symlink target read function to libxfs
        xfs: move xfs_symlink_remote.c declarations to xfs_symlink_remote.h
        xfs: xfs_bmap_finish_one should map unwritten extents properly
        xfs: support deferred bmap updates on the attr fork
        xfs: support recovering bmap intent items targetting realtime extents
        xfs: add a realtime flag to the bmap update log redo items
        xfs: add a xattr_entry helper
        xfs: fix xfs_bunmapi to allow unmapping of partial rt extents
        xfs: move xfs_bmap_defer_add to xfs_bmap_item.c
        xfs: reuse xfs_bmap_update_cancel_item
        xfs: add a bi_entry helper
        xfs: remove xfs_trans_set_bmap_flags
        ...
      babbcc02
    • Jiri Kosina's avatar
      Merge branch 'for-6.9/wacom' into for-linus · 0db18cd8
      Jiri Kosina authored
      - small cleanup of struct->wacom_wac usage (Tatsunosuke Tobita)
      0db18cd8
    • Jiri Kosina's avatar
      Merge branch 'for-6.9/unused-struct-removal' into for-linus · 8c9089ef
      Jiri Kosina authored
      - removal of unused data structures all over the place (Jiri Slaby)
      8c9089ef
    • Jiri Kosina's avatar
      Merge branch 'for-6.9/samsung' into for-linus · 58cd69cb
      Jiri Kosina authored
      - support for the following Bluetooth devices (Sandeep C S):
      
              Samsung wireless Keyboard
              Samsung wireless GamePad
              Samsung Wireless Action Mouse
              Samsung Wireless Book Cover
              Samsung Wireless Universal Keyboard
              Samsung Wireless HOGP Keyboard
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.com>
      58cd69cb
    • Jiri Kosina's avatar
      Merge branch 'for-6.9/nintendo' into for-linus · 1b99fb19
      Jiri Kosina authored
      - dead code removal in hid-nintendo (Jiapeng Chong)
      1b99fb19
    • Jiri Kosina's avatar
      Merge branch 'for-6.9/lenovo' into for-linus · 94596303
      Jiri Kosina authored
      - 2nd version of code for applying proper quirk depending on firmware version
        for lenovo/cptkbd (Mikhail Khvainitski)
      94596303
    • Jiri Kosina's avatar
      Merge branch 'for-6.9/amd-sfh' into for-linus · 2e21dee6
      Jiri Kosina authored
      - assorted fixes and optimizations for amd-sfh (Basavaraj Natikar)
      Signed-off-by: default avatarJiri Kosina <jkosina@suse.com>
      2e21dee6
    • Linus Torvalds's avatar
      Merge tag '6.9-rc-smb3-client-fixes-part1' of git://git.samba.org/sfrench/cifs-2.6 · 279d44ce
      Linus Torvalds authored
      Pull smb client updates from Steve French:
      
       - fix for folios/netfs data corruption in cifs_extend_writeback
      
       - additional tracepoint added
      
       - updates for special files and symlinks: improvements to allow
         selecting use of either WSL or NFS reparse point format on creating
         special files
      
       - allocation size improvement for cached files
      
       - minor cleanup patches
      
       - fix to allow changing the password on remount when password for the
         session is expired.
      
       - lease key related fixes: caching hardlinked files, deletes of
         deferred close files, and an important fix to better reuse lease keys
         for compound operations, which also can avoid lease break timeouts
         when low on credits
      
       - fix potential data corruption with write/readdir races
      
       - compression cleanups and a fix for compression headers
      
      * tag '6.9-rc-smb3-client-fixes-part1' of git://git.samba.org/sfrench/cifs-2.6: (24 commits)
        cifs: update internal module version number for cifs.ko
        smb: common: simplify compression headers
        smb: common: fix fields sizes in compression_pattern_payload_v1
        smb: client: negotiate compression algorithms
        smb3: add dynamic trace point for ioctls
        cifs: Fix writeback data corruption
        smb: client: return reparse type in /proc/mounts
        smb: client: set correct d_type for reparse DFS/DFSR and mount point
        smb: client: parse uid, gid, mode and dev from WSL reparse points
        smb: client: introduce SMB2_OP_QUERY_WSL_EA
        smb: client: Fix a NULL vs IS_ERR() check in wsl_set_xattrs()
        smb: client: add support for WSL reparse points
        smb: client: reduce number of parameters in smb2_compound_op()
        smb: client: fix potential broken compound request
        smb: client: move most of reparse point handling code to common file
        smb: client: introduce reparse mount option
        smb: client: retry compound request without reusing lease
        smb: client: do not defer close open handles to deleted files
        smb: client: reuse file lease key in compound operations
        smb3: update allocation size more accurately on write completion
        ...
      279d44ce
    • Christian Brauner's avatar
      pidfs: remove config option · 9d9539db
      Christian Brauner authored
      As Linus suggested this enables pidfs unconditionally. A key property to
      retain is the ability to compare pidfds by inode number (cf. [1]).
      That's extremely helpful just as comparing namespace file descriptors by
      inode number is. They are used in a variety of scenarios where they need
      to be compared, e.g., when receiving a pidfd via SO_PEERPIDFD from a
      socket to trivially authenticate a the sender and various other
      use-cases.
      
      For 64bit systems this is pretty trivial to do. For 32bit it's slightly
      more annoying as we discussed but we simply add a dumb ida based
      allocator that gets used on 32bit. This gives the same guarantees about
      inode numbers on 64bit without any overflow risk. Practically, we'll
      never run into overflow issues because we're constrained by the number
      of processes that can exist on 32bit and by the number of open files
      that can exist on a 32bit system. On 64bit none of this matters and
      things are very simple.
      
      If 32bit also needs the uniqueness guarantee they can simply parse the
      contents of /proc/<pid>/fd/<nr>. The uniqueness guarantees have a
      variety of use-cases. One of the most obvious ones is that they will
      make pidfiles (or "pidfdfiles", I guess) reliable as the unique
      identifier can be placed into there that won't be reycled. Also a
      frequent request.
      
      Note, I took the chance and simplified path_from_stashed() even further.
      Instead of passing the inode number explicitly to path_from_stashed() we
      let the filesystem handle that internally. So path_from_stashed() ends
      up even simpler than it is now. This is also a good solution allowing
      the cleanup code to be clean and consistent between 32bit and 64bit. The
      cleanup path in prepare_anon_dentry() is also switched around so we put
      the inode before the dentry allocation. This means we only have to call
      the cleanup handler for the filesystem's inode data once and can rely
      ->evict_inode() otherwise.
      
      Aside from having to have a bit of extra code for 32bit it actually ends
      up a nice cleanup for path_from_stashed() imho.
      
      Tested on both 32 and 64bit including error injection.
      
      Link: https://github.com/systemd/systemd/pull/31713 [1]
      Link: https://lore.kernel.org/r/20240312-dingo-sehnlich-b3ecc35c6de7@braunerSigned-off-by: default avatarChristian Brauner <brauner@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9d9539db
    • Linus Torvalds's avatar
      Merge tag 'modules-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux · ce0c1c92
      Linus Torvalds authored
      Pull modules updates from Luis Chamberlain:
       "Christophe Leroy did most of the work on this release, first with a
        few cleanups on CONFIG_STRICT_KERNEL_RWX and ending with error
        handling for when set_memory_XX() can fail.
      
        This is part of a larger effort to clean up all these callers which
        can fail, modules is just part of it"
      
      * tag 'modules-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/linux:
        module: Don't ignore errors from set_memory_XX()
        lib/test_kmod: fix kernel-doc warnings
        powerpc: Simplify strict_kernel_rwx_enabled()
        modules: Remove #ifdef CONFIG_STRICT_MODULE_RWX around rodata_enabled
        init: Declare rodata_enabled and mark_rodata_ro() at all time
        module: Change module_enable_{nx/x/ro}() to more explicit names
        module: Use set_memory_rox()
      ce0c1c92
    • Linus Torvalds's avatar
      Merge tag 'efi-next-for-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi · 70ef6544
      Linus Torvalds authored
      Pull EFI updates from Ard Biesheuvel:
      
       - Measure initrd and command line using the CC protocol if the ordinary
         TCG2 protocol is not implemented, typically on TDX confidential VMs
      
       - Avoid creating mappings that are both writable and executable while
         running in the EFI boot services. This is a prerequisite for getting
         the x86 shim loader signed by MicroSoft again, which allows the
         distros to install on x86 PCs that ship with EFI secure boot enabled.
      
       - API update for struct platform_driver::remove()
      
      * tag 'efi-next-for-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi:
        virt: efi_secret: Convert to platform remove callback returning void
        x86/efistub: Remap kernel text read-only before dropping NX attribute
        efi/libstub: Add get_event_log() support for CC platforms
        efi/libstub: Measure into CC protocol if TCG2 protocol is absent
        efi/libstub: Add Confidential Computing (CC) measurement typedefs
        efi/tpm: Use symbolic GUID name from spec for final events table
        efi/libstub: Use TPM event typedefs from the TCG PC Client spec
      70ef6544
    • Linus Torvalds's avatar
      Merge tag 'tpmdd-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd · 27b984af
      Linus Torvalds authored
      Pull tpm updates from Jarkko Sakkinen:
       "Small bug fixes and device tree updates. No new features"
      
      * tag 'tpmdd-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
        tpm: tis_i2c: Add compatible string nuvoton,npct75x
        tpm_tis: Add compatible string atmel,at97sc3204
        tpm_tis_spi: Add compatible string atmel,attpm20p
        dt-bindings: tpm: Add compatible string atmel,attpm20p
        tpm,tpm_tis: Avoid warning splat at shutdown
        tpm/tpm_ftpm_tee: fix all kernel-doc warnings
      27b984af
    • Linus Torvalds's avatar
      Merge tag 'mailbox-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox · 9687d4ac
      Linus Torvalds authored
      Pull mailbox updates from Jassi Brar:
      
       - imx: add support for i.MX95 ELE/V2X MU
      
       - misc: I will be signing-off from my personal gmail id from now on
      
      * tag 'mailbox-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/jassibrar/mailbox:
        mailbox: imx: support i.MX95 Generic/ELE/V2X MU
        mailbox: imx: populate sub-nodes
        mailbox: imx: get RR/TR registers num from Parameter register
        mailbox: imx: support return value of init
        dt-bindings: mailbox: fsl,mu: add i.MX95 Generic/ELE/V2X MU compatible
      9687d4ac
    • Linus Torvalds's avatar
      Merge tag 'thermal-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 259f7d5e
      Linus Torvalds authored
      Pull thermal control updates from Rafael Wysocki:
       "These mostly change the thermal core in a few ways allowing thermal
        drivers to be simplified, in particular in their removal and failing
        probe handling parts that are notoriously prone to errors, and
        propagate the changes to several drivers.
      
        Apart from that, support for a new platform is added (Intel Lunar
        Lake-M), some bugs are fixed and some code is cleaned up, as usual.
      
        Specifics:
      
         - Store zone trips table and zone operations directly in struct
           thermal_zone_device (Rafael Wysocki)
      
         - Fix up flex array initialization during thermal zone device
           registration (Nathan Chancellor)
      
         - Rework writable trip points handling in the thermal core and
           several drivers (Rafael Wysocki)
      
         - Thermal core code cleanups (Dan Carpenter, Flavio Suligoi)
      
         - Use thermal zone accessor functions in the int340x Intel thermal
           driver (Rafael Wysocki)
      
         - Add Lunar Lake-M PCI ID to the int340x Intel thermal driver
           (Srinivas Pandruvada)
      
         - Minor fixes for thermal governors (Rafael Wysocki, Di Shen)
      
         - Trip point handling fixes for the iwlwifi wireless driver (Rafael
           Wysocki)
      
         - Code cleanups (Rafael J. Wysocki, AngeloGioacchino Del Regno)"
      
      * tag 'thermal-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (29 commits)
        thermal: core: remove unnecessary check in trip_point_hyst_store()
        thermal: intel: int340x_thermal: Use thermal zone accessor functions
        thermal: core: Remove excess empty line from a comment
        thermal: int340x: processor_thermal: Add Lunar Lake-M PCI ID
        thermal: core: Eliminate writable trip points masks
        thermal: of: Set THERMAL_TRIP_FLAG_RW_TEMP directly
        thermal: imx: Set THERMAL_TRIP_FLAG_RW_TEMP directly
        wifi: iwlwifi: mvm: Set THERMAL_TRIP_FLAG_RW_TEMP directly
        mlxsw: core_thermal: Set THERMAL_TRIP_FLAG_RW_TEMP directly
        thermal: intel: Set THERMAL_TRIP_FLAG_RW_TEMP directly
        thermal: core: Drop the .set_trip_hyst() thermal zone operation
        thermal: core: Add flags to struct thermal_trip
        thermal: core: Move initial num_trips assignment before memcpy()
        thermal: Get rid of CONFIG_THERMAL_WRITABLE_TRIPS
        thermal: intel: Adjust ops handling during thermal zone registration
        thermal: ACPI: Constify acpi_thermal_zone_ops
        thermal: core: Store zone ops in struct thermal_zone_device
        thermal: intel: Discard trip tables after zone registration
        thermal: ACPI: Discard trips table after zone registration
        thermal: core: Store zone trips table in struct thermal_zone_device
        ...
      259f7d5e
    • Linus Torvalds's avatar
      Merge tag 'acpi-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 94344679
      Linus Torvalds authored
      Pull ACPI updates from Rafael Wysocki:
       "These modify the ACPI device events and processor enumeration code to
        take the 'enabled' _STA bit into account as mandated by the ACPI
        specification, convert several platform drivers to using a remove
        callback that returns void, add some new quirks for ACPI IRQ override
        and other things, address assorted issues and clean up code.
      
        Specifics:
      
         - Rearrange Device Check and Bus Check notification handling in the
           ACPI device hotplug code to make it get the "enabled" _STA bit into
           account (Rafael Wysocki)
      
         - Modify acpi_processor_add() to skip processors with the "enabled"
           _STA bit clear, as per the specification (Rafael Wysocki)
      
         - Stop failing Device Check notification handling without a valid
           reason (Rafael Wysocki)
      
         - Defer enumeration of devices that depend on a device with an ACPI
           device ID equalt to INTC10CF to address probe ordering issues on
           some platforms (Wentong Wu)
      
         - Constify acpi_bus_type (Ricardo Marliere)
      
         - Make the ACPI-specific suspend-to-idle code take the Low-Power S0
           Idle MSFT UUID into account on non-AMD systems (Rafael Wysocki)
      
         - Add ACPI IRQ override quirks for some new platforms (Sergey
           Kalinichev, Maxim Kudinov, Alexey Froloff, Sviatoslav Harasymchuk,
           Nicolas Haye)
      
         - Make the NFIT parsing code use acpi_evaluate_dsm_typed() (Andy
           Shevchenko)
      
         - Fix a memory leak in acpi_processor_power_exit() (Armin Wolf)
      
         - Make it possible to quirk the CSI-2 and MIPI DisCo for Imaging
           properties parsing and add a quirk for Dell XPS 9315 (Sakari Ailus)
      
         - Prevent false-positive static checker warnings from triggering by
           intializing some variables in the ACPI thermal code to zero (Colin
           Ian King)
      
         - Add DELL0501 handling to acpi_quirk_skip_serdev_enumeration() and
           make that function generic (Hans de Goede)
      
         - Make the ACPI backlight code handle fetching EDID that is longer
           than 256 bytes (Mario Limonciello)
      
         - Skip initialization of GHES_ASSIST structures for Machine Check
           Architecture in APEI (Avadhut Naik)
      
         - Convert several plaform drivers in the ACPI subsystem to using a
           remove callback that returns void (Uwe Kleine-König)
      
         - Drop the long-deprecated custom_method debugfs interface that is
           problematic from the security standpoint (Rafael Wysocki)
      
         - Use %pe in a couple of places in the ACPI code for easier error
           decoding (Onkarnath)
      
         - Fix register width information handling during system memory
           accesses in the ACPI CPPC library (Jarred White)
      
         - Add AMD CPPC V2 support for family 17h processors to the ACPI CPPC
           library (Perry Yuan)"
      
      * tag 'acpi-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (35 commits)
        ACPI: resource: Use IRQ override on Maibenben X565
        ACPI: CPPC: Use access_width over bit_width for system memory accesses
        ACPI: CPPC: enable AMD CPPC V2 support for family 17h processors
        ACPI: APEI: Skip initialization of GHES_ASSIST structures for Machine Check Architecture
        ACPI: scan: Consolidate Device Check and Bus Check notification handling
        ACPI: scan: Rework Device Check and Bus Check notification handling
        ACPI: scan: Make acpi_processor_add() check the device enabled bit
        ACPI: scan: Relocate acpi_bus_trim_one()
        ACPI: scan: Fix device check notification handling
        ACPI: resource: Add MAIBENBEN X577 to irq1_edge_low_force_override
        ACPI: pfr_update: Convert to platform remove callback returning void
        ACPI: pfr_telemetry: Convert to platform remove callback returning void
        ACPI: fan: Convert to platform remove callback returning void
        ACPI: GED: Convert to platform remove callback returning void
        ACPI: DPTF: Convert to platform remove callback returning void
        ACPI: AGDI: Convert to platform remove callback returning void
        ACPI: TAD: Convert to platform remove callback returning void
        ACPI: APEI: GHES: Convert to platform remove callback returning void
        ACPI: property: Polish ignoring bad data nodes
        ACPI: thermal_lib: Initialize temp_decik to zero
        ...
      94344679
    • Linus Torvalds's avatar
      Merge tag 'pm-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 07abb19a
      Linus Torvalds authored
      Pull power management updates from Rafael Wysocki:
       "From the functional perspective, the most significant change here is
        the addition of support for Energy Models that can be updated
        dynamically at run time.
      
        There is also the addition of LZ4 compression support for hibernation,
        the new preferred core support in amd-pstate, new platforms support in
        the Intel RAPL driver, new model-specific EPP handling in intel_pstate
        and more.
      
        Apart from that, the cpufreq default transition delay is reduced from
        10 ms to 2 ms (along with some related adjustments), the system
        suspend statistics code undergoes a significant rework and there is a
        usual bunch of fixes and code cleanups all over.
      
        Specifics:
      
         - Allow the Energy Model to be updated dynamically (Lukasz Luba)
      
         - Add support for LZ4 compression algorithm to the hibernation image
           creation and loading code (Nikhil V)
      
         - Fix and clean up system suspend statistics collection (Rafael
           Wysocki)
      
         - Simplify device suspend and resume handling in the power management
           core code (Rafael Wysocki)
      
         - Fix PCI hibernation support description (Yiwei Lin)
      
         - Make hibernation take set_memory_ro() return values into account as
           appropriate (Christophe Leroy)
      
         - Set mem_sleep_current during kernel command line setup to avoid an
           ordering issue with handling it (Maulik Shah)
      
         - Fix wake IRQs handling when pm_runtime_force_suspend() is used as a
           driver's system suspend callback (Qingliang Li)
      
         - Simplify pm_runtime_get_if_active() usage and add a replacement for
           pm_runtime_put_autosuspend() (Sakari Ailus)
      
         - Add a tracepoint for runtime_status changes tracking (Vilas Bhat)
      
         - Fix section title markdown in the runtime PM documentation (Yiwei
           Lin)
      
         - Enable preferred core support in the amd-pstate cpufreq driver
           (Meng Li)
      
         - Fix min_perf assignment in amd_pstate_adjust_perf() and make the
           min/max limit perf values in amd-pstate always stay within the
           (highest perf, lowest perf) range (Tor Vic, Meng Li)
      
         - Allow intel_pstate to assign model-specific values to strings used
           in the EPP sysfs interface and make it do so on Meteor Lake
           (Srinivas Pandruvada)
      
         - Drop long-unused cpudata::prev_cummulative_iowait from the
           intel_pstate cpufreq driver (Jiri Slaby)
      
         - Prevent scaling_cur_freq from exceeding scaling_max_freq when the
           latter is an inefficient frequency (Shivnandan Kumar)
      
         - Change default transition delay in cpufreq to 2ms (Qais Yousef)
      
         - Remove references to 10ms minimum sampling rate from comments in
           the cpufreq code (Pierre Gondois)
      
         - Honour transition_latency over transition_delay_us in cpufreq (Qais
           Yousef)
      
         - Stop unregistering cpufreq cooling on CPU hot-remove (Viresh Kumar)
      
         - General enhancements / cleanups to ARM cpufreq drivers (tianyu2,
           Nícolas F. R. A. Prado, Erick Archer, Arnd Bergmann, Anastasia
           Belova)
      
         - Update cpufreq-dt-platdev to block/approve devices (Richard Acayan)
      
         - Make the SCMI cpufreq driver get a transition delay value from
           firmware (Pierre Gondois)
      
         - Prevent the haltpoll cpuidle governor from shrinking guest
           poll_limit_ns below grow_start (Parshuram Sangle)
      
         - Avoid potential overflow in integer multiplication when computing
           cpuidle state parameters (C Cheng)
      
         - Adjust MWAIT hint target C-state computation in the ACPI cpuidle
           driver and in intel_idle to return a correct value for C0 (He
           Rongguang)
      
         - Address multiple issues in the TPMI RAPL driver and add support for
           new platforms (Lunar Lake-M, Arrow Lake) to Intel RAPL (Zhang Rui)
      
         - Fix freq_qos_add_request() return value check in dtpm_cpu (Daniel
           Lezcano)
      
         - Fix kernel-doc for dtpm_create_hierarchy() (Yang Li)
      
         - Fix file leak in get_pkg_num() in x86_energy_perf_policy (Samasth
           Norway Ananda)
      
         - Fix cpupower-frequency-info.1 man page typo (Jan Kratochvil)
      
         - Fix a couple of warnings in the OPP core code related to W=1 builds
           (Viresh Kumar)
      
         - Move dev_pm_opp_{init|free}_cpufreq_table() to pm_opp.h (Viresh
           Kumar)
      
         - Extend dev_pm_opp_data with turbo support (Sibi Sankar)
      
         - dt-bindings: drop maxItems from inner items (David Heidelberg)"
      
      * tag 'pm-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (95 commits)
        dt-bindings: opp: drop maxItems from inner items
        OPP: debugfs: Fix warning around icc_get_name()
        OPP: debugfs: Fix warning with W=1 builds
        cpufreq: Move dev_pm_opp_{init|free}_cpufreq_table() to pm_opp.h
        OPP: Extend dev_pm_opp_data with turbo support
        Fix cpupower-frequency-info.1 man page typo
        cpufreq: scmi: Set transition_delay_us
        firmware: arm_scmi: Populate fast channel rate_limit
        firmware: arm_scmi: Populate perf commands rate_limit
        cpuidle: ACPI/intel: fix MWAIT hint target C-state computation
        PM: sleep: wakeirq: fix wake irq warning in system suspend
        powercap: dtpm: Fix kernel-doc for dtpm_create_hierarchy() function
        cpufreq: Don't unregister cpufreq cooling on CPU hotplug
        PM: suspend: Set mem_sleep_current during kernel command line setup
        cpufreq: Honour transition_latency over transition_delay_us
        cpufreq: Limit resolving a frequency to policy min/max
        Documentation: PM: Fix runtime_pm.rst markdown syntax
        cpufreq: amd-pstate: adjust min/max limit perf
        cpufreq: Remove references to 10ms min sampling rate
        cpufreq: intel_pstate: Update default EPPs for Meteor Lake
        ...
      07abb19a
    • Linus Torvalds's avatar
      Merge tag 'pmdomain-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm · a070a08d
      Linus Torvalds authored
      Pull pmdomain updates from Ulf Hansson:
       "Core:
         - Log a message when unused PM domains gets disabled
         - Scale down parent/child performance states in the reverse order
      
        Providers:
         - qcom: rpmpd: Add power domains support for MSM8974, MSM8974PRO,
           PMA8084 and PM8841
         - renesas: rcar-gen4-sysc: Reduce atomic delays
         - renesas: rcar-sysc: Adjust the waiting time to cover the worst case
         - renesas: r8a779h0-sysc: Add support for the r8a779h0 PM domains
         - imx: imx8mp-blk-ctrl: Add the fdcc clock to the hdmimix domains
         - imx: imx8mp-blk-ctrl: Error out if domains are missing in DT
      
        Improve support for multiple PM domains:
         - Add two helper functions to attach/detach multiple PM domains
         - Convert a couple of drivers to use the new helper functions"
      
      * tag 'pmdomain-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm: (22 commits)
        pmdomain: renesas: rcar-gen4-sysc: Reduce atomic delays
        pmdomain: renesas: Adjust the waiting time to cover the worst case
        pmdomain: qcom: rpmpd: Add MSM8974PRO+PMA8084 power domains
        pmdomain: qcom: rpmpd: Add MSM8974+PM8841 power domains
        pmdomain: core: constify of_phandle_args in add device and subdomain
        pmdomain: core: constify of_phandle_args in xlate
        media: venus: Convert to dev_pm_domain_attach|detach_list() for vcodec
        remoteproc: qcom_q6v5_adsp: Convert to dev_pm_domain_attach|detach_list()
        remoteproc: imx_rproc: Convert to dev_pm_domain_attach|detach_list()
        remoteproc: imx_dsp_rproc: Convert to dev_pm_domain_attach|detach_list()
        PM: domains: Add helper functions to attach/detach multiple PM domains
        pmdomain: imx8mp-blk-ctrl: imx8mp_blk: Add fdcc clock to hdmimix domain
        pmdomain: mediatek: Use devm_platform_ioremap_resource() in init_scp()
        pmdomain: renesas: r8a779h0-sysc: Add r8a779h0 support
        pmdomain: imx8mp-blk-ctrl: Error out if domains are missing in DT
        pmdomain: ti: Add a null pointer check to the omap_prm_domain_init
        pmdomain: renesas: rcar-gen4-sysc: Remove unneeded includes
        pmdomain: core: Print a message when unused power domains are disabled
        pmdomain: qcom: rpmpd: Keep one RPM handle for all RPMPDs
        pmdomain: core: Scale down parent/child performance states in reverse order
        ...
      a070a08d
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 15223fdb
      Linus Torvalds authored
      Pull hwmon updates from Guenter Roeck:
       "New drivers:
         - Amphenol ChipCap 2
         - ASPEED g6 PWM/Fan tach
         - Astera Labs PT5161L retimer
         - ASUS ROG RYUJIN II 360 AIO cooler
         - LTC4282
         - Microsoft Surface devices
         - MPS MPQ8785 Synchronous Step-Down Converter
         - NZXT Kraken X and Z series AIO CPU coolers
      
        Additional chip support in existing drivers:
         - Ayaneo Air Plus 7320u (oxp-sensors)
         - INA260 (ina2xx)
         - XPS 9315 (dell-smm)
         - MSI customer ID (nct6683)
      
        Devicetree bindings updates:
         - Common schema for hardware monitoring devices
         - Common schema for fans
         - Update chip descriptions to use common schema
         - Document regulator properties in several drivers
         - Explicit bindings for infineon buck converters
      
        Other improvements:
         - Replaced rbtree with maple tree register cache in several drivers
         - Added support for humidity min/max alarm and volatage fault
           attributes to hwmon core
         - Dropped non-functional I2C_CLASS_HWMON support for drivers w/o
           detect()
         - Dropped obsolete and redundant entried from MAINTAINERS
         - Cleaned up axi-fan-control and coretemp drivers
         - Minor fixes and improvements in several other drivers"
      
      * tag 'hwmon-for-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (70 commits)
        hwmon: (dell-smm) Add XPS 9315 to fan control whitelist
        hwmon: (aspeed-g6-pwm-tacho): Support for ASPEED g6 PWM/Fan tach
        dt-bindings: hwmon: Support Aspeed g6 PWM TACH Control
        dt-bindings: hwmon: fan: Add fan binding to schema
        dt-bindings: hwmon: tda38640: Add interrupt & regulator properties
        hwmon: (amc6821) add of_match table
        dt-bindings: hwmon: lm75: use common hwmon schema
        hwmon: (sis5595) drop unused DIV_TO_REG function
        dt-bindings: hwmon: reference common hwmon schema
        dt-bindings: hwmon: lltc,ltc4286: use common hwmon schema
        dt-bindings: hwmon: adi,adm1275: use common hwmon schema
        dt-bindings: hwmon: ti,ina2xx: use common hwmon schema
        dt-bindings: hwmon: add common properties
        hwmon: (pmbus/ir38064) Use PMBUS_REGULATOR_ONE to declare regulator
        hwmon: (pmbus/lm25066) Use PMBUS_REGULATOR_ONE to declare regulator
        hwmon: (pmbus/tda38640) Use PMBUS_REGULATOR_ONE to declare regulator
        regulator: dt-bindings: promote infineon buck converters to their own binding
        dt-bindings: hwmon/pmbus: ti,lm25066: document regulators
        dt-bindings: hwmon: nuvoton,nct6775: Add compatible value for NCT6799
        MAINTAINERS: Drop redundant hwmon entries
        ...
      15223fdb
    • Linus Torvalds's avatar
      Merge tag 'gpio-updates-for-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · 69afef4a
      Linus Torvalds authored
      Pull gpio updates from Bartosz Golaszewski:
       "The biggest feature is the locking overhaul. Up until now the
        synchronization in the GPIO subsystem was broken. There was a single
        spinlock "protecting" multiple data structures but doing it wrong (as
        evidenced by several places where it would be released when a sleeping
        function was called and then reacquired without checking the protected
        state).
      
        We tried to use an RW semaphore before but the main issue with GPIO is
        that we have drivers implementing the interfaces in both sleeping and
        non-sleeping ways as well as user-facing interfaces that can be called
        both from process as well as atomic contexts. Both ends converge in
        the same code paths that can use neither spinlocks nor mutexes. The
        only reasonable way out is to use SRCU and go mostly lockless. To that
        end: we add several SRCU structs in relevant places and use them to
        assure consistency between API calls together with atomic reads and
        writes of GPIO descriptor flags where it makes sense.
      
        This code has spent several weeks in next and has received several
        fixes in the first week or two after which it stabilized nicely. The
        GPIO subsystem is now resilient to providers being suddenly unbound.
        We managed to also remove the existing character device RW semaphore
        and the obsolete global spinlock.
      
        Other than the locking rework we have one new driver (for Chromebook
        EC), much appreciated documentation improvements from Kent and the
        regular driver improvements, DT-bindings updates and GPIOLIB core
        tweaks.
      
        Serialization rework:
         - use SRCU to serialize access to the global GPIO device list, to
           GPIO device structs themselves and to GPIO descriptors
         - make the GPIO subsystem resilient to the GPIO providers being
           unbound while the API calls are in progress
         - don't dereference the SRCU-protected chip pointer if the
           information we need can be obtained from the GPIO device structure
         - move some of the information contained in struct gpio_chip to
           struct gpio_device to further reduce the need to dereference the
           former
         - pass the GPIO device struct instead of the GPIO chip to sysfs
           callback to, again, reduce the need for accessing the latter
         - get GPIO descriptors from the GPIO device, not from the chip for
           the same reason
         - allow for mostly lockless operation of the GPIO driver API: assure
           consistency with SRCU and atomic operations
         - remove the global GPIO spinlock
         - remove the character device RW semaphore
      
        Core GPIOLIB:
         - constify pointers in GPIO API where applicable
         - unify the GPIO counting APIs for ACPI and OF
         - provide a macro for iterating over all GPIOs, not only the ones
           that are requested
         - remove leftover typedefs
         - pass the consumer device to GPIO core in
           devm_fwnode_gpiod_get_index() for improved logging
         - constify the GPIO bus type
         - don't warn about removing GPIO chips with descriptors still held by
           users as we can now handle this situation gracefully
         - remove unused logging helpers
         - unexport functions that are only used internally in the GPIO
           subsystem
         - set the device type (assign the relevant struct device_type) for
           GPIO devices
      
        New drivers:
         - add the ChromeOS EC GPIO driver
      
        Driver improvements:
         - allow building gpio-vf610 with COMPILE_TEST as well as disabling it
           in menuconfig (before it was always built for i.MX cofigs)
         - count the number of EICs using the device properties instead of
           hard-coding it in gpio-eic-sprd
         - improve the device naming, extend the debugfs output and add
           lockdep asserts to gpio-sim
      
        DT bindings:
         - document the 'label' property for gpio-pca9570
         - convert aspeed,ast2400-gpio bindings to DT schema
         - disallow unevaluated properties for gpio-mvebu
         - document a new model in renesas,rcar-gpio
      
        Documentation:
         - improve the character device kerneldocs in user-space headers
         - add proper documentation for the character device uAPI (both v1 and v2)
         - move the sysfs and gpio-mockup docs into the "obsolete" section
         - improve naming consistency for GPIO terms
         - clarify the line values description for sysfs
         - minor docs improvements
         - improve the driver API contract for setting GPIO direction
         - mark unsafe APIs as deprecated in kerneldocs and suggest
           replacements
      
        Other:
         - remove an obsolete test from selftests"
      
      * tag 'gpio-updates-for-v6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (79 commits)
        gpio: sysfs: repair export returning -EPERM on 1st attempt
        selftest: gpio: remove obsolete gpio-mockup test
        gpiolib: Deduplicate cleanup for-loop in gpiochip_add_data_with_key()
        dt-bindings: gpio: aspeed,ast2400-gpio: Convert to DT schema
        gpio: acpi: Make acpi_gpio_count() take firmware node as a parameter
        gpio: of: Make of_gpio_get_count() take firmware node as a parameter
        gpiolib: Pass consumer device through to core in devm_fwnode_gpiod_get_index()
        gpio: sim: use for_each_hwgpio()
        gpio: provide for_each_hwgpio()
        gpio: don't warn about removing GPIO chips with active users anymore
        gpio: sim: delimit the fwnode name with a ":" when generating labels
        gpio: sim: add lockdep asserts
        gpio: Add ChromeOS EC GPIO driver
        gpio: constify of_phandle_args in of_find_gpio_device_by_xlate()
        gpio: fix memory leak in gpiod_request_commit()
        gpio: constify opaque pointer "data" in gpio_device_find()
        gpio: cdev: fix a NULL-pointer dereference with DEBUG enabled
        gpio: uapi: clarify default_values being logical
        gpio: sysfs: fix inverted pointer logic
        gpio: don't let lockdep complain about inherently dangerous RCU usage
        ...
      69afef4a
    • Linus Torvalds's avatar
      Merge tag 'spi-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · 6cdebf62
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "This release sees some exciting changes from David Lechner which
        implements some optimisations that have been talked about for a long
        time which allows client drivers to pre-prepare SPI messages for
        repeated or low latency use. This lets us move work out of latency
        sensitive paths and avoid repeating work for frequently performed
        operations. As well as being useful in itself this will also be used
        in future to allow controllers to directly trigger SPI operations (eg,
        from interrupts).
      
        Otherwise this release has mostly been focused on cleanups, plus a
        couple of new devices:
      
         - Support for pre-optimising messages
      
         - A big set of updates from Uwe Kleine-König moving drivers to use
           APIs with more modern terminology for controllers
      
         - Major overhaul of the s3c64xx driver
      
         - Support for Google GS101 and Samsung Exynos850"
      
      * tag 'spi-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (122 commits)
        spi: Introduce SPI_INVALID_CS and is_valid_cs()
        spi: Fix types of the last chip select storage variables
        spi: Consistently use BIT for cs_index_mask
        spi: Exctract spi_dev_check_cs() helper
        spi: Exctract spi_set_all_cs_unused() helper
        spi: s3c64xx: switch exynos850 to new port config data
        spi: s3c64xx: switch gs101 to new port config data
        spi: s3c64xx: deprecate fifo_lvl_mask, rx_lvl_offset and port_id
        spi: s3c64xx: get rid of the OF alias ID dependency
        spi: s3c64xx: introduce s3c64xx_spi_set_port_id()
        spi: s3c64xx: let the SPI core determine the bus number
        spi: s3c64xx: allow FIFO depth to be determined from the compatible
        spi: s3c64xx: retrieve the FIFO depth from the device tree
        spi: s3c64xx: determine the fifo depth only once
        spi: s3c64xx: allow full FIFO masks
        spi: s3c64xx: define a magic value
        spi: dt-bindings: introduce FIFO depth properties
        spi: axi-spi-engine: use struct_size() macro
        spi: axi-spi-engine: use __counted_by() attribute
        spi: axi-spi-engine: remove p from struct spi_engine_message_state
        ...
      6cdebf62
    • Linus Torvalds's avatar
      Merge tag 'regulator-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 21ac5a96
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "This has been a very quiet release, mostly cleanups, API updates and
        simple device additions. I messed up slightly and there are a couple
        of duplicated commits resulting from me leaving things in my inbox
        which didn't seem worth removing by the time I noticed them.
      
         - Conversion of several drivers to GPIO descriptors
      
         - Build out the features of of the MP8859 driver
      
         - Support for Qualcomm PM4125 and PM6150"
      
      * tag 'regulator-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (31 commits)
        regulator: lp8788-buck: fix copy and paste bug in lp8788_dvs_gpio_request()
        regulator: core: make regulator_class constant
        regulator: da9121: Remove unused of_gpio.h
        regulator: userspace-consumer: add module device table
        regulator: dt-bindings: gpio-regulator: Fix "gpios-states" and "states" array bounds
        regulator: mp8859: Implement set_current_limit()
        regulator: mp8859: Report slew rate
        regulator: mp8859: Support status and error readback
        regulator: mp8859: Support active discharge control
        regulator: mp8859: Support mode operations
        regulator: mp8859: Support enable control
        regulator: mp8859: Validate and log device identifier information
        regulator: mp8859: Specify register accessibility and enable caching
        regulator: max8998: Convert to GPIO descriptors
        regulator: max8997: Convert to GPIO descriptors
        regulator: lp8788-buck: Fully convert to GPIO descriptors
        regulator: da9055: Fully convert to GPIO descriptors
        regulator: max8973: Finalize switch to GPIO descriptors
        regulator: dt-bindings: qcom,usb-vbus-regulator: add support for PM4125
        regulator: dt-bindings: qcom,usb-vbus-regulator: add support for PM4125
        ...
      21ac5a96
    • Linus Torvalds's avatar
      Merge tag 'regmap-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · b30f2db0
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "Just two updates this time around, a rework of max_register handling
        which enables us to support devices with only one register better and
        a new test which will be used to validate use of some new SPI
        optimisations which will be coming in during this merge window"
      
      * tag 'regmap-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: kunit: Add a test for ranges in combination with windows
        regmap: rework ->max_register handling
      b30f2db0
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 245b6f32
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC core:
         - Drop the use of BLK_BOUNCE_HIGH
         - Fix partition switch for GP3
         - Remove usage of the deprecated ida_simple API
      
        MMC host:
         - cqhci: Update bouncing email-addresses in MAINTAINERS
         - davinci_mmc: Use sg_miter for PIO
         - dw_mmc-hi3798cv200: Convert the DT bindings to YAML
         - dw_mmc-hi3798mv200: Add driver for the new dw_mmc variant
         - fsl-imx-esdhc: A couple of corrections/updates to the DT bindings
         - meson-mx-sdhc: Drop use of the ->card_hw_reset() callback
         - moxart-mmc: Use sg_miter for PIO
         - moxart-mmc: Fix accounting for DMA transfers
         - mvsdio: Use sg_miter for PIO
         - mxcmmc: Use sg_miter for PIO
         - omap: Use sg_miter for PIO
         - renesas,sdhi: Add support for R-Car V4M variant
         - sdhci-esdhc-mcf: Use sg_miter for swapping
         - sdhci-of-dwcmshc: Add support for Sophgo CV1800B and SG2002 variants
         - sh_mmcif: Use sg_miter for PIO
         - tmio: Avoid concurrent runs of mmc_request_done()"
      
      * tag 'mmc-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (44 commits)
        mmc: core: make mmc_host_class constant
        mmc: core: Fix switch on gp3 partition
        mmc: tmio: comment the ERR_PTR usage in this driver
        mmc: mmc_spi: Don't mention DMA direction
        mmc: dw_mmc: Remove unused of_gpio.h
        mmc: dw_mmc: add support for hi3798mv200
        dt-bindings: mmc: hisilicon,hi3798cv200-dw-mshc: add Hi3798MV200 binding
        dt-bindings: mmc: dw-mshc-hi3798cv200: convert to YAML
        mmc: dw_mmc-hi3798cv200: remove MODULE_ALIAS()
        mmc: core: Use a struct device* as in-param to mmc_of_parse_clk_phase()
        mmc: wmt-sdmmc: remove an incorrect release_mem_region() call in the .remove function
        mmc: tmio: avoid concurrent runs of mmc_request_done()
        dt-bindings: mmc: fsl-imx-mmc: Document the required clocks
        mmc: sh_mmcif: Advance sg_miter before reading blocks
        mmc: sh_mmcif: sg_miter must not be atomic
        mmc: sdhci-esdhc-mcf: Flag the sg_miter as atomic
        dt-bindings: mmc: fsl-imx-esdhc: add default and 100mhz state
        mmc: core: constify the struct device_type usage
        mmc: sdhci-of-dwcmshc: Add support for Sophgo CV1800B and SG2002
        dt-bindings: mmc: sdhci-of-dwcmhsc: Add Sophgo CV1800B and SG2002 support
        ...
      245b6f32
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux · aeb15291
      Linus Torvalds authored
      Pull pwm updates from Uwe Kleine-König:
       "This contains the usual amount of driver and device tree changes.
        Additionally there is a big rework of how pwm lowlevel drivers are
        registered to prepare adding character device support.
      
        Thanks to Dharma Balasubiramani, Dong Aisheng, Duje Mihanović, Jerome
        Brunet, Raag Jadav and Rafał Miłecki for their contributions. And
        sorry for those who still need some patience because I didn't manage
        to empty my review queue"
      
      * tag 'pwm/for-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux: (185 commits)
        pwm: imx-tpm: fix probe crash due to access registers without clock
        pwm: meson: generalize 4 inputs clock on meson8 pwm type
        dt-bindings: pwm: amlogic: Add a new binding for meson8 pwm types
        dt-bindings: pwm: amlogic: fix s4 bindings
        pwm: dwc: simplify error handling
        pwm: dwc: Add 16 channel support for Intel Elkhart Lake
        pwm: dwc: drop redundant error check
        staging: greybus: pwm: Make use of devm_pwmchip_alloc() function
        staging: greybus: pwm: Rework how the number of PWM lines is determined
        staging: greybus: pwm: Drop unused gb_connection_set_data()
        staging: greybus: pwm: Rely on pwm framework to pass a valid hwpwm
        staging: greybus: pwm: Make use of pwmchip_parent() accessor
        staging: greybus: pwm: Change prototype of helpers to prepare further changes
        leds: qcom-lpg: Make use of devm_pwmchip_alloc() function
        drm/bridge: ti-sn65dsi86: Make use of devm_pwmchip_alloc() function
        drm/bridge: ti-sn65dsi86: Make use of pwmchip_parent() accessor
        gpio: mvebu: Make use of devm_pwmchip_alloc() function
        pwm: xilinx: Make use of devm_pwmchip_alloc() function
        pwm: xilinx: Prepare removing pwm_chip from driver data
        pwm: vt8500: Make use of devm_pwmchip_alloc() function
        ...
      aeb15291
    • Linus Torvalds's avatar
      Merge tag 'tag-chrome-platform-firmware-for-v6.9' of... · aa7d6513
      Linus Torvalds authored
      Merge tag 'tag-chrome-platform-firmware-for-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
      
      Pull chrome platform firmware updates from Tzung-Bi Shih:
      
       - Allow userspace to automatically load coreboot modules by adding
         modaliases and sending uevents
      
       - Make bus_type const
      
      * tag 'tag-chrome-platform-firmware-for-v6.9' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
        firmware: coreboot: Replace tag with id table in driver struct
        firmware: coreboot: Generate aliases for coreboot modules
        firmware: coreboot: Generate modalias uevent for devices
        firmware: coreboot: make coreboot_bus_type const
      aa7d6513
    • Linus Torvalds's avatar
      Merge tag 'for-6.9/dm-vdo' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm · 61387b8d
      Linus Torvalds authored
      Pull device mapper VDO target from Mike Snitzer:
       "Introduce the DM vdo target which provides block-level deduplication,
        compression, and thin provisioning. Please see:
      
            Documentation/admin-guide/device-mapper/vdo.rst
            Documentation/admin-guide/device-mapper/vdo-design.rst
      
        The DM vdo target handles its concurrency by pinning an IO, and
        subsequent stages of handling that IO, to a particular VDO thread.
        This aspect of VDO is "unique" but its overall implementation is very
        tightly coupled to its mostly lockless threading model. As such, VDO
        is not easily changed to use more traditional finer-grained locking
        and Linux workqueues. Please see the "Zones and Threading" section of
        vdo-design.rst
      
        The DM vdo target has been used in production for many years but has
        seen significant changes over the past ~6 years to prepare it for
        upstream inclusion. The codebase is still large but it is isolated to
        drivers/md/dm-vdo/ and has been made considerably more approachable
        and maintainable.
      
        Matt Sakai has been added to the MAINTAINERS file to reflect that he
        will send VDO changes upstream through the DM subsystem maintainers"
      
      * tag 'for-6.9/dm-vdo' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (142 commits)
        dm vdo: document minimum metadata size requirements
        dm vdo: remove meaningless version number constant
        dm vdo: remove vdo_perform_once
        dm vdo block-map: Remove stray semicolon
        dm vdo string-utils: change from uds_ to vdo_ namespace
        dm vdo logger: change from uds_ to vdo_ namespace
        dm vdo funnel-queue: change from uds_ to vdo_ namespace
        dm vdo indexer: fix use after free
        dm vdo logger: remove log level to string conversion code
        dm vdo: document log_level parameter
        dm vdo: add 'log_level' module parameter
        dm vdo: remove all sysfs interfaces
        dm vdo target: eliminate inappropriate uses of UDS_SUCCESS
        dm vdo indexer: update ASSERT and ASSERT_LOG_ONLY usage
        dm vdo encodings: update some stale comments
        dm vdo permassert: audit all of ASSERT to test for VDO_SUCCESS
        dm-vdo funnel-workqueue: return VDO_SUCCESS from make_simple_work_queue
        dm vdo thread-utils: return VDO_SUCCESS on vdo_create_thread success
        dm vdo int-map: return VDO_SUCCESS on success
        dm vdo: check for VDO_SUCCESS return value from memory-alloc functions
        ...
      61387b8d