1. 16 Jul, 2024 23 commits
    • Linus Torvalds's avatar
      Merge tag 'x86_misc_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 222dfb83
      Linus Torvalds authored
      Pull misc x86 updates from Borislav Petkov:
      
       - Make error checking of AMD SMN accesses more robust in the callers as
         they're the only ones who can interpret the results properly
      
       - The usual cleanups and fixes, left and right
      
      * tag 'x86_misc_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kmsan: Fix hook for unaligned accesses
        x86/platform/iosf_mbi: Convert PCIBIOS_* return codes to errnos
        x86/pci/xen: Fix PCIBIOS_* return code handling
        x86/pci/intel_mid_pci: Fix PCIBIOS_* return code handling
        x86/of: Return consistent error type from x86_of_pci_irq_enable()
        hwmon: (k10temp) Rename _data variable
        hwmon: (k10temp) Remove unused HAVE_TDIE() macro
        hwmon: (k10temp) Reduce k10temp_get_ccd_support() parameters
        hwmon: (k10temp) Define a helper function to read CCD temperature
        x86/amd_nb: Enhance SMN access error checking
        hwmon: (k10temp) Check return value of amd_smn_read()
        EDAC/amd64: Check return value of amd_smn_read()
        EDAC/amd64: Remove unused register accesses
        tools/x86/kcpuid: Add missing dir via Makefile
        x86, arm: Add missing license tag to syscall tables files
      222dfb83
    • Linus Torvalds's avatar
      Merge tag 'x86_build_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1d86d352
      Linus Torvalds authored
      Pull x86 build update from Borislav Petkov:
      
       - Make sure insn support detection uses the proper compiler flag in
         bi-arch builds
      
      * tag 'x86_build_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/kconfig: Add as-instr64 macro to properly evaluate AS_WRUSS
      1d86d352
    • Linus Torvalds's avatar
      Merge tag 'x86_core_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 93196575
      Linus Torvalds authored
      Pull x86 uaccess update from Borislav Petkov:
      
       - Cleanup the 8-byte getuser() asm case
      
      * tag 'x86_core_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/uaccess: Improve the 8-byte getuser() case
      93196575
    • Linus Torvalds's avatar
      Merge tag 'x86_cc_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 98896d87
      Linus Torvalds authored
      Pull x86 confidential computing updates from Borislav Petkov:
       "Unrelated x86/cc changes queued here to avoid ugly cross-merges and
        conflicts:
      
         - Carve out CPU hotplug function declarations into a separate header
           with the goal to be able to use the lockdep assertions in a more
           flexible manner
      
         - As a result, refactor cacheinfo code after carving out a function
           to return the cache ID associated with a given cache level
      
         - Cleanups
      
        Add support to be able to kexec TDX guests:
      
         - Expand ACPI MADT CPU offlining support
      
         - Add machinery to prepare CoCo guests memory before kexec-ing into a
           new kernel
      
         - Cleanup, readjust and massage related code"
      
      * tag 'x86_cc_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (24 commits)
        ACPI: tables: Print MULTIPROC_WAKEUP when MADT is parsed
        x86/acpi: Add support for CPU offlining for ACPI MADT wakeup method
        x86/mm: Introduce kernel_ident_mapping_free()
        x86/smp: Add smp_ops.stop_this_cpu() callback
        x86/acpi: Do not attempt to bring up secondary CPUs in the kexec case
        x86/acpi: Rename fields in the acpi_madt_multiproc_wakeup structure
        x86/mm: Do not zap page table entries mapping unaccepted memory table during kdump
        x86/mm: Make e820__end_ram_pfn() cover E820_TYPE_ACPI ranges
        x86/tdx: Convert shared memory back to private on kexec
        x86/mm: Add callbacks to prepare encrypted memory for kexec
        x86/tdx: Account shared memory
        x86/mm: Return correct level from lookup_address() if pte is none
        x86/mm: Make x86_platform.guest.enc_status_change_*() return an error
        x86/kexec: Keep CR4.MCE set during kexec for TDX guest
        x86/relocate_kernel: Use named labels for less confusion
        cpu/hotplug, x86/acpi: Disable CPU offlining for ACPI MADT wakeup
        cpu/hotplug: Add support for declaring CPU offlining not supported
        x86/apic: Mark acpi_mp_wake_* variables as __ro_after_init
        x86/acpi: Extract ACPI MADT wakeup code into a separate file
        x86/kexec: Remove spurious unconditional JMP from from identity_mapped()
        ...
      98896d87
    • Linus Torvalds's avatar
      Merge tag 'x86_cleanups_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 181a984b
      Linus Torvalds authored
      Pull x86 cleanups from Borislav Petkov:
      
       - Remove an unused function and the documentation of an already removed
         cmdline parameter
      
      * tag 'x86_cleanups_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot: Remove unused function __fortify_panic()
        Documentation: Remove "mfgpt_irq=" from the kernel-parameters.txt file
      181a984b
    • Linus Torvalds's avatar
      Merge tag 'x86_boot_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4578d072
      Linus Torvalds authored
      Pull x86 boot updates from Borislav Petkov:
      
       - Add a check to warn when cmdline parsing happens before the final
         cmdline string has been built and thus arguments can get lost
      
       - Code cleanups and simplifications
      
      * tag 'x86_boot_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/setup: Warn when option parsing is done too early
        x86/boot: Clean up the arch/x86/boot/main.c code a bit
        x86/boot: Use current_stack_pointer to avoid asm() in init_heap()
      4578d072
    • Linus Torvalds's avatar
      Merge tag 'x86_alternatives_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 208c6772
      Linus Torvalds authored
      Pull x86 alternatives updates from Borislav Petkov:
       "This is basically PeterZ's idea to nest the alternative macros to
        avoid the need to "spell out" the number of alternates in an
        ALTERNATIVE_n() macro and thus have an ever-increasing complexity in
        those definitions.
      
        For ease of bisection, the old macros are converted to the new, nested
        variants in a step-by-step manner so that in case an issue is
        encountered during testing, one can pinpoint the place where it fails
        easier.
      
        Because debugging alternatives is a serious pain"
      
      * tag 'x86_alternatives_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/alternatives, kvm: Fix a couple of CALLs without a frame pointer
        x86/alternative: Replace the old macros
        x86/alternative: Convert the asm ALTERNATIVE_3() macro
        x86/alternative: Convert the asm ALTERNATIVE_2() macro
        x86/alternative: Convert the asm ALTERNATIVE() macro
        x86/alternative: Convert ALTERNATIVE_3()
        x86/alternative: Convert ALTERNATIVE_TERNARY()
        x86/alternative: Convert alternative_call_2()
        x86/alternative: Convert alternative_call()
        x86/alternative: Convert alternative_io()
        x86/alternative: Convert alternative_input()
        x86/alternative: Convert alternative_2()
        x86/alternative: Convert alternative()
        x86/alternatives: Add nested alternatives macros
        x86/alternative: Zap alternative_ternary()
      208c6772
    • Linus Torvalds's avatar
      Merge tag 'ras_core_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 1467b498
      Linus Torvalds authored
      Pull RAS updates from Borislav Petkov:
      
       - A cleanup and a correction to the error injection driver to inject a
         MCA_MISC value only when one has actually been supplied by the user
      
      * tag 'ras_core_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/mce: Remove unused variable and return value in machine_check_poll()
        x86/mce/inject: Only write MCA_MISC when a value has been supplied
      1467b498
    • Linus Torvalds's avatar
      Merge tag 'edac_updates_for_v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras · 8028e290
      Linus Torvalds authored
      Pull EDAC updates from Borislav Petkov:
      
       - The AMD memory controllers data fabric version 4.5 supports
         non-power-of-2 denormalization in the sense that certain bits of the
         system physical address cannot be reconstructed from the normalized
         address reported by the RAS hardware. Add support for handling such
         addresses
      
       - Switch the EDAC drivers to the new Intel CPU model defines
      
       - The usual fixes and cleanups all over the place
      
      * tag 'edac_updates_for_v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ras/ras:
        EDAC: Add missing MODULE_DESCRIPTION() macros
        EDAC/dmc520: Use devm_platform_ioremap_resource()
        EDAC/igen6: Add Intel Arrow Lake-U/H SoCs support
        RAS/AMD/FMPM: Use atl internal.h for INVALID_SPA
        RAS/AMD/ATL: Implement DF 4.5 NP2 denormalization
        RAS/AMD/ATL: Validate address map when information is gathered
        RAS/AMD/ATL: Expand helpers for adding and removing base and hole
        RAS/AMD/ATL: Read DRAM hole base early
        RAS/AMD/ATL: Add amd_atl pr_fmt() prefix
        RAS/AMD/ATL: Add a missing module description
        EDAC, i10nm: make skx_common.o a separate module
        EDAC/skx: Switch to new Intel CPU model defines
        EDAC/sb_edac: Switch to new Intel CPU model defines
        EDAC, pnd2: Switch to new Intel CPU model defines
        EDAC/i10nm: Switch to new Intel CPU model defines
        EDAC/ghes: Add missing newline to pr_info() statement
        RAS/AMD/ATL: Add missing newline to pr_info() statement
        EDAC/thunderx: Remove unused struct error_syndrome
      8028e290
    • Linus Torvalds's avatar
      Merge tag 'spi-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi · e23dd95c
      Linus Torvalds authored
      Pull spi updates from Mark Brown:
       "There's some quite exciting core work in this release, we've got the
        beginnings of support for hardware initiated transfers which is itself
        independently useful for optimising fast paths in existing drivers.
      
        We also have a rework of the DMA mapping which allows finer grained
        decisions about DMA mapping messages and also helps remove some bodges
        that we'd had.
      
        Otherwise it's a fairly quiet release, a few new drivers and features
        for existing drivers, together with various cleanups and DT binding
        conversions.
      
        One regmap SPI fix made it's way in here too which I should probably
        have sent as a regmap fix instead.
      
        Summary:
      
         - Support for pre-optimising messages, reducing the overhead for
           messages that are repeatedly used (eg, reading the interrupt status
           from a device). This will also be used for hardware initiated
           transfers in future.
      
         - A reworking of how DMA mapping is done, introducing a new helper
           and allowing the DMA mapping decision to be done per transfer
           instead of per message.
      
         - Support for Atmel SAMA7D64, Freescale LX2160A DSPI and WCH CH341A"
      
      * tag 'spi-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (72 commits)
        spi: dt-bindings: at91: Add sama7d65 compatible string
        spi: add ch341a usb2spi driver
        spi: dt-bindings: fsl-dspi: add compatible string 'fsl,lx2160a-dspi'
        spi: dt-bindings: fsl-dspi: add dmas and dma-names properties
        spi: spi: Remove unnecessary ‘0’ values from status
        spi: spi: Remove unnecessary ‘0’ values from rc
        spi: xcomm: fix coding style
        spi: xcomm: remove i2c_set_clientdata()
        spi: xcomm: make use of devm_spi_alloc_host()
        spi: xcomm: add gpiochip support
        spi: dt-bindings: snps,dw-apb-ssi.yaml: update compatible property
        spi: dt-bindings: fsl-dspi: Convert to yaml format
        spi: fsl-dspi: use common proptery 'spi-cs-setup(hold)-delay-ns'
        spi: axi-spi-engine: remove platform_set_drvdata()
        spi: spi-fsl-lpspi: Pass pm_ptr()
        spi: spi-imx: Pass pm_ptr()
        spi: spi-fsl-lpspi: Switch to SYSTEM_SLEEP_PM_OPS()
        spi: spi-imx: Switch to RUNTIME_PM_OPS/SYSTEM_SLEEP_PM_OPS()
        spi: add EXPORT_SYMBOL_GPL(devm_spi_optimize_message)
        spi: add devm_spi_optimize_message() helper
        ...
      e23dd95c
    • Linus Torvalds's avatar
      Merge tag 'regulator-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator · 584aeccc
      Linus Torvalds authored
      Pull regulator updates from Mark Brown:
       "This s a very quiet release for the regulator API, we have a few new
        devices (most of which are just ID updates) and one new fairly
        specialist core feature for use in interrupt context.
      
         - An API allowing lockless enable/disable for regulators acquired in
           exclusive mode, for use in interrupt contexts
      
         - A rewrite of the MedaTek DVFSRC regulator driver which apparently
           never worked
      
         - Support for Mediaktek MT6312, Qualcomm QCA6390 and WCN7850, Renesas
           RZ/G2L USB VBUS regulator and ST Microelectronics STM32MP13"
      
      * tag 'regulator-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (26 commits)
        regulator: dt-bindings: pca9450: Make interrupt optional
        regulator: pca9450: Make IRQ optional
        dt-bindings: regulator: sprd,sc2731-regulator: convert to YAML
        regulator: max77857: Constify struct regmap_config
        regulator: da9121: Constify struct regmap_config
        dt-bindings: regulator: ti,tps65132: document VIN supply
        dt-bindings: mfd: twl: Fix example
        regulator: Add Renesas RZ/G2L USB VBUS regulator driver
        regulator: core: Add helper for allow HW access to enable/disable regulator
        regulator: Add bindings for MediaTek DVFSRC Regulators
        regulator: Add refactored mtk-dvfsrc-regulator driver
        regulator: Remove mtk-dvfsrc-regulator.c
        regulator: userspace-consumer: quiet device deferral
        regulator: dt-bindings: mt6315: Document MT6319 PMIC
        regulator: add missing MODULE_DESCRIPTION() macro
        dt-bindings: regulator: twl-regulator: convert to yaml
        regulator: dt-bindings: describe the PMU module of the WCN7850 package
        regulator: dt-bindings: describe the PMU module of the QCA6390 package
        regulator: dt-bindings: rtq2208: Add specified fixed LDO VOUT property
        regulator: rtq2208: Add fixed LDO VOUT property and check that matches the constraints
        ...
      584aeccc
    • Linus Torvalds's avatar
      Merge tag 'regmap-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap · 25617a5c
      Linus Torvalds authored
      Pull regmap updates from Mark Brown:
       "There's one new feature here, a regmap_multi_reg_read() matching the
        existing write function which has some IIO users coming.
      
        This allows atomic reads from multiple registers without the need to
        wrap a higher level lock in the client driver just for regmap (which
        already has locks anyway).
      
        We also have one fix for the KUnit tests, and a bunch of cleanups"
      
      * tag 'regmap-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
        regmap: kunit: Add test cases for regmap_multi_reg_(read,write}()
        regmap: Implement regmap_multi_reg_read()
        regmap-irq: handle const struct regmap_irq_sub_irq_map
        const_structs.checkpatch: add regmap structs
        regmap: add missing MODULE_DESCRIPTION() macros
        regmap-i2c: add missing MODULE_DESCRIPTION() macro
        regmap: kunit: Use array_size() and sizeof(*ptr) consistently
        regmap: maple: Switch to use kmemdup_array()
        regmap: cache: Switch to use kmemdup_array()
        regmap: cache: Use correct type of the rb_for_each() parameter
        regmap: Switch to use kmemdup_array()
        regmap: kunit: add missing MODULE_DESCRIPTION()
        regmap: kunit: Fix memory leaks in gen_regmap() and gen_raw_regmap()
      25617a5c
    • Linus Torvalds's avatar
      Merge tag 'gpio-updates-for-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux · b3c0eccb
      Linus Torvalds authored
      Pull gpio updates from Bartosz Golaszewski:
       "The majority of added lines are two new modules: the GPIO virtual
        consumer module that improves our ability to add automated tests for
        the kernel API and the "sloppy" logic analyzer module that uses the
        GPIO API to implement a coarse-grained debugging tool for useful for
        remote development.
      
        Other than that we have the usual assortment of various driver
        extensions, improvements to the core GPIO code, DT-bindings and other
        documentation updates as well as an extension to the interrupt
        simulator:
      
        GPIOLIB core:
         - rework kfifo handling rework in the character device code
         - improve the labeling of GPIOs requested as interrupts and show more
           info on interrupt-only GPIOs in debugfs
         - remove unused APIs
         - unexport interfaces that are only used from the core GPIO code
         - drop the return value from gpiochip_set_desc_names() as it cannot
           fail
         - move a string array definition out of a header and into a specific
           compilation unit
         - convert the last user of gpiochip_get_desc() other than GPIO core
           to using a safer alternative
         - use array_index_nospec() where applicable
      
        New drivers:
         - add a "virtual GPIO consumer" module that allows requesting GPIOs
           from actual hardware and driving tests of the in-kernel GPIO API
           from user-space over debugfs
         - add a GPIO-based "sloppy" logic analyzer module useful for "first
           glance" debugging on remote boards
      
        Driver improvements:
         - add support for a new model to gpio-pca953x
         - lock GPIOs as interrupts in gpio-sim when the lines are requested
           as irqs via the simulator domain + some other minor improvements
         - improve error reporting in gpio-syscon
         - convert gpio-ath79 to using dynamic GPIO base and range
         - use pcibios_err_to_errno() for converting PCIBIOS error codes to
           errno vaues in gpio-amd8111 and gpio-rdc321x
         - allow building gpio-brcmstb for the BCM2835 architecture
      
        DT bindings:
         - convert DT bindings for lsi,zevio, mpc8xxx, and atmel to DT schema
         - document new properties for aspeed,gpio, fsl,qoriq-gpio and
           gpio-vf610
         - document new compatibles for pca953x and fsl,qoriq-gpio
      
        Documentation:
         - document stricter behavior of the GPIO character device uAPI with
           regards to reconfiguring requested line without direction set
         - clarify the effect of the active-low flag on line values and edges
         - remove documentation for the legacy GPIO API in order to stop
           tempting people to use it
         - document the preference for using pread() for reading edge events
           in the sysfs API
      
        Other:
         - add an extended initializer to the interrupt simulator allowing to
           specify a number of callbacks callers can use to be notified about
           irqs being requested and released"
      
      * tag 'gpio-updates-for-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (41 commits)
        gpio: mc33880: Convert comma to semicolon
        gpio: virtuser: actually use the "trimmed" local variable
        dt-bindings: gpio: convert Atmel GPIO to json-schema
        gpio: virtuser: new virtual testing driver for the GPIO API
        dt-bindings: gpio: vf610: Allow gpio-line-names to be set
        gpio: sim: lock GPIOs as interrupts when they are requested
        genirq/irq_sim: add an extended irq_sim initializer
        dt-bindings: gpio: fsl,qoriq-gpio: Add compatible string fsl,ls1046a-gpio
        gpiolib: unexport gpiochip_get_desc()
        gpio: add sloppy logic analyzer using polling
        Documentation: gpio: Reconfiguration with unset direction (uAPI v2)
        Documentation: gpio: Reconfiguration with unset direction (uAPI v1)
        dt-bindings: gpio: fsl,qoriq-gpio: add common property gpio-line-names
        gpio: ath79: convert to dynamic GPIO base allocation
        pinctrl: da9062: replace gpiochip_get_desc() with gpio_device_get_desc()
        gpiolib: put gpio_suffixes in a single compilation unit
        Documentation: gpio: Clarify effect of active low flag on line edges
        Documentation: gpio: Clarify effect of active low flag on line values
        gpiolib: Remove data-less gpiochip_add() function
        gpio: sim: use devm_mutex_init()
        ...
      b3c0eccb
    • Linus Torvalds's avatar
      Merge tag 'mmc-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 3f32ab14
      Linus Torvalds authored
      Pull MMC updates from Ulf Hansson:
       "MMC host:
         - Convert from using tasklet to the BH workqueue
         - dw_mmc-bluefield: Add support for eMMC HW reset
         - mmc_spi: Allow spi controllers incapable of lower than 400kHz
         - sdhci: Rework code to eliminate SDHCI_QUIRK_UNSTABLE_RO_DETECT
         - sdhci-brcmstb: Add support for the BCM2712 variant
         - sdhci-esdhc-imx: Disable card-detect as system wakeup on S32G platforms
         - sdhci-msm: Add support for the SDX75 variant
         - sdhci-of-dwcmshc: Enable CQE support for some Rockchip variants
         - sdhci-of-esdhc: Convert DT-bindings to yaml
         - sdhci-sprd: Convert DT-bindings to yaml
      
        MEMSTICK:
         - rtsx_pci_ms: Remove the unused Realtek PCI memstick driver"
      
      * tag 'mmc-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (26 commits)
        MAINTAINERS: add 's32@nxp.com' as relevant mailing list for 'sdhci-esdhc-imx' driver
        mmc: sdhci-esdhc-imx: obtain the 'per' clock rate after its enablement
        mmc: sdhci-esdhc-imx: disable card detect wake for S32G based platforms
        dt-bindings: mmc: sdhci-sprd: convert to YAML
        mmc: davinci_mmc: report all possible bus widths
        mmc: dw_mmc-bluefield: Add support for eMMC HW reset
        mmc: dw_mmc: Add support for platform specific eMMC HW reset
        mmc: sdhci_am654: Constify struct regmap_config
        mmc: Convert from tasklet to BH workqueue
        mmc: sdhi: Convert from tasklet to BH workqueue
        mmc: mmc_spi: allow for spi controllers incapable of getting as low as 400k
        memstick: rtsx_pci_ms: Remove Realtek PCI memstick driver
        MAINTAINERS: drop entry for VIA SD/MMC controller
        mmc: tmio: Remove obsolete .set_pwr() callback()
        mfd: tmio: Remove obsolete .set_clk_div() callback
        mmc: sdhci-brcmstb: Add ARCH_BCM2835 option
        mmc: sdhci: Eliminate SDHCI_QUIRK_UNSTABLE_RO_DETECT
        dt-bindings: mmc: Convert fsl-esdhc.txt to yaml
        dt-bindings: mmc: mmc-spi-slot: Change voltage-ranges to uint32-matrix
        mmc: add missing MODULE_DESCRIPTION() macros
        ...
      3f32ab14
    • Linus Torvalds's avatar
      Merge tag 'pmdomain-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm · d46ede31
      Linus Torvalds authored
      Pull pmdomain updates from Ulf Hansson:
       "pmdomain core:
         - Add support for HW-managed devices
      
        pmdomain providers:
         - amlogic: Add support for the A5 and the A4 power domains
         - arm: Enable system wakeups for the SCMI PM domain
         - qcom/clk: Add HW-mode callbacks to allow switching of GDSC mode
      
        pmdomain consumers:
         - qcom/media/venus: Enable support for switching GDSC HW-mode on V6"
      
      * tag 'pmdomain-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm:
        pmdomain: amlogic: Constify struct meson_secure_pwrc_domain_desc
        venus: pm_helpers: Use dev_pm_genpd_set_hwmode to switch GDSC mode on V6
        clk: qcom: videocc: Use HW_CTRL_TRIGGER for SM8250, SC7280 vcodec GDSC's
        clk: qcom: gdsc: Add set and get hwmode callbacks to switch GDSC mode
        PM: domains: Add the domain HW-managed mode to the summary
        PM: domains: Allow devices attached to genpd to be managed by HW
        pmdomain: amlogic: Add support for A5 power domains controller
        dt-bindings: power: add Amlogic A5 power domains
        pmdomain: amlogic: add missing MODULE_DESCRIPTION() macros
        pmdomain: arm: scmi_pm_domain: set flag GENPD_FLAG_ACTIVE_WAKEUP
        pmdomain: renesas: rmobile-sysc: Use for_each_child_of_node_scoped()
        pmdomain: core: Use genpd_is_irq_safe() helper
        pmdomain: amlogic: Add support for A4 power domains controller
        dt-bindings: power: add Amlogic A4 power domains
      d46ede31
    • Linus Torvalds's avatar
      Merge tag 'pwm/for-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux · c6e63a98
      Linus Torvalds authored
      Pull pwm updates from Uwe Kleine-König:
       "This contains the usual mix of fixes, cleanups, two new drivers and
        several dt binding updates. The fixes are for minor issues that are
        already old (4.11-rc1 and 3.9-rc1) and were found by code review and
        not during usage, so I didn't sent them for earlier inclusion.
      
        The changes to include/linux/mfd/stm32-timers.h and
        drivers/counter/stm32-timer-cnt.c are part of an immutable branch that
        will also be included in the mfd and counter pulls. It changes some
        register definitions and affects the pwm-stm32 driver.
      
        Thanks go to Andy Shevchenko, AngeloGioacchino Del Regno, Conor
        Dooley, David Lechner, Dhruva Gole, Drew Fustini, Frank Li, Jeff
        Johnson, Junyi Zhao, Kelvin Zhang, Krzysztof Kozlowski, Lee Jones,
        Linus Walleij, Linus Walleij, Michael Hennerich, Nicola Di Lieto,
        Nicolas Ferre, Nuno Sa, Paul Cercueil, Raag Jadav, Rob Herring, Sean
        Anderson, Sean Young, Shenwei Wang, Stefan Wahren, Trevor Gamblin,
        Tzung-Bi Shih, Vincent Whitchurch and William Breathitt Gray for their
        contributions to this pull request; they authored changes, spend time
        reviewing changes and coordinated the above mentioned immutable
        branch"
      
      * tag 'pwm/for-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux: (38 commits)
        pwm: axi-pwmgen: add .max_register to regmap
        dt-bindings: pwm: at91: Add sama7d65 compatible string
        pwm: atmel-tcb: Make private data variable naming consistent
        pwm: atmel-tcb: Simplify checking the companion output
        pwm: Allow pwm state transitions from an invalid state
        pwm: xilinx: Simplify using devm_ functions
        pwm: Use guards for pwm_lookup_lock instead of explicity mutex_lock + mutex_unlock
        pwm: Use guards for export->lock instead of explicity mutex_lock + mutex_unlock
        pwm: Use guards for pwm_lock instead of explicity mutex_lock + mutex_unlock
        pwm: Register debugfs operations after the pwm class
        pwm: imx-tpm: Enable pinctrl setting for sleep state
        pwm: lpss: drop redundant runtime PM handles
        pwm: lpss: use devm_pm_runtime_enable() helper
        pwm-stm32: Make use of parametrised register definitions
        dt-bindings: pwm: imx: remove interrupt property from required
        pwm: meson: Add support for Amlogic S4 PWM
        pwm: Add GPIO PWM driver
        dt-bindings: pwm: Add pwm-gpio
        pwm: Drop pwm_apply_state()
        bus: ts-nbus: Use pwm_apply_might_sleep()
        ...
      c6e63a98
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging · 500a711d
      Linus Torvalds authored
      Pull hwmon updates from Guenter Roeck:
       "Obsolete driver removals:
      
         - Removed obsolete adm1021 and max6642 drivers
      
        New drivers:
      
         - MPS MP2891, MP2993, MP9941, and MP5920
      
         - SPD5118 (Temperature Sensor and EEPROM)
      
        Added device support to existing drivers:
      
         - g762: G761
      
         - dell-smm: Dell OptiPlex 7060
      
         - asus-ec-sensors: ProArt X670E-CREATOR WIFI
      
         - corsair-psu: HX1200i Series 2023 psu
      
         - nzxt-smart2: Additional USB IS for NZXT RGB & Fan Controller
      
        Notable enhancements and fixes:
      
         - Removed use of i2c_match_id()
      
         - Constified struct regmap_config where feasible
      
         - Cleaned up amc6821 driver, and converted to use regmap and
           with_info API
      
         - Converted max6639 driver to use with_info API; added support for
           additional sysfs attributes
      
         - Fixed various sysfs attribute underflows
      
         - Added PEC support to hwmon core, and use in lm90 and max31827
           drivers
      
        And various other minor fixes and improvements"
      
      * tag 'hwmon-for-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (103 commits)
        hwmon: (max6697) Fix swapped temp{1,8} critical alarms
        hwmon: (max6697) Fix underflow when writing limit attributes
        hwmon: Remove obsolete adm1021 and max6642 drivers
        hwmon: (pmbus/ltc4286) Drop unused i2c device ids
        hwmon: (g762) Initialize fans after configuring clock
        hwmon: (amc6821) Add support for pwm1_mode attribute
        hwmon: (amc6821) Convert to with_info API
        hwmon: (amc6821) Convert to use regmap
        hwmon: (amc6821) Drop unnecessary enum chips
        hwmon: (amc6821) Use BIT() and GENMASK()
        hwmon: (amc6821) Use tabs for column alignment in defines
        hwmon: (amc6821) Reorder include files, drop unnecessary ones
        hwmon: (amc6821) Add support for fan1_target and pwm1_enable mode 4
        hwmon: (amc6821) Rename fan1_div to fan1_pulses
        hwmon: (amc6821) Make reading and writing fan speed limits consistent
        hwmon: (amc6821) Stop accepting invalid pwm values
        hwmon: (w83627ehf) Fix underflows seen when writing limit attributes
        hwmon: (nct6775-core) Fix underflows seen when writing limit attributes
        hwmon: (lm95234) Fix underflows seen when writing limit attributes
        hwmon: (adc128d818) Fix underflows seen when writing limit attributes
        ...
      500a711d
    • Linus Torvalds's avatar
      Merge tag 'pwrseq-updates-for-v6.11-rc1' of... · e763c9ec
      Linus Torvalds authored
      Merge tag 'pwrseq-updates-for-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux
      
      Pull power sequencing updates from Bartosz Golaszewski:
       "This has been in development since last year's Linux Plumbers
        Conference and was inspired by the need to enable support upstream for
        Bluetooth/WLAN chips on Qualcomm platforms.
      
        The main problem we're fixing is powering up devices which are
        represented as separate objects in the kernel (binding to different
        drivers) but which share parts of the power-up sequence and thus need
        some kind of a mediator who knows the possible interactions and can
        assure they don't interfere with neither device's bring up. An example
        of such an inter-driver interaction is the WCN family of BT/WLAN chips
        from Qualcomm of which some models require the user to observe a
        certain delay between driving the bt-enable and wlan-enable GPIOs.
      
        This is not a new problem but up to this point all attempts at
        addressing it ended up hitting one wall or another and being dropped.
        The main obstacle was the fact that most these attempts tried to
        introduce the concept of a "power sequence" into the device-tree
        bindings which breaks the main DT rule: describe the hardware, not its
        behavior. The solution I proposed focuses on making the power
        sequencer drivers interpret the actual HW description flexibly. More
        details on that are in the linked cover letter.
      
        The second problem fixed here is powering up PCI devices before they
        are detected on the bus. This is achieved by creating special platform
        devices for device-tree nodes describing hard-wired PCI devices which
        bind to the so-called PCI power control drivers which enable required
        resources and trigger a bus rescan once the controlled device is up
        then setup the correct devlink hierarchy for power-management.
      
        By combining the two new frameworks we implemented the power
        sequencing PCI power control driver which is capable of powering up
        the WLAN modules of the QCom WCN family of chipsets.
      
        All this has spent a significant amount of time in linux-next and
        enabled WLAN/BT support on several Qualcomm platforms. To further
        prove that this is useful and needed: right after this was picked up
        into next, I was sent a series using the subsystem for a similar
        use-case on Amlogic platforms.
      
        This contains the core power sequencing framework, the first driver,
        PCI changes using the pwrseq library (blessed by Bjorn Helgaas) and
        some fixes that came later"
      
      * tag 'pwrseq-updates-for-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
        PCI/pwrctl: only call of_platform_populate() if CONFIG_OF is enabled
        power: sequencing: simplify returning pointer without cleanup
        PCI/pwrctl: Add a PCI power control driver for power sequenced devices
        PCI/pwrctl: Add PCI power control core code
        PCI/pwrctl: Create platform devices for child OF nodes of the port node
        PCI/pwrctl: Reuse the OF node for power controlled devices
        PCI: Hold the rescan mutex when scanning for the first time
        power: pwrseq: add a driver for the PMU module on the QCom WCN chipsets
        power: sequencing: implement the pwrseq core
      e763c9ec
    • Linus Torvalds's avatar
      Merge tag 'tag-chrome-platform-firmware-for-v6.11' of... · cdf471c3
      Linus Torvalds authored
      Merge tag 'tag-chrome-platform-firmware-for-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
      
      Pull chrome platform firmware update from Tzung-Bi Shih:
      
       - Minor cleanup: add missing MODULE_DESCRIPTION
      
      * tag 'tag-chrome-platform-firmware-for-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
        firmware: google: add missing MODULE_DESCRIPTION() macros
      cdf471c3
    • Linus Torvalds's avatar
      Merge tag 'tag-chrome-platform-for-v6.11' of... · 89c49138
      Linus Torvalds authored
      Merge tag 'tag-chrome-platform-for-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux
      
      Pull chrome platform updates from Tzung-Bi Shih:
       "New code:
      
         - Add "cros_ec_hwmon" driver to expose fan speed and temperature
      
         - Add "cros_charge-control" driver to control charge thresholds and
           behaviour
      
         - Add module parameter "log_poll_period_ms" in cros_ec_debugfs for
           tuning the poll period
      
         - Support version 3 of EC_CMD_GET_NEXT_EVENT and keyboard matrix
      
        Fixes:
      
         - Fix a race condition in accessing MEC (Microchip EC) memory between
           ACPI and kernel. Serialize the memory access by an AML (ACPI
           Machine Language) mutex
      
         - Fix an issue of wrong EC message version in cros_ec_debugfs
      
        Misc:
      
         - Fix kernel-doc errors and cleanups"
      
      * tag 'tag-chrome-platform-for-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux: (28 commits)
        power: supply: cros_charge-control: Fix signedness bug in charge_behaviour_store()
        power: supply: cros_charge-control: Avoid accessing attributes out of bounds
        power: supply: cros_charge-control: don't load if Framework control is present
        power: supply: add ChromeOS EC based charge control driver
        platform/chrome: cros_ec_proto: Introduce cros_ec_get_cmd_versions()
        platform/chrome: Update binary interface for EC-based charge control
        ACPI: battery: add devm_battery_hook_register()
        dt-bindings: input: cros-ec-keyboard: Add keyboard matrix v3.0
        platform/chrome: cros_ec_lpc: Handle zero length read/write
        platform/chrome: cros_ec_lpc: Fix error code in cros_ec_lpc_mec_read_bytes()
        platform/chrome: cros_ec_debugfs: fix wrong EC message version
        platform/chrome: cros_ec_proto: update Kunit test for get_next_data_v3
        platform/chrome: cros_ec_proto: add missing MODULE_DESCRIPTION() macro
        hwmon: (cros_ec) Fix access to restricted __le16
        hwmon: (cros_ec) Prevent read overflow in probe()
        platform/chrome: cros_ec_lpc: Add quirks for Framework Laptop
        platform/chrome: cros_ec_lpc: Add a new quirk for AML mutex
        platform/chrome: cros_ec_lpc: Add a new quirk for ACPI id
        platform/chrome: cros_ec_lpc: MEC access can use an AML mutex
        platform/chrome: cros_ec_lpc: MEC access can return error code
        ...
      89c49138
    • Linus Torvalds's avatar
      Merge tag 'wq-for-6.11-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · d8764c19
      Linus Torvalds authored
      Pull workqueue fix from Tejun Heo:
       "cpus_read_lock() was dropped from workqueue creation path but there
        were still remaining lockdep_assert_cpus_held() triggering spurious
        lockdep failures. Remove them"
      
      * tag 'wq-for-6.11-rc1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq:
        workqueue: Remove unneeded lockdep_assert_cpus_held()
      d8764c19
    • Linus Torvalds's avatar
      Merge tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux · c89d780c
      Linus Torvalds authored
      Pull arm64 updates from Catalin Marinas:
       "The biggest part is the virtual CPU hotplug that touches ACPI,
        irqchip. We also have some GICv3 optimisation for pseudo-NMIs that has
        been queued via the arm64 tree. Otherwise the usual perf updates,
        kselftest, various small cleanups.
      
        Core:
      
         - Virtual CPU hotplug support for arm64 ACPI systems
      
         - cpufeature infrastructure cleanups and making the FEAT_ECBHB ID
           bits visible to guests
      
         - CPU errata: expand the speculative SSBS workaround to more CPUs
      
         - GICv3, use compile-time PMR values: optimise the way regular IRQs
           are masked/unmasked when GICv3 pseudo-NMIs are used, removing the
           need for a static key in fast paths by using a priority value
           chosen dynamically at boot time
      
        ACPI:
      
         - 'acpi=nospcr' option to disable SPCR as default console for arm64
      
         - Move some ACPI code (cpuidle, FFH) to drivers/acpi/arm64/
      
        Perf updates:
      
         - Rework of the IMX PMU driver to enable support for I.MX95
      
         - Enable support for tertiary match groups in the CMN PMU driver
      
         - Initial refactoring of the CPU PMU code to prepare for the fixed
           instruction counter introduced by Arm v9.4
      
         - Add missing PMU driver MODULE_DESCRIPTION() strings
      
         - Hook up DT compatibles for recent CPU PMUs
      
        Kselftest updates:
      
         - Kernel mode NEON fp-stress
      
         - Cleanups, spelling mistakes
      
        Miscellaneous:
      
         - arm64 Documentation update with a minor clarification on TBI
      
         - Fix missing IPI statistics
      
         - Implement raw_smp_processor_id() using thread_info rather than a
           per-CPU variable (better code generation)
      
         - Make MTE checking of in-kernel asynchronous tag faults conditional
           on KASAN being enabled
      
         - Minor cleanups, typos"
      
      * tag 'arm64-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux: (69 commits)
        selftests: arm64: tags: remove the result script
        selftests: arm64: tags_test: conform test to TAP output
        perf: add missing MODULE_DESCRIPTION() macros
        arm64: smp: Fix missing IPI statistics
        irqchip/gic-v3: Fix 'broken_rdists' unused warning when !SMP and !ACPI
        ACPI: Add acpi=nospcr to disable ACPI SPCR as default console on ARM64
        Documentation: arm64: Update memory.rst for TBI
        arm64/cpufeature: Replace custom macros with fields from ID_AA64PFR0_EL1
        KVM: arm64: Replace custom macros with fields from ID_AA64PFR0_EL1
        perf: arm_pmuv3: Include asm/arm_pmuv3.h from linux/perf/arm_pmuv3.h
        perf: arm_v6/7_pmu: Drop non-DT probe support
        perf/arm: Move 32-bit PMU drivers to drivers/perf/
        perf: arm_pmuv3: Drop unnecessary IS_ENABLED(CONFIG_ARM64) check
        perf: arm_pmuv3: Avoid assigning fixed cycle counter with threshold
        arm64: Kconfig: Fix dependencies to enable ACPI_HOTPLUG_CPU
        perf: imx_perf: add support for i.MX95 platform
        perf: imx_perf: fix counter start and config sequence
        perf: imx_perf: refactor driver for imx93
        perf: imx_perf: let the driver manage the counter usage rather the user
        perf: imx_perf: add macro definitions for parsing config attr
        ...
      c89d780c
    • Lai Jiangshan's avatar
      workqueue: Remove unneeded lockdep_assert_cpus_held() · aa868475
      Lai Jiangshan authored
      The commit 19af4575 ("workqueue: Remove cpus_read_lock() from
      apply_wqattrs_lock()") removes the unneed cpus_read_lock() after the pwq
      creations and installations have been reworked based on wq_online_cpumask
      rather than cpu_online_mask making cpus_read_lock() is unneeded during
      wqattrs changes.
      
      But it desn't remove the lockdep_assert_cpus_held() checks during wqattrs
      changes, which leads to complaints from lockdep reported by kernel test
      robot:
      
      [   15.726567][  T131] ------------[ cut here ]------------
      [ 15.728117][ T131] WARNING: CPU: 1 PID: 131 at kernel/cpu.c:525 lockdep_assert_cpus_held (kernel/cpu.c:525)
      [   15.731191][  T131] Modules linked in: floppy(+) parport_pc(+) parport qemu_fw_cfg rtc_cmos
      [   15.733423][  T131] CPU: 1 PID: 131 Comm: systemd-udevd Tainted: G                T  6.10.0-rc2-00254-g19af4575 #1 df6f039f42e8818bf9a534449362ebad1aad32e2
      [   15.737011][  T131] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.16.2-debian-1.16.2-1 04/01/2014
      [ 15.739760][ T131] EIP: lockdep_assert_cpus_held (kernel/cpu.c:525)
      [ 15.741326][ T131] Code: 97 c2 03 72 20 83 3d f4 73 97 c2 00 74 17 55 89 e5 b8 fc bd 4d c2 ba ff ff ff ff e8 e4 57 d1 00 85 c0 74 06 5d 31 c0 31 d2 c3 <0f> 0b eb f6 90 90 90 90 90 90 90 90 90 90 90 90 90 90 55 89 e5 b8
      
      Fix it by removing the unneeded lockdep_assert_cpus_held().
      Also remove the unneed cpus_read_lock() from wq_affn_dfl_set().
      
      tj: Dropped the removal of cpus_read_lock/unlock() in wq_affn_dfl_set() to
          keep this patch fix only.
      
      Cc: kernel test robot <oliver.sang@intel.com>
      Fixes: 19af4575("workqueue: Remove cpus_read_lock() from apply_wqattrs_lock()")
      Reported-by: default avatarkernel test robot <oliver.sang@intel.com>
      Closes: https://lore.kernel.org/oe-lkp/202407141846.665c0446-lkp@intel.comSigned-off-by: default avatarLai Jiangshan <jiangshan.ljs@antgroup.com>
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      aa868475
  2. 15 Jul, 2024 17 commits
    • Linus Torvalds's avatar
      Merge tag 'keys-next-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd · bbb3556c
      Linus Torvalds authored
      Pull keys updates from Jarkko Sakkinen:
       "Contains cosmetic fixes only"
      
      * tag 'keys-next-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
        KEYS: encrypted: add missing MODULE_DESCRIPTION()
        KEYS: trusted: add missing MODULE_DESCRIPTION()
      bbb3556c
    • Linus Torvalds's avatar
      Merge tag 'tpmdd-next-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd · 4cb9dc10
      Linus Torvalds authored
      Pull tpm updates from Jarkko Sakkinen:
       "A couple of bug fixes.
      
        No new features are coming for this release. I had one in progress but
        decided to let it mature up until 6.12"
      
      * tag 'tpmdd-next-6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jarkko/linux-tpmdd:
        tpm_tis_spi: add missing attpm20p SPI device ID entry
        char: tpm: Fix possible memory leak in tpm_bios_measurements_open()
      4cb9dc10
    • Linus Torvalds's avatar
      Merge tag 'wq-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq · b02c520f
      Linus Torvalds authored
      Pull workqueue updates from Tejun Heo:
      
       - Lai fixed a bug where CPU hotplug and workqueue attribute changes
         race leaving some workqueues not fully updated. This involved
         refactoring and changing how online CPUs are tracked. The resulting
         code is cleaner.
      
       - Workqueue watchdog touch operation was causing too much cacheline
         contention on very large machines. Nicholas improved scalabililty by
         avoiding unnecessary global updates.
      
       - Code cleanups and minor rescuer behavior improvement.
      
       - The last commit 58629d48 ("workqueue: Always queue work items to
         the newest PWQ for order workqueues") is a cherry-picked straggler
         commit from for-6.10-fixes, a fix for a bug which may not actually
         trigger.
      
      * tag 'wq-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (24 commits)
        workqueue: Always queue work items to the newest PWQ for order workqueues
        workqueue: Rename wq_update_pod() to unbound_wq_update_pwq()
        workqueue: Remove the arguments @hotplug_cpu and @online from wq_update_pod()
        workqueue: Remove the argument @cpu_going_down from wq_calc_pod_cpumask()
        workqueue: Remove the unneeded cpumask empty check in wq_calc_pod_cpumask()
        workqueue: Remove cpus_read_lock() from apply_wqattrs_lock()
        workqueue: Simplify wq_calc_pod_cpumask() with wq_online_cpumask
        workqueue: Add wq_online_cpumask
        workqueue: Init rescuer's affinities as the wq's effective cpumask
        workqueue: Put PWQ allocation and WQ enlistment in the same lock C.S.
        workqueue: Move kthread_flush_worker() out of alloc_and_link_pwqs()
        workqueue: Make rescuer initialization as the last step of the creation of a new wq
        workqueue: Register sysfs after the whole creation of the new wq
        workqueue: Simplify goto statement
        workqueue: Update cpumasks after only applying it successfully
        workqueue: Improve scalability of workqueue watchdog touch
        workqueue: wq_watchdog_touch is always called with valid CPU
        workqueue: Remove useless pool->dying_workers
        workqueue: Detach workers directly in idle_cull_fn()
        workqueue: Don't bind the rescuer in the last working cpu
        ...
      b02c520f
    • Linus Torvalds's avatar
      Merge tag 'cgroup-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup · 895b9b12
      Linus Torvalds authored
      Pull cgroup updates from Tejun Heo:
      
       - Added Michal Koutný as a maintainer
      
       - Counters in pids.events were behaving inconsistently. pids.events
         made properly hierarchical and pids.events.local added
      
       - misc.peak and misc.events.local added
      
       - cpuset remote partition creation and cpuset.cpus.exclusive handling
         improved
      
       - Code cleanups, non-critical fixes, doc updates
      
       - for-6.10-fixes is merged in to receive two non-critical fixes that
         didn't trigger pull
      
      * tag 'cgroup-for-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (23 commits)
        cgroup: Add Michal Koutný as a maintainer
        cgroup/misc: Introduce misc.events.local
        cgroup/rstat: add force idle show helper
        cgroup: Protect css->cgroup write under css_set_lock
        cgroup/misc: Introduce misc.peak
        cgroup_misc: add kernel-doc comments for enum misc_res_type
        cgroup/cpuset: Prevent UAF in proc_cpuset_show()
        selftest/cgroup: Update test_cpuset_prs.sh to match changes
        cgroup/cpuset: Make cpuset.cpus.exclusive independent of cpuset.cpus
        cgroup/cpuset: Delay setting of CS_CPU_EXCLUSIVE until valid partition
        selftest/cgroup: Fix test_cpuset_prs.sh problems reported by test robot
        cgroup/cpuset: Fix remote root partition creation problem
        cgroup: avoid the unnecessary list_add(dying_tasks) in cgroup_exit()
        cgroup/cpuset: Optimize isolated partition only generate_sched_domains() calls
        cgroup/cpuset: Reduce the lock protecting CS_SCHED_LOAD_BALANCE
        kernel/cgroup: cleanup cgroup_base_files when fail to add cgroup_psi_files
        selftests: cgroup: Add basic tests for pids controller
        selftests: cgroup: Lexicographic order in Makefile
        cgroup/pids: Add pids.events.local
        cgroup/pids: Make event counters hierarchical
        ...
      895b9b12
    • Linus Torvalds's avatar
      Merge tag 'nolibc.2024.07.15a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · f97b956b
      Linus Torvalds authored
      Pull nolibc updates from Paul McKenney:
      
       - Fix selftest printf format mismatch in expect_str_buf_eq()
      
       - Stop using brk() and sbrk() when testing against musl, which
         implements these two functions with ENOMEM
      
       - Make tests use -Werror to force failure on compiler warnings
      
       - Add limits for the {u,}intmax_t, ulong and {u,}llong types
      
       - Implement strtol() and friends
      
       - Add facility to skip nolibc-specific tests when running against
         non-nolibc libraries
      
       - Implement strerror()
      
       - Also use strerror() on nolibc when running kselftests
      
      * tag 'nolibc.2024.07.15a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        selftests: kselftest: also use strerror() on nolibc
        tools/nolibc: implement strerror()
        selftests/nolibc: introduce condition to run tests only on nolibc
        tools/nolibc: implement strtol() and friends
        tools/nolibc: add limits for {u,}intmax_t, ulong and {u,}llong
        selftests/nolibc: run-tests.sh: use -Werror by default
        selftests/nolibc: disable brk()/sbrk() tests on musl
        selftests/nolibc: fix printf format mismatch in expect_str_buf_eq()
      f97b956b
    • Linus Torvalds's avatar
      Merge tag 'kcsan.2024.07.12a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · e4b2b0b1
      Linus Torvalds authored
      Pull KCSAN updates from Paul McKenney:
      
       - improve the documentation for the new __data_racy type qualifier
         to the data_race() macro's kernel-doc header and to the LKMM's
         access-marking documentation
      
       - add missing MODULE_DESCRIPTION
      
      * tag 'kcsan.2024.07.12a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        kcsan: Add missing MODULE_DESCRIPTION() macro
        kcsan: Add example to data_race() kerneldoc header
      e4b2b0b1
    • Linus Torvalds's avatar
      Merge tag 'torture.2024.07.12a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · b176e21d
      Linus Torvalds authored
      Pull torture-test updates from Paul McKenney:
       "This adds MODULE_DESCRIPTION() to torture.c, locktorture.c, and
        scftorture.c, and also adds 'static' to a global variable that is used
        only in scftorture.c"
      
      * tag 'torture.2024.07.12a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        scftorture: Make torture_type static
        scftorture: Add MODULE_DESCRIPTION()
        locktorture: Add MODULE_DESCRIPTION()
        torture: Add MODULE_DESCRIPTION()
      b176e21d
    • Linus Torvalds's avatar
      Merge tag 'rcu.2024.07.12a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 9855e873
      Linus Torvalds authored
      Pull RCU updates from Paul McKenney:
      
       - Update Tasks RCU and Tasks Rude RCU description in Requirements.rst
         and clarify rcu_assign_pointer() and rcu_dereference() ordering
         properties
      
       - Add lockdep assertions for RCU readers, limit inline wakeups for
         callback-bypass synchronize_rcu(), add an
         rcutree.nohz_full_patience_delay to reduce nohz_full OS jitter, add
         Uladzislau Rezki as RCU maintainer, and fix a subtle
         callback-migration memory-ordering issue
      
       - Remove a number of redundant memory barriers
      
       - Remove unnecessary bypass-list lock-contention mitigation, use
         parking API instead of open-coded ad-hoc equivalent, and upgrade
         obsolete comments
      
       - Revert avoidance of a deadlock that can no longer occur and properly
         synchronize Tasks Trace RCU checking of runqueues
      
       - Add tests for handling of double-call_rcu() bug, add missing
         MODULE_DESCRIPTION, and add a script that histograms the number of
         calls to RCU updaters
      
       - Fill out SRCU polled-grace-period API
      
      * tag 'rcu.2024.07.12a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu: (29 commits)
        rcu: Fix rcu_barrier() VS post CPUHP_TEARDOWN_CPU invocation
        rcu: Eliminate lockless accesses to rcu_sync->gp_count
        MAINTAINERS: Add Uladzislau Rezki as RCU maintainer
        rcu: Add rcutree.nohz_full_patience_delay to reduce nohz_full OS jitter
        rcu/exp: Remove redundant full memory barrier at the end of GP
        rcu: Remove full memory barrier on RCU stall printout
        rcu: Remove full memory barrier on boot time eqs sanity check
        rcu/exp: Remove superfluous full memory barrier upon first EQS snapshot
        rcu: Remove superfluous full memory barrier upon first EQS snapshot
        rcu: Remove full ordering on second EQS snapshot
        srcu: Fill out polled grace-period APIs
        srcu: Update cleanup_srcu_struct() comment
        srcu: Add NUM_ACTIVE_SRCU_POLL_OLDSTATE
        srcu: Disable interrupts directly in srcu_gp_end()
        rcu: Disable interrupts directly in rcu_gp_init()
        rcu/tree: Reduce wake up for synchronize_rcu() common case
        rcu/tasks: Fix stale task snaphot for Tasks Trace
        tools/rcu: Add rcu-updaters.sh script
        rcutorture: Add missing MODULE_DESCRIPTION() macros
        rcutorture: Fix rcu_torture_fwd_cb_cr() data race
        ...
      9855e873
    • Linus Torvalds's avatar
      Merge tag 'lkmm.2024.07.12a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · 253e1e98
      Linus Torvalds authored
      Pull memory model updates from Paul McKenney:
       "lkmm: Fix corner-case locking bug and improve documentation
      
        A simple but odd single-process litmus test acquires and immediately
        releases a lock, then calls spin_is_locked(). LKMM acts if it was a
        deadlock due to an assumption that spin_is_locked() will follow a
        spin_lock() or some other process's spin_unlock(). This litmus test
        manages to violate this assumption because the spin_is_locked()
        follows the same process's spin_unlock().
      
        This series fixes this bug, reorganizes and optimizes the lock.cat
        model, and updates documentation"
      
      * tag 'lkmm.2024.07.12a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        tools/memory-model: Code reorganization in lock.cat
        tools/memory-model: Fix bug in lock.cat
        tools/memory-model: Add access-marking.txt to README
        tools/memory-model: Add KCSAN LF mentorship session citation
      253e1e98
    • Linus Torvalds's avatar
      Merge tag 'cmpxchg.2024.07.12a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu · c4b729b0
      Linus Torvalds authored
      Pull arm byte cmpxchg from Paul McKenney:
       "ARM: Provide one-byte cmpxchg emulation
      
        This provides emulated one-byte cmpxchg() support for ARM using the
        cmpxchg_emu_u8() function that uses a four-byte cmpxchg() to emulate
        the one-byte variant.
      
        Similar patches for emulation of one-byte cmpxchg() for arc, sh, and
        xtensa have not yet received maintainer acks, so they are slated for
        the v6.12 merge window"
      
      * tag 'cmpxchg.2024.07.12a' of git://git.kernel.org/pub/scm/linux/kernel/git/paulmck/linux-rcu:
        ARM: Emulate one-byte cmpxchg
      c4b729b0
    • Linus Torvalds's avatar
      Merge tag 'timers-core-2024-07-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4fd94356
      Linus Torvalds authored
      Pull timer updates from Thomas Gleixner:
       "Updates for timers, timekeeping and related functionality:
      
        Core:
      
         - Make the takeover of a hrtimer based broadcast timer reliable
           during CPU hot-unplug. The current implementation suffers from a
           race which can lead to broadcast timer starvation in the worst
           case.
      
         - VDSO related cleanups and simplifications
      
         - Small cleanups and enhancements all over the place
      
        PTP:
      
         - Replace the architecture specific base clock to clocksource, e.g.
           ART to TSC, conversion function with generic functionality to avoid
           exposing such internals to drivers and convert all existing drivers
           over. This also allows to provide functionality which converts the
           other way round in the core code based on the same parameter set.
      
         - Provide a function to convert CLOCK_REALTIME to the base clock to
           support the upcoming PPS output driver on Intel platforms.
      
        Drivers:
      
         - A set of Device Tree bindings for new hardware
      
         - Cleanups and enhancements all over the place"
      
      * tag 'timers-core-2024-07-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (30 commits)
        clocksource/drivers/realtek: Add timer driver for rtl-otto platforms
        dt-bindings: timer: Add schema for realtek,otto-timer
        dt-bindings: timer: Add SOPHGO SG2002 clint
        dt-bindings: timer: renesas,tmu: Add R-Car Gen2 support
        dt-bindings: timer: renesas,tmu: Add RZ/G1 support
        dt-bindings: timer: renesas,tmu: Add R-Mobile APE6 support
        clocksource/drivers/mips-gic-timer: Correct sched_clock width
        clocksource/drivers/mips-gic-timer: Refine rating computation
        clocksource/drivers/sh_cmt: Address race condition for clock events
        clocksource/driver/arm_global_timer: Remove unnecessary ‘0’ values from err
        clocksource/drivers/arm_arch_timer: Remove unnecessary ‘0’ values from irq
        tick/broadcast: Make takeover of broadcast hrtimer reliable
        tick/sched: Combine WARN_ON_ONCE and print_once
        x86/vdso: Remove unused include
        x86/vgtod: Remove unused typedef gtod_long_t
        x86/vdso: Fix function reference in comment
        vdso: Add comment about reason for vdso struct ordering
        vdso/gettimeofday: Clarify comment about open coded function
        timekeeping: Add missing kernel-doc function comments
        tick: Remove unnused tick_nohz_get_idle_calls()
        ...
      4fd94356
    • Linus Torvalds's avatar
      Merge tag 'smp-core-2024-07-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0eff0491
      Linus Torvalds authored
      Pull CPU hotplug updates from Thomas Gleixner:
       "A small set of SMP/CPU hotplug updates:
      
         - Reverse the order of iteration when freezing secondary CPUs for
           hibernation.
      
           This avoids that drivers like the Intel uncore performance counter
           have to transfer the assignement of handling the per package uncore
           events for every CPU in a package, which is a considerable speedup
           on larger systems.
      
         - Add a missing destroy_work_on_stack() invocation in
           smp_call_on_cpu() to prevent debug objects to emit a false positive
           warning when the stack is freed.
      
         - Small cleanups in comments and a str_plural() conversion"
      
      * tag 'smp-core-2024-07-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        smp: Add missing destroy_work_on_stack() call in smp_call_on_cpu()
        cpu/hotplug: Reverse order of iteration in freeze_secondary_cpus()
        smp: Use str_plural() to fix Coccinelle warnings
        cpu/hotplug: Fix typo in comment
      0eff0491
    • Linus Torvalds's avatar
      Merge tag 'core-debugobjects-2024-07-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 0e4b77d4
      Linus Torvalds authored
      Pull debugobjects update from Thomas Gleixner:
       "A single update for debugobjects to annotate all intentionally racy
        global debug variables so that KCSAN ignores them"
      
      * tag 'core-debugobjects-2024-07-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        debugobjects: Annotate racy debug variables
      0e4b77d4
    • Linus Torvalds's avatar
      Merge tag 'for-6.11/block-20240710' of git://git.kernel.dk/linux · 3e781988
      Linus Torvalds authored
      Pull block updates from Jens Axboe:
      
       - NVMe updates via Keith:
           - Device initialization memory leak fixes (Keith)
           - More constants defined (Weiwen)
           - Target debugfs support (Hannes)
           - PCIe subsystem reset enhancements (Keith)
           - Queue-depth multipath policy (Redhat and PureStorage)
           - Implement get_unique_id (Christoph)
           - Authentication error fixes (Gaosheng)
      
       - MD updates via Song
           - sync_action fix and refactoring (Yu Kuai)
           - Various small fixes (Christoph Hellwig, Li Nan, and Ofir Gal, Yu
             Kuai, Benjamin Marzinski, Christophe JAILLET, Yang Li)
      
       - Fix loop detach/open race (Gulam)
      
       - Fix lower control limit for blk-throttle (Yu)
      
       - Add module descriptions to various drivers (Jeff)
      
       - Add support for atomic writes for block devices, and statx reporting
         for same. Includes SCSI and NVMe (John, Prasad, Alan)
      
       - Add IO priority information to block trace points (Dongliang)
      
       - Various zone improvements and tweaks (Damien)
      
       - mq-deadline tag reservation improvements (Bart)
      
       - Ignore direct reclaim swap writes in writeback throttling (Baokun)
      
       - Block integrity improvements and fixes (Anuj)
      
       - Add basic support for rust based block drivers. Has a dummy null_blk
         variant for now (Andreas)
      
       - Series converting driver settings to queue limits, and cleanups and
         fixes related to that (Christoph)
      
       - Cleanup for poking too deeply into the bvec internals, in preparation
         for DMA mapping API changes (Christoph)
      
       - Various minor tweaks and fixes (Jiapeng, John, Kanchan, Mikulas,
         Ming, Zhu, Damien, Christophe, Chaitanya)
      
      * tag 'for-6.11/block-20240710' of git://git.kernel.dk/linux: (206 commits)
        floppy: add missing MODULE_DESCRIPTION() macro
        loop: add missing MODULE_DESCRIPTION() macro
        ublk_drv: add missing MODULE_DESCRIPTION() macro
        xen/blkback: add missing MODULE_DESCRIPTION() macro
        block/rnbd: Constify struct kobj_type
        block: take offset into account in blk_bvec_map_sg again
        block: fix get_max_segment_size() warning
        loop: Don't bother validating blocksize
        virtio_blk: Don't bother validating blocksize
        null_blk: Don't bother validating blocksize
        block: Validate logical block size in blk_validate_limits()
        virtio_blk: Fix default logical block size fallback
        nvmet-auth: fix nvmet_auth hash error handling
        nvme: implement ->get_unique_id
        block: pass a phys_addr_t to get_max_segment_size
        block: add a bvec_phys helper
        blk-lib: check for kill signal in ioctl BLKZEROOUT
        block: limit the Write Zeroes to manually writing zeroes fallback
        block: refacto blkdev_issue_zeroout
        block: move read-only and supported checks into (__)blkdev_issue_zeroout
        ...
      3e781988
    • Linus Torvalds's avatar
      Merge tag 'for-6.11/io_uring-20240714' of git://git.kernel.dk/linux · 3a56e241
      Linus Torvalds authored
      Pull io_uring updates from Jens Axboe:
       "Here are the io_uring updates queued up for 6.11.
      
        Nothing major this time around, various minor improvements and
        cleanups/fixes. This contains:
      
         - Add bind/listen opcodes. Main motivation is to support direct
           descriptors, to avoid needing a regular fd just for doing these two
           operations (Gabriel)
      
         - Probe fixes (Gabriel)
      
         - Treat io-wq work flags as atomics. Not fixing a real issue, but may
           as well and it silences a KCSAN warning (me)
      
         - Cleanup of rsrc __set_current_state() usage (me)
      
         - Add 64-bit for {m,f}advise operations (me)
      
         - Improve performance of data ring messages (me)
      
         - Fix for ring message overflow posting (Pavel)
      
         - Fix for freezer interaction with TWA_NOTIFY_SIGNAL. Not strictly an
           io_uring thing, but since TWA_NOTIFY_SIGNAL was originally added
           for faster task_work signaling for io_uring, bundling it with this
           pull (Pavel)
      
         - Add Pavel as a co-maintainer
      
         - Various cleanups (me, Thorsten)"
      
      * tag 'for-6.11/io_uring-20240714' of git://git.kernel.dk/linux: (28 commits)
        io_uring/net: check socket is valid in io_bind()/io_listen()
        kernel: rerun task_work while freezing in get_signal()
        io_uring/io-wq: limit retrying worker initialisation
        io_uring/napi: Remove unnecessary s64 cast
        io_uring/net: cleanup io_recv_finish() bundle handling
        io_uring/msg_ring: fix overflow posting
        MAINTAINERS: change Pavel Begunkov from io_uring reviewer to maintainer
        io_uring/msg_ring: use kmem_cache_free() to free request
        io_uring/msg_ring: check for dead submitter task
        io_uring/msg_ring: add an alloc cache for io_kiocb entries
        io_uring/msg_ring: improve handling of target CQE posting
        io_uring: add io_add_aux_cqe() helper
        io_uring: add remote task_work execution helper
        io_uring/msg_ring: tighten requirement for remote posting
        io_uring: Allocate only necessary memory in io_probe
        io_uring: Fix probe of disabled operations
        io_uring: Introduce IORING_OP_LISTEN
        io_uring: Introduce IORING_OP_BIND
        net: Split a __sys_listen helper for io_uring
        net: Split a __sys_bind helper for io_uring
        ...
      3a56e241
    • Linus Torvalds's avatar
      Merge tag 'vfs-6.11.iomap' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs · 4f5e249e
      Linus Torvalds authored
      Pull iomap updates from Christian Brauner:
       "This contains some minor work for the iomap subsystem:
      
         - Add documentation on the design of iomap and how to port to it
      
         - Optimize iomap_read_folio()
      
         - Bring back the change to iomap_write_end() to no increase i_size.
      
           This is accompanied by a change to xfs to reserve blocks for
           truncating large realtime inodes to avoid exposing stale data when
           iomap_write_end() stops increasing i_size"
      
      * tag 'vfs-6.11.iomap' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
        iomap: don't increase i_size in iomap_write_end()
        xfs: reserve blocks for truncating large realtime inode
        Documentation: the design of iomap and how to port
        iomap: Optimize iomap_read_folio
      4f5e249e
    • Linus Torvalds's avatar
      Merge tag 'vfs-6.11.pidfs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs · 98f3a9a4
      Linus Torvalds authored
      Pull pidfs updates from Christian Brauner:
       "This contains work to make it possible to derive namespace file
        descriptors from pidfd file descriptors.
      
        Right now it is already possible to use a pidfd with setns() to
        atomically change multiple namespaces at the same time. In other
        words, it is possible to switch to the namespace context of a process
        using a pidfd. There is no need to first open namespace file
        descriptors via procfs.
      
        The work included here is an extension of these abilities by allowing
        to open namespace file descriptors using a pidfd. This means it is now
        possible to interact with namespaces without ever touching procfs.
      
        To this end a new set of ioctls() on pidfds is introduced covering all
        supported namespace types"
      
      * tag 'vfs-6.11.pidfs' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
        pidfs: allow retrieval of namespace file descriptors
        nsfs: add open_namespace()
        nsproxy: add helper to go from arbitrary namespace to ns_common
        nsproxy: add a cleanup helper for nsproxy
        file: add take_fd() cleanup helper
      98f3a9a4