1. 16 Jul, 2024 40 commits
    • Linus Torvalds's avatar
      Merge tag 'hardening-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · ce5a51bf
      Linus Torvalds authored
      Pull hardening updates from Kees Cook:
      
       - lkdtm/bugs: add test for hung smp_call_function_single() (Mark
         Rutland)
      
       - gcc-plugins: Remove duplicate included header file stringpool.h
         (Thorsten Blum)
      
       - ARM: Remove address checking for MMUless devices (Yanjun Yang)
      
       - randomize_kstack: Clean up per-arch entropy and codegen
      
       - KCFI: Make FineIBT mode Kconfig selectable
      
       - fortify: Do not special-case 0-sized destinations
      
      * tag 'hardening-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        randomize_kstack: Improve stack alignment codegen
        ARM: Remove address checking for MMUless devices
        gcc-plugins: Remove duplicate included header file stringpool.h
        randomize_kstack: Remove non-functional per-arch entropy filtering
        fortify: Do not special-case 0-sized destinations
        x86/alternatives: Make FineIBT mode Kconfig selectable
        lkdtm/bugs: add test for hung smp_call_function_single()
      ce5a51bf
    • Linus Torvalds's avatar
      Merge tag 'pstore-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 8050258b
      Linus Torvalds authored
      Pull pstore updates from Kees Cook:
      
       - Add missing MODULE_DESCRIPTION() macro (Jeff Johnson)
      
       - Replace deprecated strncpy() with strscpy() (Justin Stitt)
      
      * tag 'pstore-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        pstore: platform: add missing MODULE_DESCRIPTION() macro
        pstore/blk: replace deprecated strncpy with strscpy
      8050258b
    • Linus Torvalds's avatar
      Merge tag 'seccomp-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 1ca995ed
      Linus Torvalds authored
      Pull seccomp updates from Kees Cook:
      
       - interrupt SECCOMP_IOCTL_NOTIF_RECV when all users exit (Andrei Vagin)
      
       - Update selftests to check for expected NOTIF_RECV exits (Andrei
         Vagin)
      
      * tag 'seccomp-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        selftests/seccomp: check that a zombie leader doesn't affect others
        selftests/seccomp: add test for NOTIF_RECV and unused filters
        seccomp: release task filters when the task exits
        seccomp: interrupt SECCOMP_IOCTL_NOTIF_RECV when all users have exited
      1ca995ed
    • Linus Torvalds's avatar
      Merge tag 'execve-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux · 72fda6c8
      Linus Torvalds authored
      Pull execve updates from Kees Cook:
      
       - Use value of kernel.randomize_va_space once per exec (Alexey
         Dobriyan)
      
       - Honor PT_LOAD alignment for static PIE
      
       - Make bprm->argmin only visible under CONFIG_MMU
      
       - Add KUnit testing of bprm_stack_limits()
      
      * tag 'execve-v6.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux:
        exec: Avoid pathological argc, envc, and bprm->p values
        execve: Keep bprm->argmin behind CONFIG_MMU
        ELF: fix kernel.randomize_va_space double read
        exec: Add KUnit test for bprm_stack_limits()
        binfmt_elf: Honor PT_LOAD alignment for static PIE
        binfmt_elf: Calculate total_size earlier
        selftests/exec: Build both static and non-static load_address tests
      72fda6c8
    • Linus Torvalds's avatar
      Merge tag 'for-linus-6.11-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · f83e38fc
      Linus Torvalds authored
      Pull xen updates from Juergen Gross:
      
       - some trivial cleanups
      
       - a fix for the Xen timer
      
       - add boot time selectable debug capability to the Xen multicall
         handling
      
       - two fixes for the recently added Xen irqfd handling
      
      * tag 'for-linus-6.11-rc1-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        x86/xen: remove deprecated xen_nopvspin boot parameter
        x86/xen: eliminate some private header files
        x86/xen: make some functions static
        xen: make multicall debug boot time selectable
        xen/arm: Convert comma to semicolon
        xen: privcmd: Fix possible access to a freed kirqfd instance
        xen: privcmd: Switch from mutex to spinlock for irqfds
        xen: add missing MODULE_DESCRIPTION() macros
        x86/xen: Convert comma to semicolon
        x86/xen/time: Reduce Xen timer tick
        xen/manage: Constify struct shutdown_handler
      f83e38fc
    • Linus Torvalds's avatar
      Merge tag 'efi-next-for-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi · e55037c8
      Linus Torvalds authored
      Pull EFI updates from Ard Biesheuvel:
       "Note the removal of the EFI fake memory map support - this is believed
        to be unused and no longer worth supporting. However, we could easily
        bring it back if needed.
      
        With recent developments regarding confidential VMs and unaccepted
        memory, combined with kexec, creating a known inaccurate view of the
        firmware's memory map and handing it to the OS is a feature we can
        live without, hence the removal. Alternatively, I could imagine making
        this feature mutually exclusive with those confidential VM related
        features, but let's try simply removing it first.
      
        Summary:
      
         - Drop support for the 'fake' EFI memory map on x86
      
         - Add an SMBIOS based tweak to the EFI stub instructing the firmware
           on x86 Macbook Pros to keep both GPUs enabled
      
         - Replace 0-sized array with flexible array in EFI memory attributes
           table handling
      
         - Drop redundant BSS clearing when booting via the native PE
           entrypoint on x86
      
         - Avoid returning EFI_SUCCESS when aborting on an out-of-memory
           condition
      
         - Cosmetic tweak for arm64 KASLR loading logic"
      
      * tag 'efi-next-for-v6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi:
        efi: Replace efi_memory_attributes_table_t 0-sized array with flexible array
        efi: Rename efi_early_memdesc_ptr() to efi_memdesc_ptr()
        arm64/efistub: Clean up KASLR logic
        x86/efistub: Drop redundant clearing of BSS
        x86/efistub: Avoid returning EFI_SUCCESS on error
        x86/efistub: Call Apple set_os protocol on dual GPU Intel Macs
        x86/efistub: Enable SMBIOS protocol handling for x86
        efistub/smbios: Simplify SMBIOS enumeration API
        x86/efi: Drop support for fake EFI memory maps
      e55037c8
    • Linus Torvalds's avatar
      Merge tag 'asm-generic-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic · d80f2996
      Linus Torvalds authored
      Pull asm-generic updates from Arnd Bergmann:
       "Most of this is part of my ongoing work to clean up the system call
        tables. In this bit, all of the newer architectures are converted to
        use the machine readable syscall.tbl format instead in place of
        complex macros in include/uapi/asm-generic/unistd.h.
      
        This follows an earlier series that fixed various API mismatches and
        in turn is used as the base for planned simplifications.
      
        The other two patches are dead code removal and a warning fix"
      
      * tag 'asm-generic-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
        vmlinux.lds.h: catch .bss..L* sections into BSS")
        fixmap: Remove unused set_fixmap_offset_io()
        riscv: convert to generic syscall table
        openrisc: convert to generic syscall table
        nios2: convert to generic syscall table
        loongarch: convert to generic syscall table
        hexagon: use new system call table
        csky: convert to generic syscall table
        arm64: rework compat syscall macros
        arm64: generate 64-bit syscall.tbl
        arm64: convert unistd_32.h to syscall.tbl format
        arc: convert to generic syscall table
        clone3: drop __ARCH_WANT_SYS_CLONE3 macro
        kbuild: add syscall table generation to scripts/Makefile.asm-headers
        kbuild: verify asm-generic header list
        loongarch: avoid generating extra header files
        um: don't generate asm/bpf_perf_event.h
        csky: drop asm/gpio.h wrapper
        syscalls: add generic scripts/syscall.tbl
      d80f2996
    • Linus Torvalds's avatar
      Merge tag 'soc-arm-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · a5db8e45
      Linus Torvalds authored
      Pull arm SoC platform updates from Arnd Bergmann:
       "The majority of the updates here are Dmitry Torokhov's cleanups for
        platform code in the pxa and tegra platforms, changing custom
        platform_data structures into DT-compatible software node
        declarations.
      
        The other updates are for the MAINTAINERS file, correcting some stale
        or missing entries"
      
      * tag 'soc-arm-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        ARM: pxa: fix build breakage on PXA3xx
        ti: omap: MAINTAINERS: move Benoît Cousson to CREDITS
        amazon: MAINTAINERS: change to odd fixes and Tsahee Zidenberg to CREDITS
        MAINTAINERS: thead: add git tree
        ARM: spitz: Use software nodes for the ADS7846 touchscreen
        ARM: spitz: Use software nodes to describe LED GPIOs
        ARM: spitz: Use software nodes to describe MMC GPIOs
        ARM: spitz: Use software nodes to describe LCD GPIOs
        ARM: spitz: Use software nodes to describe audio GPIOs
        ARM: spitz: Use software nodes to describe SPI CS lines
        ARM: spitz: Simplify instantiating SPI controller
        ARM: pxa/gumstix: convert vbus gpio to use software nodes
        ARM: pxa: consolidate GPIO chip platform data
        ARM: spitz: fix GPIO assignment for backlight
        ARM: tegra: paz00: Use software nodes to describe GPIOs for WiFi rfkill
        MAINTAINERS: ARM: airoha: add entry to cover Airoha SoC
        bus: vexpress-config: Add missing MODULE_DESCRIPTION() macro
        arm64: layerscape: remove redundant EDAC_SUPPORT selection
        dt-bindings: arm: Remove obsolete RTSM DCSCB binding
        arm: vexpress: Remove obsolete RTSM DCSCB support
      a5db8e45
    • Linus Torvalds's avatar
      Merge tag 'soc-defconfig-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · a9a4cd9c
      Linus Torvalds authored
      Pull SoC defconfig updates from Arnd Bergmann:
       "These are the usual updates to enable newly added drivers, mostly for
        arm64 and riscv this time"
      
      * tag 'soc-defconfig-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
        arm64: defconfig: Enable the IWLWIFI driver
        ARM: multi_v7_defconfig: Add MCP23S08 pinctrl support
        arm64: defconfig: Enable NVIDIA CoreSight PMU driver
        arm64: defconfig: enable SHM Bridge support for the TZ memory allocator
        arm64: defconfig: Enable secure QFPROM driver
        ARM: imx_v6_v7_defconfig: enable DRM_SII902X and DRM_DISPLAY_CONNECTOR
        ARM: imx_v6_v7_defconfig: Enable drivers for TQMa7x/MBa7x
        riscv: defconfig: Enable StarFive JH7110 drivers
        arm64: defconfig: Enable TI LP873X PMIC
        arm64: defconfig: Enable USB2 PHY Driver
        arm64: defconfig: Enable MTD support for Hyperbus
        ARM: configs: at91: Enable LVDS serializer support
        arm64: defconfig: enable several Qualcomm interconnects
        arm64: defconfig: Enable Marvell 88Q2XXX PHY support
        arm64: defconfig: make CONFIG_INTERCONNECT_QCOM_SM8350 built-in
        arm64: defconfig: enable CONFIG_SM_GPUCC_8350
        arm64: defconfig: Enable Renesas R-Car Gen4 PCIe controller
      a9a4cd9c
    • Linus Torvalds's avatar
      Merge tag 'soc-dt-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · e3950967
      Linus Torvalds authored
      Pull SoC dt updates from Arnd Bergmann:
       "The devicetree updates are fairly well spread out across platforms,
        with Qualcomm making up about a third of the total.
      
        There are three new SoCs in existing product families this:
      
         - NXP i.MX95 is a variant of i.MX93, now with six Cortex-A55 cores
           instead of just two as well as a GPU and more high-speed I/O
           devices.
      
         - Qualcomm QCS8550 is a variant of SM8550 for IOT devices
      
         - Airoha EN7581 is a 10G-PON network chip and related to the MT7981
           Wireless router chip from its parent Mediatek.
      
        In total there are 58 new machines, including four riscv boards and
        eight for 32-bit arm.
      
        The most exciting new addition is probably a pair of laptops based on
        the Qualcomm x1e80100 (Snapdragon X1 Elite) chip, the Asus Vivobook
        S15 and the Lenovo Yoga Slim7x.
      
        Other noteworthy new additions are:
      
         - A total of 20 Qualcomm based machines, mostly Android devices from
           Samsung, Motorola and LG, as well as a wireless router and some
           reference designs
      
         - Six NXP i.MX based machines, mostly industrial boards along with
           some reference designs
      
         - Mediatek sees some interesting Filogic based routers including the
           "OpenWRT One", a few new Chromebooks as well as single-board
           computers.
      
         - Four machines from Solidrun based on Marvell cn913x, replacing the
           older Armada 8000 based counterparts
      
         - The four Amlogic machines are all set top boxes or reference
           designs for them
      
         - The nine new Rockchips machines are mostly single-board computers
           including some interesting ones based on the rk3588 chip like the
           ROCK 5 ITX board and the CM3588 with its four NVMe slots
      
         - The RISC-V boards are all single-board computers based on Starfive
           JH7110, Microchip MPFS and Allwinner D1, which all had similar
           boards already
      
        There are also a lot of updates to already supported machines, notably
        for the TI K3, Rockchips, Freescale and of course Qualcomm platforms"
      
      * tag 'soc-dt-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (846 commits)
        arm64: dts: allwinner: h616: add crypto engine node
        riscv: dts: add clock generator for Sophgo SG2042 SoC
        arm64: dts: rockchip: Add Xunlong Orange Pi 3B
        dt-bindings: arm: rockchip: Add Xunlong Orange Pi 3B
        arm64: dts: rockchip: Add Radxa ROCK 3B
        dt-bindings: arm: rockchip: Add Radxa ROCK 3B
        mailmap: Update Luca Weiss's email address
        ARM: dts: ixp4xx: nslu2: beeper uses PWM
        arm64: dts: rockchip: add ROCK 5 ITX board
        dt-bindings: arm: rockchip: Add ROCK 5 ITX board
        arm64: dts: rockchip: Add dma-names to uart1 on Pine64 rk3566 devices
        arm64: dts: rockchip: Add avdd supplies to hdmi on rock64
        arm64: dts: qcom: msm8916-lg-c50: add initial dts for LG Leon LTE
        arm64: dts: qcom: msm8916-lg-m216: Add initial device tree
        dt-bindings: arm: qcom: Add msm8916 based LG devices
        ARM: dts: qcom: msm8960: correct memory base
        arm64: dts: qcom: ipq9574: Add icc provider ability to gcc
        dt-bindings: interconnect: Add Qualcomm IPQ9574 support
        arm64: dts: qcom: sm8150: Add video clock controller node
        arm64: dts: qcom: pm6150: Add vibrator
        ...
      e3950967
    • Linus Torvalds's avatar
      Merge tag 'soc-drivers-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc · cc0f7c3f
      Linus Torvalds authored
      Pull SoC driver updates from Arnd Bergmann:
       "The updates to the mediatek, allwinner, ti, tegra, microchip, stm32,
        samsung, imx, zynq and amlogic platoforms are fairly small maintenance
        changes, either addressing minor mistakes or enabling additional
        hardware.
      
        The qualcomm platform changes add a number of features and are larger
        than the other ones combined, introducing the use of linux/cleanup.h
        across several drivers, adding support for Snapdragon X1E and other
        SoCs in platform drivers, a new "protection domain mapper" driver, and
        a "shared memory bridge" driver.
      
        The cznic "turris omnia" router based on Marvell Armada gets a
        platform driver that talks to the board specific microcontroller.
      
        The reset and cache subsystems get a few minor updates to SoC specific
        drivers, while the ff-a, scmi and optee firmware drivers get some code
        refactoring and new features"
      
      * tag 'soc-drivers-6.11' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (122 commits)
        firmware: turris-mox-rwtm: Initialize completion before mailbox
        firmware: turris-mox-rwtm: Fix checking return value of wait_for_completion_timeout()
        firmware: turris-mox-rwtm: Do not complete if there are no waiters
        MAINTAINERS: drop riscv list from cache controllers
        platform: cznic: turris-omnia-mcu: fix Kconfig dependencies
        bus: sunxi-rsb: Constify struct regmap_bus
        soc: sunxi: sram: Constify struct regmap_config
        platform: cznic: turris-omnia-mcu: Depend on WATCHDOG
        platform: cznic: turris-omnia-mcu: Depend on OF
        soc: samsung: exynos-pmu: add support for PMU_ALIVE non atomic registers
        arm64: stm32: enable scmi regulator for stm32
        firmware: qcom: tzmem: blacklist more platforms for SHM Bridge
        soc: qcom: wcnss: simplify with cleanup.h
        soc: qcom: pdr: simplify with cleanup.h
        soc: qcom: ocmem: simplify with cleanup.h
        soc: qcom: mdt_loader: simplify with cleanup.h
        soc: qcom: llcc: simplify with cleanup.h
        firmware: qcom: tzmem: simplify returning pointer without cleanup
        soc: qcom: socinfo: Add PM6350 PMIC
        arm64: dts: renesas: rz-smarc: Replace fixed regulator for USB VBUS
        ...
      cc0f7c3f
    • Linus Torvalds's avatar
      Merge tag 'm68k-for-v6.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k · 99298eb6
      Linus Torvalds authored
      Pull m68k updates from Geert Uytterhoeven:
      
       - Fix bootup lock-ups on Warp1260, Atari TT, and MegaSTe
      
       - Miscellaneous fixes and improvements
      
       - defconfig updates
      
      * tag 'm68k-for-v6.11-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/linux-m68k:
        m68k: cmpxchg: Fix return value for default case in __arch_xchg()
        m68k: defconfig: Update defconfigs for v6.10-rc1
        m68k: atari: Fix TT bootup freeze / unexpected (SCU) interrupt messages
        zorro: Use str_plural() in amiga_zorro_probe()
        m68k: emu: Add missing MODULE_DESCRIPTION() macros
        m68k: amiga: Turn off Warp1260 interrupts during boot
      99298eb6
    • Linus Torvalds's avatar
      Merge tag 'x86_sev_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 40832358
      Linus Torvalds authored
      Pull x86 SEV updates from Borislav Petkov:
      
       - Add support for running the kernel in a SEV-SNP guest, over a Secure
         VM Service Module (SVSM).
      
         When running over a SVSM, different services can run at different
         protection levels, apart from the guest OS but still within the
         secure SNP environment. They can provide services to the guest, like
         a vTPM, for example.
      
         This series adds the required facilities to interface with such a
         SVSM module.
      
       - The usual fixlets, refactoring and cleanups
      
      [ And as always: "SEV" is AMD's "Secure Encrypted Virtualization".
      
        I can't be the only one who gets all the newer x86 TLA's confused,
        can I?
                    - Linus ]
      
      * tag 'x86_sev_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        Documentation/ABI/configfs-tsm: Fix an unexpected indentation silly
        x86/sev: Do RMP memory coverage check after max_pfn has been set
        x86/sev: Move SEV compilation units
        virt: sev-guest: Mark driver struct with __refdata to prevent section mismatch
        x86/sev: Allow non-VMPL0 execution when an SVSM is present
        x86/sev: Extend the config-fs attestation support for an SVSM
        x86/sev: Take advantage of configfs visibility support in TSM
        fs/configfs: Add a callback to determine attribute visibility
        sev-guest: configfs-tsm: Allow the privlevel_floor attribute to be updated
        virt: sev-guest: Choose the VMPCK key based on executing VMPL
        x86/sev: Provide guest VMPL level to userspace
        x86/sev: Provide SVSM discovery support
        x86/sev: Use the SVSM to create a vCPU when not in VMPL0
        x86/sev: Perform PVALIDATE using the SVSM when not at VMPL0
        x86/sev: Use kernel provided SVSM Calling Areas
        x86/sev: Check for the presence of an SVSM in the SNP secrets page
        x86/irqflags: Provide native versions of the local_irq_save()/restore()
      40832358
    • Linus Torvalds's avatar
      Merge tag 'x86_cache_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b84b3381
      Linus Torvalds authored
      Pull x86 resource control updates from Borislav Petkov:
      
       - Enable Sub-NUMA clustering to work with resource control on Intel by
         teaching resctrl to handle scopes due to the clustering which
         partitions the L3 cache into sets. Modify and extend the subsystem to
         handle such scopes properly
      
      * tag 'x86_cache_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/resctrl: Update documentation with Sub-NUMA cluster changes
        x86/resctrl: Detect Sub-NUMA Cluster (SNC) mode
        x86/resctrl: Enable shared RMID mode on Sub-NUMA Cluster (SNC) systems
        x86/resctrl: Make __mon_event_count() handle sum domains
        x86/resctrl: Fill out rmid_read structure for smp_call*() to read a counter
        x86/resctrl: Handle removing directories in Sub-NUMA Cluster (SNC) mode
        x86/resctrl: Create Sub-NUMA Cluster (SNC) monitor files
        x86/resctrl: Allocate a new field in union mon_data_bits
        x86/resctrl: Refactor mkdir_mondata_subdir() with a helper function
        x86/resctrl: Initialize on-stack struct rmid_read instances
        x86/resctrl: Add a new field to struct rmid_read for summation of domains
        x86/resctrl: Prepare for new Sub-NUMA Cluster (SNC) monitor files
        x86/resctrl: Block use of mba_MBps mount option on Sub-NUMA Cluster (SNC) systems
        x86/resctrl: Introduce snc_nodes_per_l3_cache
        x86/resctrl: Add node-scope to the options for feature scope
        x86/resctrl: Split the rdt_domain and rdt_hw_domain structures
        x86/resctrl: Prepare for different scope for control/monitor operations
        x86/resctrl: Prepare to split rdt_domain structure
        x86/resctrl: Prepare for new domain scope
      b84b3381
    • Linus Torvalds's avatar
      Merge tag 'x86_cpu_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · d6797831
      Linus Torvalds authored
      Pull x86 cpu model updates from Borislav Petkov:
      
       - Flip the logic to add feature names to /proc/cpuinfo to having to
         explicitly specify the flag if there's a valid reason to show it in
         /proc/cpuinfo
      
       - Switch a bunch of Intel x86 model checking code to the new CPU model
         defines
      
       - Fixes and cleanups
      
      * tag 'x86_cpu_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/cpu/intel: Drop stray FAM6 check with new Intel CPU model defines
        x86/cpufeatures: Flip the /proc/cpuinfo appearance logic
        x86/CPU/AMD: Always inline amd_clear_divider()
        x86/mce/inject: Add missing MODULE_DESCRIPTION() line
        perf/x86/rapl: Switch to new Intel CPU model defines
        x86/boot: Switch to new Intel CPU model defines
        x86/cpu: Switch to new Intel CPU model defines
        perf/x86/intel: Switch to new Intel CPU model defines
        x86/virt/tdx: Switch to new Intel CPU model defines
        x86/PCI: Switch to new Intel CPU model defines
        x86/cpu/intel: Switch to new Intel CPU model defines
        x86/platform/intel-mid: Switch to new Intel CPU model defines
        x86/pconfig: Remove unused MKTME pconfig code
        x86/cpu: Remove useless work in detect_tme_early()
      d6797831
    • Linus Torvalds's avatar
      Merge tag 'x86_bugs_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2439a5ea
      Linus Torvalds authored
      Pull x86 cpu mitigation updates from Borislav Petkov:
      
       - Add a spectre_bhi=vmexit mitigation option aimed at cloud
         environments
      
       - Remove duplicated Spectre cmdline option documentation
      
       - Add separate macro definitions for syscall handlers which do not
         return in order to address objtool warnings
      
      * tag 'x86_bugs_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/bugs: Add 'spectre_bhi=vmexit' cmdline option
        x86/bugs: Remove duplicate Spectre cmdline option descriptions
        x86/syscall: Mark exit[_group] syscall handlers __noreturn
      2439a5ea
    • Linus Torvalds's avatar
      Merge tag 'x86_vmware_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · f998678b
      Linus Torvalds authored
      Pull x86 vmware updates from Borislav Petkov:
      
       - Add a unified VMware hypercall API layer which should be used by all
         callers instead of them doing homegrown solutions. This will provide
         for adding API support for confidential computing solutions like TDX
      
      * tag 'x86_vmware_for_v6.11_rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/vmware: Add TDX hypercall support
        x86/vmware: Remove legacy VMWARE_HYPERCALL* macros
        x86/vmware: Correct macro names
        x86/vmware: Use VMware hypercall API
        drm/vmwgfx: Use VMware hypercall API
        input/vmmouse: Use VMware hypercall API
        ptp/vmware: Use VMware hypercall API
        x86/vmware: Introduce VMware hypercall API
      f998678b
    • 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