summaryrefslogtreecommitdiff
path: root/Documentation
AgeCommit message (Collapse)AuthorFilesLines
2026-01-28spi: dt-bindings: cdns,qspi-nor: Drop label in exampleMiquel Raynal (Schneider Electric)1-1/+1
The label is useless here. Plus, if there are several examples with the same label, we'll get very useless yet annoying warnings. Acked-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Miquel Raynal (Schneider Electric) <miquel.raynal@bootlin.com> Tested-by: Santhosh Kumar K <s-k6@ti.com> Link: https://patch.msgid.link/20260122-schneider-6-19-rc1-qspi-v4-1-f9c21419a3e6@bootlin.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-01-28Documentation: Add documentation for VDUSE Address Space IDsEugenio Pérez1-0/+53
Address Space IDs allows the VDUSE framework to support devices able to expose different virtqueues to different part of the drivers. For example, to let QEMU handle the net device control virtqueue, so QEMU always knows the state of the device like mac address or number of queues enabled, while leaving the dataplane passthrough to the guest intact. This enables live migration. Expands the VDUSE documentation to explain how to use the new ioctls or the new struct members of old ioctls. Acked-by: Jason Wang <jasowang@redhat.com> Signed-off-by: Eugenio Pérez <eperezma@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Message-Id: <20260119143306.1818855-14-eperezma@redhat.com>
2026-01-28compiler-context-analysis: Introduce scoped init guardsMarco Elver1-3/+27
Add scoped init guard definitions for common synchronization primitives supported by context analysis. The scoped init guards treat the context as active within initialization scope of the underlying context lock, given initialization implies exclusive access to the underlying object. This allows initialization of guarded members without disabling context analysis, while documenting initialization from subsequent usage. The documentation is updated with the new recommendation. Where scoped init guards are not provided or cannot be implemented (ww_mutex omitted for lack of multi-arg guard initializers), the alternative is to just disable context analysis where guarded members are initialized. Suggested-by: Peter Zijlstra <peterz@infradead.org> Signed-off-by: Marco Elver <elver@google.com> Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Link: https://lore.kernel.org/all/20251212095943.GM3911114@noisy.programming.kicks-ass.net/ Link: https://patch.msgid.link/20260119094029.1344361-3-elver@google.com
2026-01-28Merge tag 'qcom-arm64-for-6.20-2' of ↵Arnd Bergmann1-0/+1
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt More Qualcomm Arm64 DeviceTree updates for v6.20 Enable ADSP FastRPC and add missing GPU memory regions on Agatti. Also add the missing GPU regions on SM6115. Describe the application subsystem watchdog on Hamoa and enable this in the EL2 configurations. Add the camera control interface (CCI) I2C controller on MSM8953, and describe the camera regulators and the camera EEPROM on Fairphone FP3. Specify clock frequency for the i2c4 bus on OnePlus 6, to silence the warnings about missing frequency definition. Add FastRPC and associated heap memory, as well as Coresight, on SM8750 Switch a variety of platforms to use the generic RPMPD_ constants, instead of target-specific duplicated, to allow us to drop these from the header files. Drop the invalid opp-shared on the QUP OPP table for Talos. * tag 'qcom-arm64-for-6.20-2' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: arm64: dts: qcom: sm6115: Add CX_MEM/DBGC GPU regions arm64: dts: qcom: agatti: Add CX_MEM/DBGC GPU regions arm64: dts: qcom: sm8750: add ADSP fastrpc-compute-cb nodes arm64: dts: qcom: sm8750: add memory node for adsp fastrpc arm64: dts: qcom: switch to RPMPD_* indices arm64: dts: qcom: oneplus-enchilada: Specify i2c4 clock frequency arm64: dts: qcom: sm6350: Add clocks for aggre1 & aggre2 NoC arm64: dts: qcom: agatti: enable FastRPC on the ADSP arm64: qcom: dts: sm8750: add coresight nodes arm64: dts: qcom: talos: Drop opp-shared from QUP OPP table arm64: dts: qcom: x1-el2: Enable the APSS watchdog arm64: dts: qcom: hamoa: Add the APSS watchdog dt-bindings: watchdog: Document X1E80100 compatible arm64: dts: qcom: sdm632-fairphone-fp3: Enable CCI and add EEPROM arm64: dts: qcom: sdm632-fairphone-fp3: Add camera fixed regulators arm64: dts: qcom: msm8953: Add CCI nodes arm64: dts: qcom: msm8953: Re-sort tlmm pinctrl states Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'v6.20-rockchip-dts64-2' of ↵Arnd Bergmann2-5/+24
https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt New boards: Anberic RG-DS game console, Radxa CM3J module + baseboard for the Rpi CM4 IO board, QNAP TS133 from the RK3568 NAS series. 2 display outputs for the Lion board (old RK3368), TPS65185 pmic for the PineNote and fixes for the PCIe ranges on both RK356x and RK3588. These came quite late, so I wanted to give them the time till 6.20-rc1 and have them migrate to stable-kernels afterwards. The rest is small stuff on a number of boards wrt gpios and compatibles. * tag 'v6.20-rockchip-dts64-2' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip: (25 commits) arm64: dts: rockchip: Fix rk3588 PCIe range mappings arm64: dts: rockchip: Fix rk356x PCIe range mappings arm64: dts: rockchip: Add Anbernic RG-DS dt-bindings: input: touchscreen: goodix: Add "panel" property dt-bindings: arm: rockchip: Add Anbernic RG-DS arm64: dts: rockchip: Explicitly request UFS reset pin on RK3576 arm64: dts: rockchip: Add TPS65185 for PineNote arm64: dts: rockchip: Do not enable hdmi_sound node on Pinebook Pro arm64: dts: rockchip: Fix imx258 variant on pinephone pro arm64: dts: rockchip: Add the Video-Demo overlay for Lion Haikou arm64: dts: rockchip: Enable pwm1 on rk3368-lion-haikou arm64: dts: rockchip: Enable HDMI output on RK3368-Lion-Haikou arm64: dts: rockchip: Add HDMI node to RK3368 arm64: dts: rockchip: Use phandle for i2c_lvds_blc on rk3368-lion haikou arm64: dts: rockchip: Fix SD card support for RK3576 Nanopi R76s arm64: dts: rockchip: Fix SD card support for RK3576 EVB1 arm64: dts: rockchip: Add Radxa CM3J on RPi CM4 IO Board arm64: dts: rockchip: Add Radxa CM3J dt-bindings: arm: rockchip: Add Radxa CM3J on RPi CM4 IO Board arm64: dts: rockchip: Make eeprom read-only for Radxa ROCK 3C/5A/5C ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'cix-dt-binding-v6.20-rc1' of ↵Arnd Bergmann1-2/+4
git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/cix into soc/dt - Add OrangePi 6 Plus board * tag 'cix-dt-binding-v6.20-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/peter.chen/cix: dt-bindings: arm: cix: add OrangePi 6 Plus board Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'at91-dt-6.20' of ↵Arnd Bergmann1-2/+4
https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt Microchip AT91 device tree updates for v6.20 This update includes: - update the SAMA7D65 flexcom nodes to add the missing i2c, spi, and usart child nodes; the flexcom child nodes were also updated with DMA properties - add basic support for the PCB8385 board, based on LAN966X SoC - drop usb_a9g20-dab-mmx.dtsi as it is not used anywhere in the tree * tag 'at91-dt-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux: ARM: dts: microchip: Drop usb_a9g20-dab-mmx.dtsi ARM: dts: Add support for pcb8385 dt-bindings: arm: at91: add lan966 pcb8385 board ARM: dts: microchip: sama7d65: add missing flexcom nodes ARM: dts: microchip: sama7d65: add fifo-size to usart ARM: dts: microchip: sama7d65: add dma properties to usart6 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'mtk-dts64-for-v6.20' of ↵Arnd Bergmann3-13/+37
https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/dt MediaTek ARM64 Device Tree updates This adds support for new boards and variants based on different already supported MediaTek SoCs, and improves support for current boards. In particular: - New machines: - Ezurio Tungsten 510 (MediaTek Genio 510 SoC) - Ezurio Tungsten 700 (MediaTek Genio 700 SoC) ...improvements for already supported SoCs and machines: - MT7981b gains support for PCI-Express, USB, Ethernet and for the "GED" WiFi HW offload - OpenWRT One board gains support for the same - MT8188/8195/8390/8395 gains support for the DPI1 interface and HDMI output from the SoC's HDMI Tx controller along with its HDMI PHY and DDC IPs, usable on a selection of boards that expose a HDMI connector, namely: - All MT8390 Genio EVK based boards - All MT8395 Genio EVK based boards - Radxa NIO-12L (MT8395) ...and dtbs_check warning fixes for many of the MTK devicetrees, including MT6795, MT7981, MT7986, MT7988, MT8173, MT8183, MT8186, MT8188, MT8192, and a dts coding style fix for Airoha EN7581-EVB. This also includes a fix for the new devicetree overlay warnings, adding dtbs with applied overlays for all of the devices having at least one overlay. * tag 'mtk-dts64-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: (47 commits) arm64: dts: mediatek: mt8192: Rename mt8192-afe-pcm to audio-controller dt-bindings: arm: mediatek: audsys: Support mt8192-audsys variant arm64: dts: mediatek: mt7988a: Fix PCI-Express T-PHY node address arm64: dts: mediatek: mt8186-evb: Add vproc fixed regulator arm64: dts: mediatek: mt7981b-openwrt-one: Add address/size cells to eth arm64: dts: mediatek: mt8183-kukui: Clean up IT6505 regulator supply arm64: dts: mediatek: mt7986a: Change compatible for SafeXcel crypto arm64: dts: mediatek: mt8173-evb: Add interrupts to DA9211 regulator arm64: dts: mediatek: mt6795-xperia-m5: Rename PMIC leds node arm64: dts: mediatek: mt6795: Fix issues in SCPSYS node arm64: dts: mediatek: mt6331: Fix VCAM IO regulator name arm64: dts: mediatek: mt6795-xperia-m5: Add UHS pins for MMC1 and 2 arm64: dts: mediatek: mt8192-asurada: Remove unused clock-stretch-ns arm64: dts: mediatek: mt8173-elm: Remove regulators from thermal node arm64: dts: mediatek: mt8173-elm: Fix dsi0 ports warning arm64: dts: mediatek: mt8173-elm: Fix bluetooth node name and reorder arm64: dts: mediatek: mt8183-pumpkin: Fix pinmux node names arm64: dts: mediatek: mt8183-jacuzzi-pico6: Fix typo in pinmux node arm64: dts: mediatek: mt7981b-openwrt-one: Remove useless cells from flash@0 arm64: dts: mediatek: mt8183-evb: Fix dtbs_check warnings ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'amlogic-arm64-dt-for-v6.20' of ↵Arnd Bergmann1-0/+8
https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux into soc/dt Amlogic ARM64 DT for v6.20: - Cleanups: - Use lowercase hex - Use hyphen in node names - move CPU OPP table and clock assignment to SoC.dtsi - drop useless assigned-clock-parents - MMC clock fixup across multiple families - Add type-c controller on Radxa Zero 2 and enable NPU - New board: - Khadas VIM1s based on Amlogic S4 * tag 'amlogic-arm64-dt-for-v6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux: arm64: dts: amlogic: meson-s4-s905y4-khadas-vim1s: enable SDIO interface arm64: dts: amlogic: add the type-c controller on Radxa Zero 2 arm64: dts: amlogic: meson-sm1-odroid: Eliminate Odroid HC4 power glitches during boot. arm64: dts: amlogic: meson-s4-s905y4-khadas-vim1s: enable eMMC storage arm64: dts: meson-s4-s905y4-khadas-vim1s: add initial device tree arm64: dts: meson-s4-aq222: update compatible string with s805x2 dt-bindings: arm: amlogic: introduce specific compatibles for S4 family arm64: dts: amlogic: Enable the npu node on Radxa Zero 2 arm64: dts: amlogic: g12: assign the MMC A signal clock arm64: dts: amlogic: g12: assign the MMC B and C signal clocks arm64: dts: amlogic: gx: assign the MMC signal clocks arm64: dts: amlogic: axg: assign the MMC signal clocks arm64: dts: amlogic: a1: align the mmc clock setup arm64: dts: amlogic: c3: assign the MMC signal clocks arm64: dts: amlogic: s4: fix mmc clock assignment arm64: dts: amlogic: s4: assign mmc b clock to 24MHz arm64: dts: amlogic: drop useless assigned-clock-parents arm64: dts: amlogic: move CPU OPP table and clock assignment to SoC.dtsi arm64: dts: amlogic: Use lowercase hex arm64: dts: amlogic: Use hyphen in node names Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'spacemit-dt-for-6.20-1' of https://github.com/spacemit-com/linux ↵Arnd Bergmann5-0/+9
into soc/dt RISC-V SpacemiT DT changes for 6.20 - Disable Ethernet PHY auto sleep mode - Add pinctrl IO power support - Add K3 Pico-ITX board - Add support for K3 SoC - Add DWC USB support - Add reset for eMMC(sdhci)/I2C - Add PCIe support - Support PMIC for Jupiter board * tag 'spacemit-dt-for-6.20-1' of https://github.com/spacemit-com/linux: riscv: dts: spacemit: Disable ETH PHY sleep mode for OrangePi riscv: dts: spacemit: pinctrl: update register and IO power riscv: dts: spacemit: add K3 Pico-ITX board support riscv: dts: spacemit: add initial support for K3 SoC dt-bindings: riscv: spacemit: add K3 and Pico-ITX board bindings dt-bindings: interrupt-controller: add SpacemiT K3 IMSIC dt-bindings: interrupt-controller: add SpacemiT K3 APLIC dt-bindings: timer: add SpacemiT K3 CLINT dt-bindings: riscv: add SpacemiT X100 CPU compatible riscv: dts: spacemit: k1: Add "b" ISA extension riscv: dts: spacemit: Enable USB3.0 on BananaPi-F3 riscv: dts: spacemit: Add DWC3 USB 3.0 controller node for K1 riscv: dts: spacemit: Add USB2 PHY node for K1 riscv: dts: spacemit: sdhci: add reset support riscv: dts: spacemit: add reset property riscv: dts: spacemit: PCIe and PHY-related updates riscv: dts: spacemit: Add a PCIe regulator riscv: dts: spacemit: Define the P1 PMIC regulators for Milk-V Jupiter riscv: dts: spacemit: Define fixed regulators for Milk-V Jupiter riscv: dts: spacemit: Enable i2c8 adapter for Milk-V Jupiter Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'samsung-dt64-6.20-2' of ↵Arnd Bergmann1-1/+20
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt Samsung DTS ARM64 changes for v6.20, part two Add DPU clock management unit nodes to Google GS101. * tag 'samsung-dt64-6.20-2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: arm64: dts: exynos: gs101: add cmu_dpu and sysreg_dpu dt nodes dt-bindings: clock: google,gs101-clock: Add DPU clock management unit dt-bindings: clock: google,gs101-clock: fix alphanumeric ordering Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'stm32-dt-for-v6.20-1' of ↵Arnd Bergmann3-0/+9
git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into soc/dt STM32 DT for v6.20, round 1 Highlights: ---------- - MCU: - Update/add Led support on ST boards. - MPU: - STM32MP13: - Add boot led and red led on ST DK board. - STMP32MP15: - Add boot led and red led on ST DK boards. - Add SPI1 sleep pinctrl group. - STM32MP23: - Add green ,orange and boot leds on ST boards. - Add SPI, I2C, DCMIPP and CSI instances to CLUSTER_PD power domain. - Enable analog-filter to all I2C instances. - STM32MP25: - Add green ,orange and boot leds on ST boards. - Add SPI, I2C, DCMIPP and CSI instances to CLUSTER_PD power domain. - Enable analog-filter to all I2C instances. - Add LPDDR/DDR channels to ST boards. * tag 'stm32-dt-for-v6.20-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32: (31 commits) arm/arm64: dts: st: Drop unused .dtsi arm64: STM32: drop an undefined Kconfig symbol arm64: dts: st: Minor whitespace cleanup arm64: dts: st: Use hyphen in node names arm64: dts: st: add power-domain of dcmipp in stm32mp231.dtsi arm64: dts: st: add power-domain of dcmipp in stm32mp251.dtsi dt-bindings: media: st: dcmipp: add 'power-domains' property arm64: dts: st: add power-domain of csi in stm32mp231.dtsi arm64: dts: st: add power-domain of csi in stm32mp251.dtsi dt-bindings: media: st: csi: add 'power-domains' property ARM: dts: stm32: add spi1 sleep state pinctrl on stm32mp157c-ev1 arm64: dts: st: add DDR channel to stm32mp257f-ev1 board arm64: dts: st: add LPDDR channel to stm32mp257f-dk board arm64: dts: st: enable i2c analog-filter in stm32mp231.dtsi arm64: dts: st: enable i2c analog-filter in stm32mp251.dtsi arm64: dts: st: add power-domains in all i2c of stm32mp231.dtsi arm64: dts: st: add power-domains in all i2c of stm32mp251.dtsi dt-bindings: i2c: st,stm32-i2c: add 'power-domains' property arm64: dts: st: add power-domains in all spi of stm32mp231.dtsi arm64: dts: st: add power-domains in all spi of stm32mp251.dtsi ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'pinctrl-v6.19-3' of ↵Linus Torvalds1-1/+1
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control fixes from Linus Walleij: - Mark the Meson GPIO controller as sleeping to avoid a context splat - Fix up the I2S2 and SWR TX group settings in the Qualcomm SM8350 LPASS pin controller, and implement the proper .get_direction() callback - Fix a pin typo in the TG1520 pin controller - Fix a group name in the Marvell armada 3710 XB pin controller that got mangled in a DT schema rewrite * tag 'pinctrl-v6.19-3' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: dt-bindings: pinctrl: marvell,armada3710-xb-pinctrl: fix 'usb32_drvvbus0' group name pinctrl: lpass-lpi: implement .get_direction() for the GPIO driver pinctrl: th1520: Fix typo pinctrl: qcom: sm8350-lpass-lpi: Merge with SC7280 to fix I2S2 and SWR TX pins pinctrl: meson: mark the GPIO controller as sleeping
2026-01-28Merge tag 'imx-bindings-6.20' of ↵Arnd Bergmann4-2/+38
https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt i.MX dt-bindgings changes for 6.20: - New board compatibles for i.MX93 11x11 FRDM, Apalis iMX8QP, i.MX91 FRDM, ifm VHIP4 EvalBoard v1 and v2, TQ-Systems MBLS1028A/MBLS1028A-IND, i.MX952 EVK, i.MX8MP FRDM - Add vendor prefix for ifm electronic gmbh - A couple of small changes for fsl,imx-gpc.yaml and tcg,tpm-tis-i2c.yaml * tag 'imx-bindings-6.20' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: dt-bindings: arm: fsl: Add compatible for i.MX95 15x15 FRDM board dt-bindings: arm: fsl: Document ifm VHIP4 EvalBoard v1 and v2 dt-bindings: vendor-prefixes: Document ifm electronic gmbh dt-bindings: arm: fsl: Add FRDM-IMX91 board dt-bindings: tpm: Add st,st33tphf2ei2c dt-bindings: arm: fsl: Add Apalis iMX8QP dt-bindings: arm: fsl: add i.MX952 EVK board dt-bindings: arm: fsl: add i.MX93 11x11 FRDM board dt-bindings: power: fsl,imx-gpc: Document address-cells dt-bindings: arm: fsl: Add i.MX8MP FRDM board dt-bindings: arm: fsl: add TQ-Systems boards MBLS1028A and MBLS1028A-IND Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-01-28Merge tag 'tegra-for-6.20-dt-bindings-v2' of ↵Arnd Bergmann10-79/+224
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt dt-bindings: Changes for v6.20-rc1 This series updates various DT bindings for Tegra architecture, primarily focusing on schema validation fixes and new feature documentation for Tegra234 and Tegra264 SoCs. Key changes include converting Tegra20 NAND bindings to YAML, and updating memory, DMA, and IOMMU definitions for Tegra264 (introducing CMDQV and DBB clock support). Additionally, it resolves legacy warnings for Tegra30/132 display and VI interfaces. * tag 'tegra-for-6.20-dt-bindings-v2' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: dt-bindings: display: tegra: document Tegra30 VI and VIP dt-bindings: display: tegra: document Tegra132 MIPI calibration device dt-bindings: mtd: nvidia,tegra20-nand: convert to DT schema dt-bindings: dma: Update ADMA bindings for tegra264 dt-bindings: iommu: Add NVIDIA Tegra CMDQV support dt-bindings: memory: tegra: Document DBB clock for Tegra264 dt-bindings: tegra: pmc: Update aotag as an optional aperture
2026-01-28nfsd: add controls to set the minimum number of threads per poolJeff Layton1-0/+5
Add a new "min_threads" variable to the nfsd_net, along with the corresponding netlink interface, to set that value from userland. Pass that value to svc_set_pool_threads() and svc_set_num_threads(). Signed-off-by: Jeff Layton <jlayton@kernel.org> Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2026-01-28spi: aspeed: Improve handling of shared SPIMark Brown12-6/+109
Merge series from Chin-Ting Kuo <chin-ting_kuo@aspeedtech.com>: This patch series improves handling of SPI controllers that are shared by spi-mem devices and other SPI peripherals. The primary goal of this series is to support non-spi-mem devices in the ASPEED FMC/SPI controller driver. It also addresses an issue in the spi-mem framework observed when different types of SPI devices operate concurrently on the same controller, ensuring that spi-mem operations are properly serialized.
2026-01-28Merge tag 'drm-rust-next-2026-01-26' of ↵Dave Airlie1-44/+15
https://gitlab.freedesktop.org/drm/rust/kernel into drm-next DRM Rust changes for v7.0-rc1 DRM: - Fix documentation for Registration constructors. - Use pin_init::zeroed() for fops initialization. - Annotate DRM helpers with __rust_helper. - Improve safety documentation for gem::Object::new(). - Update AlwaysRefCounted imports. MM: - Prevent integer overflow in page_align(). Nova (Core): - Prepare for Turing support. This includes parsing and handling Turing-specific firmware headers and sections as well as a Turing Falcon HAL implementation. - Get rid of the Result<impl PinInit<T, E>> anti-pattern. - Relocate initializer-specific code into the appropriate initializer. - Use CStr::from_bytes_until_nul() to remove custom helpers. - Improve handling of unexpected firmware values. - Clean up redundant debug prints. - Replace c_str!() with native Rust C-string literals. - Update nova-core task list. Nova (DRM): - Align GEM object size to system page size. Tyr: - Use generated uAPI bindings for GpuInfo. - Replace manual sleeps with read_poll_timeout(). - Replace c_str!() with native Rust C-string literals. - Suppress warnings for unread fields. - Fix incorrect register name in print statement. Signed-off-by: Dave Airlie <airlied@redhat.com> From: "Danilo Krummrich" <dakr@kernel.org> Link: https://patch.msgid.link/DFYW1WV6DUCG.3K8V2DAVD1Q4A@kernel.org
2026-01-28dt-bindings: display: bridge: ldb: Document nxp, enable-termination-resistorFabio Estevam1-0/+18
Document the optional nxp,enable-termination-resistor property for the i.MX LVDS display bridge. This boolean property indicates that the built-in 100 Ohm termination resistor on the LVDS output is enabled. It is controlled via the HS_EN bit in the LVDS_CTRL register. Enabling the resistor can improve LVDS signal quality and may prevent visual artifacts on some boards, but increases the power consumption. Signed-off-by: Fabio Estevam <festevam@nabladev.com> Acked-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Liu Ying <victor.liu@nxp.com> Link: https://lore.kernel.org/r/20260120231930.2782444-1-festevam@gmail.com
2026-01-28Merge tag 'drm-msm-next-2026-01-23' of ↵Dave Airlie7-36/+613
https://gitlab.freedesktop.org/drm/msm into drm-next Changes for v6.20 GPU: - Document a612/RGMU dt bindings - UBWC 6.0 support (for A840 / Kaanapali) - a225 support - Fixes DPU: - Switched to use virtual planes by default - Fixed DSI CMD panels on DPU 3.x - Rewrote format handling to remove intermediate representation - Fixed watchdog on DPU 8.x+ - Fixed TE / Vsync source setting on DPU 8.x+ - Added 3D_Mux on SC7280 - Kaanapali platform support - Fixed UBWC register programming - Made RM reserve DSPP-enabled mixers for CRTCs with LMs. - Gamma correction support DP: - Enabled support for eDP 1.4+ link rate tables - Fixed MDSS1 DP indices on SA8775P, making them to work - Fixed msm_dp_ctrl_config_msa() to work with LLVM 20 DSI: - Documented QCS8300 as compatible with SA8775P - Kaanapali platform support DSI PHY: - switched to divider_determine_rate() MDP5: - Dropped support for MSM8998, SDM660 and SDM630 (switched over to DPU) MDSS: - Kaanapali platform support - Fixed UBWC register programming Signed-off-by: Dave Airlie <airlied@redhat.com> From: Rob Clark <rob.clark@oss.qualcomm.com> Link: https://patch.msgid.link/CACSVV03Sbeca93A+gGh-TKpzFYVabbkWVgPCCicG0_NQG+5Y2A@mail.gmail.com
2026-01-28BackMerge tag 'v6.19-rc7' into drm-nextDave Airlie43-162/+449
Linux 6.19-rc7 This is needed for msm and rust trees. Signed-off-by: Dave Airlie <airlied@redhat.com>
2026-01-28ASoC: sophgo: add CV1800 I2S controllers supportMark Brown2-0/+113
Merge series from "Anton D. Stavinskii" <stavinsky@gmail.com>: This patch series adds basic audio support for Sophgo CV1800B, as used on boards such as the Milk-V Duo. The series introduces the I2S controller driver, the DAC and ADC codec drivers, corresponding DT bindings, and DTS updates to wire the components together. The implementation is based on vendor documentation and testing on real hardware. This series relies on recent fixes in the DesignWare AXI DMA support; in particular, correct operation depends on the DMA changes discussed at: https://lore.kernel.org/all/20251214224601.598358-1-inochiama@gmail.com/ The current driver implementation supports a fixed audio configuration of 48 kHz sample rate and only I2S protocol which is used in codecs. The series has been tested on the Milk-V Duo 256M board using the Sophgo SG2002 SoC. The implementation is expected to also work on Milk-V Duo and Milk-V Module boards based on the SG2000 SoC, as the audio and DMA blocks are closely related. Known hardware limitation: On CV1800B / SG2002, the I2S2 output pins cannot be enabled via pinctrl alone. Due to SoC design constraints, the output path becomes functional only after additional vendor-specific register programming. This series makes the limitation explicit and does not attempt to work around it implicitly via pinctrl or undocumented behavior.
2026-01-28ASoC: codec: Remove ak4641/pxa2xx-ac97 and convert toMark Brown12-6/+109
Merge series from "Peng Fan (OSS)" <peng.fan@oss.nxp.com>: The main goal is to convert drivers to use GPIO descriptors. While reading the code, I think it is time to remove ak4641 and pxa2xx-ac97 driver, more info could be found in commit log of each patch. Then only need to convert sound/arm/pxa2xx-ac97-lib.c to use GPIO descriptors. Not have hardware to test the pxa2xx ac97.
2026-01-28ASoC: fsl_audmix: Support the i.MX952 platformMark Brown2-2/+30
Merge series from Shengjiu Wang <shengjiu.wang@nxp.com>: Enable AUDMIX on i.MX952 platform, update dt binding document and driver. SAI is connected to AUDMIX, and the AUDMIX can be bypassed, so add 'fsl,sai-amix-mode' property in SAI binding document for this case.
2026-01-27docs: automarkup.py: Skip common English words as C identifierswheatfox1-0/+10
The automarkup extension incorrectly recognizes common English words as C identifiers when they follow struct/union/enum/typedef keywords, causing normal text like "... (a simple) struct that" (in `workqueue.rst`) to be rendered as code blocks. This patch adds Skipidentifiers list to filter out these words. Signed-off-by: Yulong Han <wheatfox17@icloud.com> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20260125124450.2005006-1-wheatfox17@icloud.com>
2026-01-27eeprom: at25: expose JEDEC ID via sysfsPatrick Wicki1-0/+11
Return the raw JEDEC ID bytes as returned by the RDID command, even for variations that have the bytes in reverse order. This way we can avoid ambiguity if the manufacturer ever releases a new chip that returns them according to standard. Signed-off-by: Patrick Wicki <patrick.wicki@siemens.com> Reviewed-by: Alexander Sverdlin <alexander.sverdlin@siemens.com> Tested-by: Alexander Sverdlin <alexander.sverdlin@siemens.com> Link: https://patch.msgid.link/20260120130603.1066559-2-patrick@subset.ch Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-27speakup: Clarify bleep_time unit is millisecondsHenry Zhang1-2/+1
The documentation had a TODO questioning whether the unit was in jiffies. The implementation in drivers/accessibility/speakup/main.c passes spk_bleep_time to msecs_to_jiffies(), confirming the unit is in milliseconds. Signed-off-by: Henry Zhang <zeri@umich.edu> Reviewed-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Link: https://patch.msgid.link/20260126201707.1297665-1-zeri@umich.edu Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-01-27Merge tag 'cpufreq-arm-updates-7.0-rc1' of ↵Rafael J. Wysocki1-0/+2
git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm Pull CPUFreq Arm updates for 7.0 from Viresh Kumar: "- Update cpufreq-dt-platdev list for tegra, qcom, TI (Aaron Kling, Dhruva Gole, and Konrad Dybcio). - Minor improvements to the cpufreq / cpumask rust implementation (Alexandre Courbot, Alice Ryhl, Tamir Duberstein, and Yilin Chen). - Add support for AM62L3 SoC to ti-cpufreq driver (Dhruva Gole). - Update FIE arch_freq_scale in ticks for non-PCC regs (Jie Zhan). - Other minor cleanups / improvements (Felix Gu, Juan Martinez, Luca Weiss, and Sergey Shtylyov)." * tag 'cpufreq-arm-updates-7.0-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vireshk/pm: cpufreq: scmi: Fix device_node reference leak in scmi_cpu_domain_id() cpufreq: ti-cpufreq: add support for AM62L3 SoC cpufreq: dt-platdev: Add ti,am62l3 to blocklist cpufreq/amd-pstate: Add comment explaining nominal_perf usage for performance policy cpufreq: scmi: correct SCMI explanation cpufreq: dt-platdev: Block the driver from probing on more QC platforms rust: cpumask: rename methods of Cpumask for clarity and consistency cpufreq: CPPC: Update FIE arch_freq_scale in ticks for non-PCC regs cpufreq: CPPC: Factor out cppc_fie_kworker_init() ACPI: CPPC: Factor out and export per-cpu cppc_perf_ctrs_in_pcc_cpu() rust: cpufreq: replace `kernel::c_str!` with C-Strings cpufreq: Add Tegra186 and Tegra194 to cpufreq-dt-platdev blocklist dt-bindings: cpufreq: qcom-hw: document Milos CPUFREQ Hardware rust: cpufreq: add __rust_helper to helpers rust: cpufreq: always inline functions using build_assert with arguments
2026-01-27ASoC: dt-bindings: sophgo,cv1800b: add ADC/DAC codecAnton D. Stavinskii1-0/+46
Document the internal ADC and DAC audio codecs integrated in the Sophgo CV1800B SoC. Signed-off-by: Anton D. Stavinskii <stavinsky@gmail.com> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/20260120-cv1800b-i2s-driver-v4-3-6ef787dc6426@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-01-27ASoC: dt-bindings: sophgo,cv1800b: add I2S/TDM controllerAnton D. Stavinskii1-0/+67
There are 4 TDM controllers on the SoC. Each controller can receive or transmit data over DMA. The dma it self has 8 channels. Each channel can be connected only to a specific i2s node. But each of dma channel can have multiple purposes so in order to save dma channels the configurations allows to use tx and rx, only rx, only tx or none channels. I2S controller without channels can be useful in configuration where I2S is used as clock source only and doesn't produce any data. Signed-off-by: Anton D. Stavinskii <stavinsky@gmail.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://patch.msgid.link/20260120-cv1800b-i2s-driver-v4-1-6ef787dc6426@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2026-01-27s390/Kconfig: Define non-zero ILLEGAL_POINTER_VALUEGerd Bayer1-0/+4
Define CONFIG_ILLEGAL_POINTER_VALUE to the eye-catching non-zero value of 0xdead000000000000, consistent with other architectures. Assert at compile-time that the poison pointers that include/linux/poison.h defines based on this illegal pointer are beyond the largest useful virtual addresses. Also, assert at compile-time that the range of poison pointers per include/linux/poison.h (currently a range of less than 0x10000 addresses) does not overlap with the range used for address handles for s390's non-MIO PCI instructions. This enables s390 to track the DMA mappings by the network stack's page_pool that was introduced with [0]. Other functional changes are not intended. Other archictectures have introduced this for various other reasons with commit 5c178472af24 ("riscv: define ILLEGAL_POINTER_VALUE for 64bit") commit f6853eb561fb ("powerpc/64: Define ILLEGAL_POINTER_VALUE for 64-bit") commit bf0c4e047324 ("arm64: kconfig: Move LIST_POISON to a safe value") commit a29815a333c6 ("core, x86: make LIST_POISON less deadly") [0] https://lore.kernel.org/all/20250409-page-pool-track-dma-v9-0-6a9ef2e0cba8@redhat.com/ Reviewed-by: Niklas Schnelle <schnelle@linux.ibm.com> Signed-off-by: Gerd Bayer <gbayer@linux.ibm.com> Acked-by: Alexander Gordeev <agordeev@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2026-01-27dt-bindings: net: dsa: lantiq,gswip: add Intel GSW150Daniel Golle1-0/+2
Add compatible strings for the Intel GSW150 which is apparently identical or at least compatible with the Lantiq PEB7084 Ethernet switch IC. Signed-off-by: Daniel Golle <daniel@makrotopia.org> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/1dc62de5263e8536d5960b837bc5dad7b8f42fad.1769099517.git.daniel@makrotopia.org Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-01-27dt-bindings: net: dsa: lantiq,gswip: use correct node nameDaniel Golle1-2/+2
Ethernet PHYs should use nodes named 'ethernet-phy@'. Rename the Ethernet PHY nodes in the example to comply. Signed-off-by: Daniel Golle <daniel@makrotopia.org> Reviewed-by: Rob Herring (Arm) <robh@kernel.org> Link: https://patch.msgid.link/94f439aa17d7b51fb367877df4fb84c8c07c7ce4.1769099517.git.daniel@makrotopia.org Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2026-01-27dt-bindings: gpio: aspeed,sgpio: Support ast2700Billy Tsai1-1/+3
The AST2700 is the 7th generation SoC from Aspeed, featuring two SGPIO master controllers: both with 256 serial inputs and outputs. Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Reviewed-by: Linus Walleij <linusw@kernel.org> Signed-off-by: Billy Tsai <billy_tsai@aspeedtech.com> Link: https://lore.kernel.org/r/20260123-upstream_sgpio-v2-5-69cfd1631400@aspeedtech.com Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
2026-01-27dt-bindings: pinctrl: marvell,armada3710-xb-pinctrl: fix 'usb32_drvvbus0' ↵Gabor Juhos1-1/+1
group name The trailing '0' character of the 'usb32_drvvbus0' pin group got removed during converting the bindings to DT schema. $ git grep -n usb32_drvvbus v6.18 v6.18:Documentation/devicetree/bindings/pinctrl/marvell,armada-37xx-pinctrl.txt:106:group usb32_drvvbus0 v6.18:drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:195: PIN_GRP_GPIO("usb32_drvvbus0", 0, 1, BIT(0), "drvbus"), $ git grep -n usb32_drvvbus v6.19-rc1 v6.19-rc1:Documentation/devicetree/bindings/pinctrl/marvell,armada3710-xb-pinctrl.yaml:91: usb2_drvvbus1, usb32_drvvbus ] v6.19-rc1:drivers/pinctrl/mvebu/pinctrl-armada-37xx.c:195: PIN_GRP_GPIO("usb32_drvvbus0", 0, 1, BIT(0), "drvbus"), Add it back to match the group name with the one the driver expects. Fixes: c1c9641a04e8 ("dt-bindings: pinctrl: Convert marvell,armada-3710-(sb|nb)-pinctrl to DT schema") Signed-off-by: Gabor Juhos <j4g8y7@gmail.com> Acked-by: Conor Dooley <conor.dooley@microchip.com> Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-01-27dt-bindings: pinctrl: pinctrl-microchip-sgpio: add LAN969xRobert Marko1-5/+15
Document LAN969x compatibles for SGPIO. Signed-off-by: Robert Marko <robert.marko@sartura.hr> Acked-by: Conor Dooley <conor.dooley@microchip.com> Reviewed-by: Claudiu Beznea <claudiu.beznea@tuxon.dev> Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-01-27dt-bindings: pinctrl: ocelot: Add LAN9645x SoC supportJens Emil Schulz Østergaard1-0/+6
Add documentation for the compatibles designated for the following SKUs in the LAN9645x family: lan96455f lan96457f lan96459f with fallback a compatible for the smallest 5-ported SKUs lan96455f. Reviewed-by: Steen Hegelund <Steen.Hegelund@microchip.com> Reviewed-by: Daniel Machon <daniel.machon@microchip.com> Signed-off-by: Jens Emil Schulz Østergaard <jensemil.schulzostergaard@microchip.com> Acked-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-01-27dt-bindings: cpufreq: qcom-hw: document Milos CPUFREQ HardwareLuca Weiss1-0/+2
Document the CPUFREQ Hardware on the Milos SoC. Acked-by: Rob Herring (Arm) <robh@kernel.org> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Luca Weiss <luca.weiss@fairphone.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
2026-01-27block: remove bio_last_bvec_allKeith Busch1-1/+0
There are no more callers of this function after commit f6b2d8b134b2413 ("btrfs: track the next file offset in struct btrfs_bio_ctrl"), so remove the function. Signed-off-by: Keith Busch <kbusch@kernel.org> Reviewed-by: Kanchan Joshi <joshi.k@samsung.com> Signed-off-by: Jens Axboe <axboe@kernel.dk>
2026-01-27Docs/admin-guide/mm/damon/lru_sort: document intervals autotuningSeongJae Park1-0/+11
Document a newly added DAMON_LRU_SORT module parameter for using monitoring intervals auto-tuning feature of DAMON. Link: https://lkml.kernel.org/r/20260113152717.70459-12-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Acked-by: wang lian <lianux.mm@gmail.com> Cc: David Hildenbrand <david@kernel.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Liam Howlett <liam.howlett@oracle.com> Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Cc: Michal Hocko <mhocko@suse.com> Cc: Mike Rapoport <rppt@kernel.org> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27Docs/admin-guide/mm/damon/lru_sort: document active_mem_bp parameterSeongJae Park1-0/+12
Document a newly added DAMON_LRU_SORT parameter for doing auto-tuning aiming an active to inactive memory size ratio. Link: https://lkml.kernel.org/r/20260113152717.70459-10-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Acked-by: wang lian <lianux.mm@gmail.com> Cc: David Hildenbrand <david@kernel.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Liam Howlett <liam.howlett@oracle.com> Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Cc: Michal Hocko <mhocko@suse.com> Cc: Mike Rapoport <rppt@kernel.org> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27Docs/admin-guide/mm/damon/lru_sort: document filter_young_pagesSeongJae Park1-0/+14
Document the new DAMON_LRU_SORT parameter, filter_young_pages. It can be used to use page level access re-check for the LRU sorting. Link: https://lkml.kernel.org/r/20260113152717.70459-8-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Acked-by: wang lian <lianux.mm@gmail.com> Cc: David Hildenbrand <david@kernel.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Liam Howlett <liam.howlett@oracle.com> Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Cc: Michal Hocko <mhocko@suse.com> Cc: Mike Rapoport <rppt@kernel.org> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27Docs/mm/damon/design: document DAMOS_QUOTA_[IN]ACTIVE_MEM_BPSeongJae Park1-0/+4
Update design document for newly added DAMOS_QUOTA_[IN]ACTIVE_MEM_BP metrics. Note that API document is automatically updated by kernel-doc comment, and the usage document points to the design document which uses keywords same to that for sysfs inputs. Hence updating only design document is sufficient. Link: https://lkml.kernel.org/r/20260113152717.70459-4-sj@kernel.org Signed-off-by: SeongJae Park <sj@kernel.org> Acked-by: wang lian <lianux.mm@gmail.com> Cc: David Hildenbrand <david@kernel.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Liam Howlett <liam.howlett@oracle.com> Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Cc: Michal Hocko <mhocko@suse.com> Cc: Mike Rapoport <rppt@kernel.org> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Vlastimil Babka <vbabka@suse.cz> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27memcg-v1: remove folio_memcg_lock() doc referenceGreg Thelen1-3/+2
Commit a29c0e4b2e86 ("memcg-v1: remove memcg move locking code") removed folio_memcg_lock(). Delete the final lingering documentation reference. Link: https://lkml.kernel.org/r/20260101225552.3423108-1-gthelen@google.com Fixes: a29c0e4b2e86 ("memcg-v1: remove memcg move locking code") Signed-off-by: Greg Thelen <gthelen@google.com> Acked-by: Shakeel Butt <shakeel.butt@linux.dev> Acked-by: SeongJae Park <sj@kernel.org> Cc: Tejun Heo <tj@kernel.org> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: "Michal Koutný" <mkoutny@suse.com> Cc: Jonathan Corbet <corbet@lwn.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27mm, arch: consolidate hugetlb CMA reservationMike Rapoport (Microsoft)1-1/+1
Every architecture that supports hugetlb_cma command line parameter reserves CMA areas for hugetlb during setup_arch(). This obfuscates the ordering of hugetlb CMA initialization with respect to the rest initialization of the core MM. Introduce arch_hugetlb_cma_order() callback to allow architectures report the desired order-per-bit of CMA areas and provide a week implementation of arch_hugetlb_cma_order() for architectures that don't support hugetlb with CMA. Use this callback in hugetlb_cma_reserve() instead if passing the order as parameter and call hugetlb_cma_reserve() from mm_core_init_early() rather than have it spread over architecture specific code. Link: https://lkml.kernel.org/r/20260111082105.290734-28-rppt@kernel.org Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Alex Shi <alexs@kernel.org> Cc: Andreas Larsson <andreas@gaisler.com> Cc: "Borislav Petkov (AMD)" <bp@alien8.de> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: David Hildenbrand <david@kernel.org> Cc: David S. Miller <davem@davemloft.net> Cc: Dinh Nguyen <dinguyen@kernel.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Guo Ren <guoren@kernel.org> Cc: Heiko Carstens <hca@linux.ibm.com> Cc: Helge Deller <deller@gmx.de> Cc: Huacai Chen <chenhuacai@kernel.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Johannes Berg <johannes@sipsolutions.net> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Klara Modin <klarasmodin@gmail.com> Cc: Liam Howlett <liam.howlett@oracle.com> Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Cc: Magnus Lindholm <linmag7@gmail.com> Cc: Matt Turner <mattst88@gmail.com> Cc: Max Filippov <jcmvbkbc@gmail.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Michal Hocko <mhocko@suse.com> Cc: Michal Simek <monstr@monstr.eu> Cc: Muchun Song <muchun.song@linux.dev> Cc: Oscar Salvador <osalvador@suse.de> Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: Pratyush Yadav <pratyush@kernel.org> Cc: Richard Weinberger <richard@nod.at> Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com> Cc: Russell King <linux@armlinux.org.uk> Cc: Stafford Horne <shorne@gmail.com> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vasily Gorbik <gor@linux.ibm.com> Cc: Vineet Gupta <vgupta@kernel.org> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: Will Deacon <will@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27arch, mm: consolidate initialization of SPARSE memory modelMike Rapoport (Microsoft)2-5/+0
Every architecture calls sparse_init() during setup_arch() although the data structures created by sparse_init() are not used until the initialization of the core MM. Beside the code duplication, calling sparse_init() from architecture specific code causes ordering differences of vmemmap and HVO initialization on different architectures. Move the call to sparse_init() from architecture specific code to free_area_init() to ensure that vmemmap and HVO initialization order is always the same. Link: https://lkml.kernel.org/r/20260111082105.290734-25-rppt@kernel.org Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Cc: Alexander Gordeev <agordeev@linux.ibm.com> Cc: Alex Shi <alexs@kernel.org> Cc: Andreas Larsson <andreas@gaisler.com> Cc: "Borislav Petkov (AMD)" <bp@alien8.de> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: David Hildenbrand <david@kernel.org> Cc: David S. Miller <davem@davemloft.net> Cc: Dinh Nguyen <dinguyen@kernel.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Guo Ren <guoren@kernel.org> Cc: Heiko Carstens <hca@linux.ibm.com> Cc: Helge Deller <deller@gmx.de> Cc: Huacai Chen <chenhuacai@kernel.org> Cc: Ingo Molnar <mingo@redhat.com> Cc: Johannes Berg <johannes@sipsolutions.net> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Klara Modin <klarasmodin@gmail.com> Cc: Liam Howlett <liam.howlett@oracle.com> Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com> Cc: Magnus Lindholm <linmag7@gmail.com> Cc: Matt Turner <mattst88@gmail.com> Cc: Max Filippov <jcmvbkbc@gmail.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Michal Hocko <mhocko@suse.com> Cc: Michal Simek <monstr@monstr.eu> Cc: Muchun Song <muchun.song@linux.dev> Cc: Oscar Salvador <osalvador@suse.de> Cc: Palmer Dabbelt <palmer@dabbelt.com> Cc: Pratyush Yadav <pratyush@kernel.org> Cc: Richard Weinberger <richard@nod.at> Cc: "Ritesh Harjani (IBM)" <ritesh.list@gmail.com> Cc: Russell King <linux@armlinux.org.uk> Cc: Stafford Horne <shorne@gmail.com> Cc: Suren Baghdasaryan <surenb@google.com> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Vasily Gorbik <gor@linux.ibm.com> Cc: Vineet Gupta <vgupta@kernel.org> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: Will Deacon <will@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27kho/abi: add memblock ABI headerMike Rapoport (Microsoft)3-79/+6
Introduce KHO ABI header describing preservation ABI for memblock's reserve_mem regions and link the relevant documentation to KHO docs. [lukas.bulwahn@redhat.com: MAINTAINERS: adjust file entry in MEMBLOCK AND MEMORY MANAGEMENT INITIALIZATION] Link: https://lkml.kernel.org/r/20260107090438.22901-1-lukas.bulwahn@redhat.com [rppt@kernel.org: update reserved_mem node description, per Pratyush] Link: https://lkml.kernel.org/r/aW_M-HYZzx5SkbnZ@kernel.org Link: https://lkml.kernel.org/r/20260105165839.285270-7-rppt@kernel.org Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Reviewed-by: Pratyush Yadav <pratyush@kernel.org> Cc: Alexander Graf <graf@amazon.com> Cc: Jason Miu <jasonmiu@google.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Pasha Tatashin <pasha.tatashin@soleen.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27kho: relocate vmalloc preservation structure to KHO ABI headerJason Miu1-0/+6
The `struct kho_vmalloc` defines the in-memory layout for preserving vmalloc regions across kexec. This layout is a contract between kernels and part of the KHO ABI. To reflect this relationship, the related structs and helper macros are relocated to the ABI header, `include/linux/kho/abi/kexec_handover.h`. This move places the structure's definition under the protection of the KHO_FDT_COMPATIBLE version string. The structure and its components are now also documented within the ABI header to describe the contract and prevent ABI breaks. [rppt@kernel.org: update comment, per Pratyush] Link: https://lkml.kernel.org/r/aW_Mqp6HcqLwQImS@kernel.org Link: https://lkml.kernel.org/r/20260105165839.285270-6-rppt@kernel.org Signed-off-by: Jason Miu <jasonmiu@google.com> Co-developed-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Cc: Alexander Graf <graf@amazon.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Pasha Tatashin <pasha.tatashin@soleen.com> Cc: Pratyush Yadav <pratyush@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27kho: introduce KHO FDT ABI headerJason Miu4-70/+25
Introduce the `include/linux/kho/abi/kexec_handover.h` header file, which defines the stable ABI for the KHO mechanism. This header specifies how preserved data is passed between kernels using an FDT. The ABI contract includes the FDT structure, node properties, and the "kho-v1" compatible string. By centralizing these definitions, this header serves as the foundational agreement for inter-kernel communication of preserved states, ensuring forward compatibility and preventing misinterpretation of data across kexec transitions. Since the ABI definitions are now centralized in the header files, the YAML files that previously described the FDT interfaces are redundant. These redundant files have therefore been removed. Link: https://lkml.kernel.org/r/20260105165839.285270-5-rppt@kernel.org Signed-off-by: Jason Miu <jasonmiu@google.com> Co-developed-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Reviewed-by: Pratyush Yadav <pratyush@kernel.org> Cc: Alexander Graf <graf@amazon.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Pasha Tatashin <pasha.tatashin@soleen.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-01-27kho: docs: combine concepts and FDT documentationMike Rapoport (Microsoft)5-161/+74
Currently index.rst in KHO documentation looks empty and sad as it only contains links to "Kexec Handover Concepts" and "KHO FDT" chapters. Inline contents of these chapters into index.rst to provide a single coherent chapter describing KHO. While on it, drop parts of the KHO FDT description that will be superseded by addition of KHO ABI documentation. [rppt@kernel.org: fix Documentation/core-api/kho/index.rst] Link: https://lkml.kernel.org/r/aV4bnHlBXGpT_FMc@kernel.org Link: https://lkml.kernel.org/r/20260105165839.285270-4-rppt@kernel.org Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org> Reviewed-by: Pratyush Yadav <pratyush@kernel.org> Cc: Alexander Graf <graf@amazon.com> Cc: Jason Miu <jasonmiu@google.com> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Pratyush Yadav <pratyush@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>