Commit graph

1,447,411 commits

Author SHA1 Message Date
Chen-Yu Tsai
5573c44cb3 PCI: mediatek-gen3: Prevent leaking IRQ domains when IRQ not found
In mtk_pcie_setup_irq(), the IRQ domains are allocated before the
controller's IRQ is fetched. If the latter fails, the function
directly returns an error, without cleaning up the allocated domains.

Hence, reverse the order so that the IRQ domains are allocated after the
controller's IRQ is found.

This was flagged by Sashiko during a review of "[PATCH v6 0/7] PCI:
mediatek-gen3: add power control support".

Fixes: 814cceebba ("PCI: mediatek-gen3: Add INTx support")
Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://sashiko.dev/#/patchset/20260324052002.4072430-1-wenst%40chromium.org
Link: https://patch.msgid.link/20260324093542.18523-1-wenst@chromium.org
2026-04-04 22:20:50 +05:30
Krzysztof Kozlowski
3ef628c3f3 Microchip ARM64 SoC updates for v7.1
This update includes:
 - use a top-level configuration flag for all Microchip platforms
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCac7HaAAKCRCejrg/N2X7
 /cCQAP9AyKc3k+kYA0Q3+IuBj7QdVmbuABIeIcR5wF63/+ft6AD/Sdma/GNEjheH
 SIthAnfbgkOTv0V1cHuZ3G1O0o4p4wA=
 =cR5d
 -----END PGP SIGNATURE-----

Merge tag 'microchip-soc-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/arm

Microchip ARM64 SoC updates for v7.1

This update includes:
- use a top-level configuration flag for all Microchip platforms

* tag 'microchip-soc-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  arm64: Kconfig: provide a top-level switch for Microchip platforms

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 17:34:56 +02:00
Krzysztof Kozlowski
b5bfa8a921 Microchip ARM64 device tree updates for v7.1
This update includes:
 - device tree files for the Microchip LAN9691 SoC and its evaluation
   board (Microchip EV23X71A)
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCac7J9wAKCRCejrg/N2X7
 /Sv6AP9vqTk9ImposrX16/oHw1K+b8IzjDVooZHeHkZSdbICVgD/Tl/RjRLJyfmN
 aNuN1d/YNyr7euIlAxJtLG2TaZe4pQc=
 =K6WU
 -----END PGP SIGNATURE-----

Merge tag 'microchip-dt64-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt

Microchip ARM64 device tree updates for v7.1

This update includes:
- device tree files for the Microchip LAN9691 SoC and its evaluation
  board (Microchip EV23X71A)

* tag 'microchip-dt64-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  arm64: dts: microchip: add EV23X71A board
  dt-bindings: arm: AT91: document EV23X71A board
  arm64: dts: microchip: add LAN969x support
  arm64: dts: microchip: add LAN969x clock header file

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 17:32:55 +02:00
Krzysztof Kozlowski
98bc7682ff Microchip AT91 SoC updates for v7.1
This update includes:
 - device tree bindings conversion to DT schema for CHIPID, RAM
   controller and PIT, PIT64b, ST timers
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCac7GNAAKCRCejrg/N2X7
 /ZcEAQCAG50O3QClqoV0d7uesf/Sh77oiwHYP/YxRjL5ipgiRwEA5Fea/NVWvW+5
 z3mJEXhEryqw3a0rAtaRkNU5lNEHqgE=
 =282z
 -----END PGP SIGNATURE-----

Merge tag 'at91-soc-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/drivers

Microchip AT91 SoC updates for v7.1

This update includes:
- device tree bindings conversion to DT schema for CHIPID, RAM
  controller and PIT, PIT64b, ST timers

* tag 'at91-soc-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  dt-bindings: arm: atmel,at91rm9200-sdramc: convert to DT schema
  dt-bindings: arm: atmel,at91rm9200-st: convert to DT schema
  dt-bindings: arm: microchip,sam9x60-pit64b : convert to DT schema
  dt-bindings: arm: atmel,at91sam9260-pit: convert to DT schema
  dt-bindings: arm: microchip,sama7g5-chipid : convert to DT schema

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 17:30:56 +02:00
Krzysztof Kozlowski
cefb8fb648 Microchip AT91 device tree updates for v7.1
This update includes:
 - enable LVDS, LCD and PMU for SAMA7D64 SoC
 - drop unused #address-cells, #size-cells for SAM9X60 UDC node
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCac7C3gAKCRCejrg/N2X7
 /RG8AQCoa/kodlgIlpz6SID+K8iTiKOce/x/yan44a7zEe0UqgEAlwxyEcASjVmo
 bXMWZtYzKpW492jFV0WBeghuWmEI8A0=
 =tzrV
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt

Microchip AT91 device tree updates for v7.1

This update includes:
- enable LVDS, LCD and PMU for SAMA7D64 SoC
- drop unused #address-cells, #size-cells for SAM9X60 UDC node

* tag 'at91-dt-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: microchip: sama7d65: add Cortex-A7 PMU node
  arm: dts: microchip: remove unused #address-cells/#size-cells from sam9x60 udc node
  ARM: dts: microchip: sama7d65: add LVDS controller
  ARM: dts: microchip: sama7d65: add LCD controller

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 17:27:46 +02:00
Krzysztof Kozlowski
07e1a498ee Microchip AT91 defconfig updates for v7.1
This update includes:
 - LCD controller, LVDS controller, backlight, simple pannel, touchscreen
   configuration flags required by SAMA7D65 SoC
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCac7FEwAKCRCejrg/N2X7
 /QVrAQDMOi7i7TGMt/YjqwnVWpg0gShD7R/7RSX3kUEn0q9uDAEA9t2n0uFr2jVV
 OBw4aTNX2O4KCJYxoz57cGUJyf5G+Qw=
 =kEOC
 -----END PGP SIGNATURE-----

Merge tag 'at91-defconfig-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/defconfig

Microchip AT91 defconfig updates for v7.1

This update includes:
- LCD controller, LVDS controller, backlight, simple pannel, touchscreen
  configuration flags required by SAMA7D65 SoC

* tag 'at91-defconfig-7.1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: configs: at91: sama7: enable LVDS serializer support
  ARM: configs: at91: sama7: enable config for atmel maxtouch
  ARM: configs: at91: sama7: enable DRM hlcdc support

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 17:24:37 +02:00
Linus Torvalds
3aae9383f4 Input updates for v7.0-rc6
- new IDs for BETOP BTP-KP50B/C and Razer Wolverine V3 Pro added to
   xpad controller driver
 
 - another quirk for new TUXEDO InfinityBook added to i8042
 
 - a small fixup for Synaptics RMI4 driver to properly unlock mutex when
   encountering an error in F54
 
 - an update to bcm5974 touch controller driver to reliably switch into
   wellspring mode.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQST2eWILY88ieB2DOtAj56VGEWXnAUCadCpLQAKCRBAj56VGEWX
 nDgsAP0UYEFs1rFYYESyaTJVkbUg1DVxbqzFkL69MJasfFDLRQD/dM3ZECzCatiU
 IIOXbWw+0kwNR3bysSp3RQ2jQoeS6gQ=
 =Rs1H
 -----END PGP SIGNATURE-----

Merge tag 'input-for-v7.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

Pull input fixes from Dmitry Torokhov:

 - new IDs for BETOP BTP-KP50B/C and Razer Wolverine V3 Pro added to
   xpad controller driver

 - another quirk for new TUXEDO InfinityBook added to i8042

 - a small fixup for Synaptics RMI4 driver to properly unlock mutex when
   encountering an error in F54

 - an update to bcm5974 touch controller driver to reliably switch into
   wellspring mode

* tag 'input-for-v7.0-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
  Input: xpad - add support for BETOP BTP-KP50B/C controller's wireless mode
  Input: xpad - add support for Razer Wolverine V3 Pro
  Input: synaptics-rmi4 - fix a locking bug in an error path
  Input: i8042 - add TUXEDO InfinityBook Max 16 Gen10 AMD to i8042 quirk table
  Input: bcm5974 - recover from failed mode switch
2026-04-04 08:24:32 -07:00
Krzysztof Kozlowski
eaad992e3f Microchip AT91 fixes for v7.0
This update includes:
 - fix gpio-lines for SAM9X7 PIOB GPIO controller
 -----BEGIN PGP SIGNATURE-----
 
 iHQEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCac7DjQAKCRCejrg/N2X7
 /TxBAPihDQlcTKbEWBtlawcQtw568kXK3KPL+QjqUSDk7B6dAP0UGI9oWWRJ3KIC
 DrtM+nLDjC+lKNcp8ihb1oE1x7G1Bw==
 =yOCL
 -----END PGP SIGNATURE-----

Merge tag 'at91-fixes-7.0' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/fixes

Microchip AT91 fixes for v7.0

This update includes:
- fix gpio-lines for SAM9X7 PIOB GPIO controller

* tag 'at91-fixes-7.0' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: microchip: sam9x7: fix gpio-lines count for pioB

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 17:22:39 +02:00
Krzysztof Kozlowski
55fbbbbed6 i.MX arm64 device tree changes for 7.1:
- New Board Support
   S32N79-RDB, Variscite DART-MX95, DART-MX91 with Sonata carrier boards,
   Verdin iMX95 with multiple carrier boards (Yavia, Mallow, Ivy, Dahlia)
   TQMa93xx/MBa93xxLA-MINI, SolidRun i.MX8MP HummingBoard IIoT,
   SolidRun i.MX8MM SOM and EVB, SolidRun SolidSense-N8 board
   Ka-Ro Electronics tx8m-1610 COM, GOcontroll Moduline IV and Moduline Mini,
   NXP FRDM-IMX91S board, i.MX93 Wireless EVK board with Wireless SiP,
   NXP i.MX8MP audio board v2.
 
 - USB & Type-C Support
   Type-C and USB nodes for imx943, correct power-fole for
   imx8qxp-mek/imx8qm-mek.
 
 - Audio Enhancements
   PDM microphone, bt-sco, and WM8962 sound card support for i.MX952. AONMIX
   MQS for i.MX95. Use audio-graph-card2 for imx8dxl-evk. WM8904 audio codec
   for imx8mm-var-som.
 
 - Thermal & Cooling
   PF09/53 thermal zone, fan node, active cooling on A55, SCMI
   sensor/lmm/cpu for imx943/imx94.
 
 - Display Support
   Multiple LVDS and parallel display overlays for TQ boards (imx91/imx93).
   Parallel display for i.MX93. ontat,kd50g21-40nt-a1 panel for
   imx93-9x9-qsb. pixpaper display overlay for i.MX93 FRDM.
 
 - Networking
   Multiple queue configuration on eqos for TQMa8MPxL.
   MaxLinear PHY support, MCP251xFD CAN controller for imx8mm-var-som.
   SDIO WiFi support (imx91-evk, imx8mp-evk, imx943-evk)
 
 - Bluetooth Support
   imx943-evk, imx93-14x14-evk, imx95-19x19-evk, imx8mp-evk, imx8mn-evk,
   imx8mm-evk.
 
 - Miscellaneous
   xspi and MT35XU01G SPI NOR flash for i.MX952.
   V2X/ELE mailbox nodes, SCMI misc ctrl-ids for imx94.
   eDMA channel reservation for V2X, Cortex M7 support for imx95.
   Ethos-U65 NPU and SRAM nodes for imx93.
   Wire up DMA IRQ for PCIe for imx8qm-ss-hsio.
 
 - Bug Fixes & Improvements
   Complete pinmux for rcwsr12 to fix I2C bus recovery affect other module
   pinmux for layscape platform.
   Multiple bug fixes for GPIO polarity, IRQ types, pinmux configurations.
   GICv3 PPI interrupt CPU mask cleanup across multiple SoCs.
   Fixed Ethernet PHY IRQ types on TQ boards.
   Fixed UART RTS/CTS muxing issues.
   Fixed SD card issues on Kontron boards.
   Fixed touch reset configuration.
   Removed fallback ethernet-phy-ieee802.3-c22 where appropriate.
   Move funnel outside from soc.
   TMU sensor ID cleanup.
   Change usdhc tuning step for eMMC and SD.
   Hexadecimal format, readability improvements, duplicate removal.
 -----BEGIN PGP SIGNATURE-----
 
 iQHFBAABCgAvFiEEJS45w2QNr0ezLVaoNF3oRQ23YkwFAmnGkOYRHGZyYW5rLmxp
 QG54cC5jb20ACgkQNF3oRQ23YkxAcgwAzlwOKm7wIVrobh0qRfAAhIG09oB5XPEk
 ivaM1HBR83sE2f36nTyh3b5sf6sQSHwQRGgKsxZgtZWN1csisxhrVwWLqNjdvTUf
 Bvh+jhFZKTZ9S3j20FK9ulM/flOQmhnfJih7i01SvrpFWm/jLghHT4tBXde4x79K
 Vht7ybp+PIW+EB32I/du19Ap9gRv+/wJAIetDdST0qWrl0tBrNFX65QN6Y4C7dtN
 nnVi0Z+4akFm6EqnJjoexN/PIh6DFNkCWjtZ+GD0IYsD7GGcfpeEgmFR7WasU1bp
 vw1nW9cF/fi2P47/6bqqU/xKzuELb71P21U//RtspQI1EFhxix+pX0ZaPucRqvOl
 fn317igaBnK8WGkmesT5I0jp13ITIzpJJfWBg4viEEOSrjJ40Mkm7AG7MSvVHuoE
 +Uglywl0H3vDzmMqQamwCvGxE/OttPc0vAEDMq2rQ1SnTmfw1oy6jb/boKAn2Vni
 BI/DfTaGY4U0DwMeadiDNFVzbedBWjDT
 =oF2l
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt64-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux into soc/dt

Krzysztof notes:
1. This might impact users of i.MX8MM SPDIF as compatible is being
   replaced.

Frank Li writes:

i.MX arm64 device tree changes for 7.1:

- New Board Support
  S32N79-RDB, Variscite DART-MX95, DART-MX91 with Sonata carrier boards,
  Verdin iMX95 with multiple carrier boards (Yavia, Mallow, Ivy, Dahlia)
  TQMa93xx/MBa93xxLA-MINI, SolidRun i.MX8MP HummingBoard IIoT,
  SolidRun i.MX8MM SOM and EVB, SolidRun SolidSense-N8 board
  Ka-Ro Electronics tx8m-1610 COM, GOcontroll Moduline IV and Moduline Mini,
  NXP FRDM-IMX91S board, i.MX93 Wireless EVK board with Wireless SiP,
  NXP i.MX8MP audio board v2.

- USB & Type-C Support
  Type-C and USB nodes for imx943, correct power-fole for
  imx8qxp-mek/imx8qm-mek.

- Audio Enhancements
  PDM microphone, bt-sco, and WM8962 sound card support for i.MX952. AONMIX
  MQS for i.MX95. Use audio-graph-card2 for imx8dxl-evk. WM8904 audio codec
  for imx8mm-var-som.

- Thermal & Cooling
  PF09/53 thermal zone, fan node, active cooling on A55, SCMI
  sensor/lmm/cpu for imx943/imx94.

- Display Support
  Multiple LVDS and parallel display overlays for TQ boards (imx91/imx93).
  Parallel display for i.MX93. ontat,kd50g21-40nt-a1 panel for
  imx93-9x9-qsb. pixpaper display overlay for i.MX93 FRDM.

- Networking
  Multiple queue configuration on eqos for TQMa8MPxL.
  MaxLinear PHY support, MCP251xFD CAN controller for imx8mm-var-som.
  SDIO WiFi support (imx91-evk, imx8mp-evk, imx943-evk)

- Bluetooth Support
  imx943-evk, imx93-14x14-evk, imx95-19x19-evk, imx8mp-evk, imx8mn-evk,
  imx8mm-evk.

- Miscellaneous
  xspi and MT35XU01G SPI NOR flash for i.MX952.
  V2X/ELE mailbox nodes, SCMI misc ctrl-ids for imx94.
  eDMA channel reservation for V2X, Cortex M7 support for imx95.
  Ethos-U65 NPU and SRAM nodes for imx93.
  Wire up DMA IRQ for PCIe for imx8qm-ss-hsio.

- Bug Fixes & Improvements
  Complete pinmux for rcwsr12 to fix I2C bus recovery affect other module
  pinmux for layscape platform.
  Multiple bug fixes for GPIO polarity, IRQ types, pinmux configurations.
  GICv3 PPI interrupt CPU mask cleanup across multiple SoCs.
  Fixed Ethernet PHY IRQ types on TQ boards.
  Fixed UART RTS/CTS muxing issues.
  Fixed SD card issues on Kontron boards.
  Fixed touch reset configuration.
  Removed fallback ethernet-phy-ieee802.3-c22 where appropriate.
  Move funnel outside from soc.
  TMU sensor ID cleanup.
  Change usdhc tuning step for eMMC and SD.
  Hexadecimal format, readability improvements, duplicate removal.

* tag 'imx-dt64-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux: (139 commits)
  arm64: dts: imx8qxp-mek: switch Type-C connector power-role to dual
  arm64: dts: imx8qm-mek: switch Type-C connector power-role to dual
  arm64: dts: lx2162a-clearfog: set sfp connector leds function and source
  arm64: dts: lx2162a-sr-som: add crypto & rtc aliases, model
  arm64: dts: lx2160a-cex7: add rtc alias
  arm64: dts: lx2160a: complete pinmux for rcwsr12 configuration word
  arm64: dts: lx2160a: change zeros to hexadecimal in pinmux nodes
  arm64: dts: lx2160a: add sda gpio references for i2c bus recovery
  arm64: dts: lx2160a: rename pinmux nodes for readability
  arm64: dts: lx2160a: remove duplicate pinmux nodes
  arm64: dts: lx2160a: change i2c0 (iic1) pinmux mask to one bit
  arm64: dts: lx2160a-cex7/lx2162a-sr-som: fix usd-cd & gpio pinmux
  arm64: dts: freescale: imx8mp-moduline-display-106: add typec-power-opmode property
  arm64: dts: imx8mp-tqma8mpql: Add DT overlays to explicit list
  arm64: dts: imx8mp-evk: Specify ADV7535 register addresses
  arm64: dts: imx8dxl-evk: Use audio-graph-card2 for wm8960-2 and wm8960-3
  arm64: dts: imx943-evk: Add pf09/53 thermal zone
  arm64: dts: imx943-evk: Add fan node and enable active cooling on A55
  arm64: dts: imx943-evk: Add nxp,ctrl-ids for scmi_misc
  arm64: dts: imx943: Add thermal support
  ...

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 16:30:40 +02:00
Krzysztof Kozlowski
d619216295 arm64: tegra: Device tree changes for v7.1-rc1
Various fixes and new additions across a number of devices. GPIO and PCI
 are enabled on Tegra264 and the Jetson AGX Thor Developer Kit, allowing
 it to boot via network and mass storage.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmnI9AIACgkQ3SOs138+
 s6GpVg//WO5PA0vrqOPIH1RVdytiRqXlEzdY7NQCqtW7GLzX9dii1xmInf2/VO5q
 Pk6t6F1MrzsLfV7IDvb4whfyAcFJ8yTmvvCNtTv3OO92NInPTEBv/LdSVGogxlj+
 2c/Xnmyiy6Lks/nN5lCKLNou4ktWW8BYADo6xkNRMcVTMwzmfhOADFSj5w7sFSJe
 GMuGxSDgMykw612oaQ9LvRZZ1hQnDihdlkPVNZZP05siXinZeWMwu+WwfSFbCbhu
 zphMHBTdaU7FUOszBEx35zPwSsDVhfOEoH1S3A2109ojE1Kw0aTrcdoW2GPTXenZ
 8WlZXhQMqPby6ij97LHpzLOMA1Pz2r/LOY+NllJr1CbW/xNL8UAXHDm+k0c+aAcD
 Jn0371hbDVKnSWzOV50FKIorrXMi7BtD8YioAO1AniGz/vDymGHjPt0Wy2cvwIVk
 zN8sTKy22X4RHLwfXqS7amIoLKaT+3BZ0p5VqFL9YZJ23xCuS7M7E+8EKSB4yQ9q
 TjFa79adOV1Xl5AsVrmOj5U5gGXSP750xtIVgsCNngnyKLfYW3STRVVIC0PbNWiV
 oWdlUpIWGnLHHDY+eGYNVIQ3NAHLJl2NJuMdZrNVdZIr77BR9/y3rDVc5KcYFxQZ
 63NdsmddN/h0GPuQEyborGfHoz+GTgvDL7NG6Vg27mNmh1hqZy4=
 =ubsZ
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-7.1-arm64-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt

arm64: tegra: Device tree changes for v7.1-rc1

Various fixes and new additions across a number of devices. GPIO and PCI
are enabled on Tegra264 and the Jetson AGX Thor Developer Kit, allowing
it to boot via network and mass storage.

* tag 'tegra-for-7.1-arm64-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Add Tegra264 GPIO controllers
  arm64: tegra: smaug: Enable SPI-NOR flash
  arm64: tegra: Add Jetson AGX Thor Developer Kit support
  arm64: tegra: Add PCI controllers on Tegra264
  arm64: tegra: Fix RTC aliases
  arm64: tegra: Drop redundant clock and reset names for TSEC
  arm64: tegra: Fix snps,blen properties
  dt-bindings: pci: Document the NVIDIA Tegra264 PCIe controller

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 16:13:27 +02:00
Caleb Sander Mateos
8b155f2e4a block: remove unused BVEC_ITER_ALL_INIT
This macro no longer has any users, so remove it.

Signed-off-by: Caleb Sander Mateos <csander@purestorage.com>
Link: https://patch.msgid.link/20260403184852.2140919-1-csander@purestorage.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2026-04-04 08:10:37 -06:00
Krzysztof Kozlowski
d7dbdadad2 dt-bindings: Changes for v7.1-rc1
This contains a few conversions to DT schema along with various
 additions and fixes to reduce the amount of validation warnings.
 
 Included are also a new binding for the PCIe controller found on
 Tegra264 as well as compatible strings for the Jetson AGX Thor
 Developer Kit.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmnI8ZAACgkQ3SOs138+
 s6G1lRAAvALxbMaizOUtlOjsPQOuE6OJ9VqeueLfMWI8YJuDf+OOC4IFtwbZxzeW
 ft28k8Ni4XLfOJVHuBN3ZyD04nudaIRQFyAW9ERdHLZDeyIaiq1y+aMH+YPdAp+i
 DPtKqLR+iAQ17rLokyIotHFGApFZghAd9ln1ZYZc9aOi9ZwrVQ3WEitbW36DJcMH
 7WH7nxrf04vblv8DHZcu8p5DH9RmoU3qHxRteprwtiYX/ruwjD5KHOQLo2j+flZx
 YMayxN/lO3kVXQ0A65+t5nV4jevEQ4iTjtwjs0cps+xkXavcOO/SYhlqRjg5wbCv
 1uLwS/ptjB3S+hD58jvqLfCUxLXvRx0xpBm5Vhs5eZgL0BPWT3O755Qow4zraDve
 ofGNbwA2SubVI2hgE/ZVPCU0X0mr89st16gWlflVeopJJk2kNAsfPUlCERPqbj+I
 +wuz8K1lfiBTkEw8Ceym2VEAH6D1MhkqnErwk9aW9yuYuXB9NtOjTxy/dELMHpFd
 Gt3BQxYug/xjV/FCtYj5x/lqkXZWsa4uBxilXzf84ScRa5NqfrwyLY1KBaRNOIch
 NlB4Bm0QhfBCXcTNeYF6XjIc6cIL83vCQK7hvBh9yEX3Ln+FBiqzF7jt1ZNdnm34
 NzWOoPMh9FumoYxywmN1/oco9TOLebYGqszwG8jORBQG0YAwrEQ=
 =oPQj
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-7.1-dt-bindings' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/drivers

dt-bindings: Changes for v7.1-rc1

This contains a few conversions to DT schema along with various
additions and fixes to reduce the amount of validation warnings.

Included are also a new binding for the PCIe controller found on
Tegra264 as well as compatible strings for the Jetson AGX Thor
Developer Kit.

* tag 'tegra-for-7.1-dt-bindings' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  dt-bindings: arm: tegra: Document Jetson AGX Thor DevKit
  dt-bindings: display: tegra: Document Tegra20 HDMI port
  dt-bindings: arm: tegra: Add Tegra238 CBB compatible strings
  dt-bindings: memory: tegra210: Mark EMC as cooling device
  dt-bindings: memory: Add Tegra210 memory controller bindings
  dt-bindings: phy: tegra: Document Tegra210 USB PHY
  dt-bindings: arm: tegra: Add missing compatible strings
  dt-bindings: interrupt-controller: tegra: Fix reg entries
  dt-bindings: clock: tegra124-dfll: Convert to json-schema
  dt-bindings: phy: tegra-xusb: Document Type C support
  dt-bindings: pci: Document the NVIDIA Tegra264 PCIe controller

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 16:09:43 +02:00
Krzysztof Kozlowski
9c5a54409b ARM: tegra: Device tree changes for v7.1-rc1
Various improvements for Tegra114 boards, as well as some legacy cleanup
 for PAZ00 and Transformers devices.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmnI8xkACgkQ3SOs138+
 s6HCoBAAmYXIpZVo5xBf8xErWQzkY7muZv6ulOvninRe3/TGajLT1T8Iw4QAcOhH
 A0OecujOg/xOE1TlAoHnUzPQjdFv/38eLy78k49kFnecauogHkTxZOtQuM7yX4P+
 nXooqLoYhnq5CRxuxLI88qfN/2Z0qwIU3ucf5QahMBR8EDXa8a1MEfH470oqxAfu
 jn+HcjgmcTEPzztV0y4Zfa8oivTUjrkz6m18Bm5ujMxzuq3EfaCTJLMLgTpAKVvo
 4y5xrygaUem6XtIs1aedHHdCpBHcpAkbuyAb2ECFjSc0ogeuUylnAy3bcw6WOL04
 31p5fIfz7cprl2LGWhUGHa8rCF1mZ1dPvLtWTBuDiC8zGkXhYOgCcwtlV3s+2g9p
 I3RPfgWqj6dNbUgp5iSfOVRCMpia8CVjx3YGYzodv2TE0yhKEFtq2aZ5LxYpVttk
 uEOjsByuSV6mb4g1N4joTkIwn7PeVIRKWlTdA82Bycr7gHGf0JVi6HuEcoRp3WYL
 5guCbH/8qGQ7Eobc1hCtrhAypyqt8Ms/ly4a9NyCeu+Xee7MOWk3ZESSwk7TaKmF
 98b1Rl3s/m49ZMYbMTXgkSGLpiWaEFyD6RulrJjS5Cjk0y69ZxJ573sVEIPICEhI
 skuMo1ZQe5cB+K2ZfT5e1C/HFfCgGiIDQixtyIxzw3abJbTH6Rg=
 =1bL1
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-7.1-arm-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt

ARM: tegra: Device tree changes for v7.1-rc1

Various improvements for Tegra114 boards, as well as some legacy cleanup
for PAZ00 and Transformers devices.

* tag 'tegra-for-7.1-arm-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: paz00: Configure WiFi rfkill switch through device tree
  ARM: tegra: transformers: Add connector node
  ARM: tegra: Add External Memory Controller node on Tegra114
  ARM: tegra: Add ACTMON node to Tegra114 device tree
  ARM: tegra: lg-x3: Add node for capacitive buttons
  ARM: tegra: lg-x3: Add USB and power related nodes
  ARM: tegra: lg-x3: Add panel and bridge nodes
  ARM: tn7: Adjust panel node
  ARM: tegra: Add SOCTHERM support on Tegra114

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-04-04 16:03:22 +02:00
Daniel Lezcano
761fdf4c8c thermal/core: Remove pointless variable when registering a cooling device
The 'id' variable is set to store the ida_alloc() value which is
already stored into cdev->id. It is pointless to use it because
cdev->id can be used instead.

Signed-off-by: Daniel Lezcano <daniel.lezcano@oss.qualcomm.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@kernel.org>
Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>
Link: https://patch.msgid.link/20260402084426.1360086-1-daniel.lezcano@kernel.org
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
2026-04-04 15:05:18 +02:00
Rafael J. Wysocki
49c7db1f0b Merge back earlier thermal core updates for 7.1 2026-04-04 14:59:43 +02:00
Rafael J. Wysocki
35ed8fa05f Merge back earlier cpufreq material for 7.1 2026-04-04 14:58:58 +02:00
Borislav Petkov (AMD)
f44cc3a48a x86/fpu: Correct misspelled xfeaures_to_write local var
It happens. Fix it.

No functional changes.

Signed-off-by: Borislav Petkov (AMD) <bp@alien8.de>
Link: https://patch.msgid.link/20260404120048.14765-1-bp@kernel.org
2026-04-04 14:11:46 +02:00
Manikanta Maddireddy
5ab7a22588 misc: pci_endpoint_test: Add Tegra194 and Tegra234 device table entries
Add PCI device IDs for Tegra194 (0x1ad4) and Tegra234(0x229b) Endpoint
controllers, so that pci_endpoint_test can bind and run on these
controllers.

Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Link: https://patch.msgid.link/20260324080857.916263-5-mmaddireddy@nvidia.com
2026-04-04 16:17:02 +05:30
Manikanta Maddireddy
12a22fb38c PCI: tegra194: Expose BAR2 (MSI-X) and BAR4 (DMA) as 64-bit BAR_RESERVED
Tegra Endpoint exposes three 64-bit BARs at indices 0, 2, and 4:
- BAR0+BAR1: EPF test/data (programmable 64-bit BAR)
- BAR2+BAR3: MSI-X table (hardware-backed)
- BAR4+BAR5: DMA registers (hardware-backed)

Update tegra_pcie_epc_features so that BAR2 is BAR_RESERVED with
PCI_EPC_BAR_RSVD_MSIX_TBL_RAM (64 KB) & PCI_EPC_BAR_RSVD_MSIX_PBA_RAM
(64 KB) and BAR4 is BAR_RESERVED with PCI_EPC_BAR_RSVD_DMA_CTRL_MMIO (4KB).
This keeps CONSECUTIVE_BAR_TEST working while allowing the host to use
64-bit BAR2 (MSI-X) and BAR4 (DMA).

Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Link: https://patch.msgid.link/20260324080857.916263-4-mmaddireddy@nvidia.com
2026-04-04 16:16:49 +05:30
Manikanta Maddireddy
5aec1f18b3 PCI: tegra194: Make BAR0 programmable and remove 1MB size limit
The Tegra194/234 Endpoint does not support the Resizable BAR capability,
but BAR0 can be programmed to different sizes via the DBI2 BAR registers
in dw_pcie_ep_set_bar_programmable(). The BAR0 size is set once during
initialization.

Remove the fixed 1MB limit from pci_epc_features so Endpoint function
drivers can configure the BAR0 size they need.

Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Link: https://patch.msgid.link/20260324080857.916263-3-mmaddireddy@nvidia.com
2026-04-04 16:15:00 +05:30
Manikanta Maddireddy
5f352433ea PCI: endpoint: Add reserved region type for MSI-X Table and PBA
Add PCI_EPC_BAR_RSVD_MSIX_TBL_RAM and PCI_EPC_BAR_RSVD_MSIX_PBA_RAM to
enum pci_epc_bar_rsvd_region_type so that Endpoint controllers can
describe hardware-owned MSI-X Table and PBA (Pending Bit Array) regions
behind a BAR_RESERVED BAR.

Signed-off-by: Manikanta Maddireddy <mmaddireddy@nvidia.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Niklas Cassel <cassel@kernel.org>
Link: https://patch.msgid.link/20260324080857.916263-2-mmaddireddy@nvidia.com
2026-04-04 16:14:37 +05:30
Richard Zhu
4d7937d8cc dt-bindings: PCI: imx6q-pcie: Add i.MX94 and i.MX943 SoCs
Add bindings support for PCIe endpoint controllers in i.MX94 and i.MX943
SoCs with fallback to the i.MX95 SoC.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
[mani: commit log]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20260324023036.784466-3-hongxing.zhu@nxp.com
2026-04-04 16:08:44 +05:30
Richard Zhu
401359ef44 dt-bindings: PCI: imx6q-pcie: Fix maxItems of clocks and clock-names
Commit 1352f58d7c ("dt-bindings: PCI: pci-imx6: Add external reference
clock input") that added reference clock to the binding was incomplete.

The constraints for "clocks" and "clock-names" still enforce an incorrect
number of items. Update maxItems for both properties to 6 to match the
actual hardware configuration.

Fixes: 1352f58d7c ("dt-bindings: PCI: pci-imx6: Add external reference clock input")
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
[mani: commit log]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260324023036.784466-2-hongxing.zhu@nxp.com
2026-04-04 16:07:15 +05:30
Felix Gu
c54d5f5b33 PCI: aspeed: Fix IRQ domain leak on platform_get_irq() failure
The aspeed_pcie_probe() function calls aspeed_pcie_init_irq_domain()
which allocates pcie->intx_domain and initializes MSI. However, if
platform_get_irq() fails afterwards, the cleanup action was not yet
registered via devm_add_action_or_reset(), causing the IRQ domain
resources to leak.

Fix this by registering the devm cleanup action immediately after
aspeed_pcie_init_irq_domain() succeeds, before calling
platform_get_irq(). This ensures proper cleanup on any subsequent
failure.

Fixes: 9aa0cb68fc ("PCI: aspeed: Add ASPEED PCIe RC driver")
Signed-off-by: Felix Gu <ustc.gu@gmail.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Tested-by: Jacky Chou <jacky_chou@aspeedtech.com>
Link: https://patch.msgid.link/20260324-aspeed-v1-1-354181624c00@gmail.com
2026-04-04 16:02:55 +05:30
Rafael J. Wysocki
e9f850ba66 rtc: cmos: Use platform_get_irq_optional() in cmos_platform_probe()
The rtc-cmos driver can live without an IRQ and returning an error
code from platform_get_irq() is not a problem for it in general, so
make it call platform_get_irq_optional() in cmos_platform_probe()
instead of platform_get_irq() to avoid a confusing error message
printed by the latter if an IRQ cannot be found for index 0, which
is possible on x86 platforms.

Additionally, on x86, if the IRQ is not defined and the system has
a legacy PIC, hardcode it to RTC_IRQ, which should be safe then (and
which is what the dropped PNP code did).

Fixes: d15f1c2e41 ("ACPI: PNP: Drop CMOS RTC PNP device support")
Reported-by: Nathan Chancellor <nathan@kernel.org>
Closes: https://lore.kernel.org/linux-acpi/20260303060752.GA2749263@ax162/
Tested-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Link: https://patch.msgid.link/12857714.O9o76ZdvQC@rafael.j.wysocki
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
2026-04-04 12:08:22 +02:00
Wolfram Sang
0637a3086b i2c-fixes for v7.0-rc7
imx: set dma_slave_config to 0 and avoid uninitialized fields
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQScDfrjQa34uOld1VLaeAVmJtMtbgUCac9aNgAKCRDaeAVmJtMt
 buppAQD6gdQ1BQP0z8XV+rRNr+t7I24Xhza4MkqiQ4Ln7P24lAEAjR1itFClhSBp
 H4lEGBwPTSKgQQJjUPbrLA1lv8NQyAg=
 =+0Eu
 -----END PGP SIGNATURE-----

Merge tag 'i2c-host-fixes-7.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/andi.shyti/linux into i2c/for-current

i2c-fixes for v7.0-rc7

imx: set dma_slave_config to 0 and avoid uninitialized fields
2026-04-04 12:02:20 +02:00
Thomas Weißschuh
fd2e9f8200 tools/nolibc: use __builtin_offsetof()
The current custom implementation of offsetof() fails UBSAN:
runtime error: member access within null pointer of type 'struct ...'
This means that all its users, including container_of(), free() and
realloc(), fail.

Use __builtin_offsetof() instead which does not have this issue and
has been available since GCC 4 and clang 3.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260401-nolibc-asprintf-v1-1-46292313439f@weissschuh.net
2026-04-04 10:48:14 +02:00
Sam Daly
bf9c95f3ee staging: rtl8723bs: remove redundant & parentheses
Remove redundant parentheses around the '&' operator to comply with
kernel style guidelines, as reported by checkpatch:
CHECK: Unnecessary parentheses around adapter->securitypriv

Signed-off-by: Sam Daly <sam@samdaly.ie>
Reviewed-by: Ethan Tidmore <ethantidmore06@gmail.com>
Link: https://patch.msgid.link/20260403172839.367663-1-sam@samdaly.ie
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-04-04 10:40:01 +02:00
Willy Tarreau
f387e2e2b9 Documentation: fix two typos in latest update to the security report howto
In previous patch "Documentation: clarify the mandatory and desirable
info for security reports" I left two typos that I didn't detect in local
checks. One is "get_maintainers.pl" (no 's' in the script name), and the
other one is a missing closing quote after "Reported-by", which didn't
have effect here but I don't know if it can break rendering elsewhere
(e.g. on the public HTML page). Better fix it before it gets merged.

Signed-off-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260404082033.5160-1-w@1wt.eu
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-04-04 10:38:43 +02:00
Thomas Weißschuh
867fb336a6 tools/nolibc: use makedev() in fstatat()
fstatat() contains two open-coded copies of makedev() to handle minor
numbers >= 256. Now that the regular makedev() handles both large minor
and major numbers correctly use the common function.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260404-nolibc-makedev-v2-6-456a429bf60c@weissschuh.net
2026-04-04 10:29:07 +02:00
Thomas Weißschuh
572246dcdd tools/nolibc: handle all major and minor numbers in makedev() and friends
Remove the limitation of only handling small major and minor numbers.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260404-nolibc-makedev-v2-5-456a429bf60c@weissschuh.net
2026-04-04 10:29:02 +02:00
Thomas Weißschuh
df4ef52c1d tools/nolibc: make dev_t 64 bits wide
statx() returns both 32-bit minor and major numbers. For both of them to
fit into the 'dev_t' in 'struct stat', that needs to be 64 bits wide.

The other uses of 'dev_t' in nolibc are makedev() and friends and
mknod(). makedev() and friends are going to be adapted in an upcoming
commit and mknod() will silently truncate 'dev_t' to 'unsigned int' in
the kernel, similar to other libcs.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260404-nolibc-makedev-v2-4-456a429bf60c@weissschuh.net
2026-04-04 10:28:57 +02:00
Thomas Weißschuh
70091eada3 tools/nolibc: move the logic of makedev() and friends into functions
Functions make it easier to keep the input and output types straight and
avoid duplicate evaluations of their arguments.

Also these functions will become a bit more complex to handle full
64-bit 'dev_t' which is easier to read in a function.

Still stay compatible with code which expects these to be macros.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260404-nolibc-makedev-v2-3-456a429bf60c@weissschuh.net
2026-04-04 10:28:50 +02:00
Thomas Weißschuh
5afc7e9b90 selftests/nolibc: add a test for stat().st_rdev
The handling of 'dev_t' values is about to be changed.

Add a test to make sure they are returned correctly from stat().

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260404-nolibc-makedev-v2-2-456a429bf60c@weissschuh.net
2026-04-04 10:28:44 +02:00
Thomas Weißschuh
9c0ff257fb selftests/nolibc: add some tests for makedev() and friends
These functions/macros are about to be changed.

Add some tests to make sure they continue working.
As they only handle small dev_t values, only test those for now.

Signed-off-by: Thomas Weißschuh <linux@weissschuh.net>
Acked-by: Willy Tarreau <w@1wt.eu>
Link: https://patch.msgid.link/20260404-nolibc-makedev-v2-1-456a429bf60c@weissschuh.net
2026-04-04 10:28:35 +02:00
Fangyu Yu
7263b4fdb0 RISC-V: KVM: Reuse KVM_CAP_VM_GPA_BITS to select HGATP.MODE
Reuse KVM_CAP_VM_GPA_BITS to advertise and select the effective
G-stage GPA width for a VM.

KVM_CHECK_EXTENSION(KVM_CAP_VM_GPA_BITS) returns the effective GPA
bits for a VM, KVM_ENABLE_CAP(KVM_CAP_VM_GPA_BITS) allows userspace
to downsize the effective GPA width by selecting a smaller G-stage
page table format:
  - gpa_bits <= 41 selects Sv39x4 (pgd_levels=3)
  - gpa_bits <= 50 selects Sv48x4 (pgd_levels=4)
  - gpa_bits <= 59 selects Sv57x4 (pgd_levels=5)

Reject the request with -EINVAL for unsupported values and with -EBUSY
if vCPUs have been created or any memslot is populated.

Signed-off-by: Fangyu Yu <fangyu.yu@linux.alibaba.com>
Reviewed-by: Andrew Jones <andrew.jones@oss.qualcomm.com>
Reviewed-by: Guo Ren <guoren@kernel.org>
Reviewed-by: Nutty Liu <nutty.liu@hotmail.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Link: https://lore.kernel.org/r/20260403153019.9916-4-fangyu.yu@linux.alibaba.com
Signed-off-by: Anup Patel <anup@brainfault.org>
2026-04-04 13:48:21 +05:30
Fangyu Yu
ec92248431 RISC-V: KVM: Cache gstage pgd_levels in struct kvm_gstage
Gstage page-table helpers frequently chase gstage->kvm->arch to
fetch pgd_levels. This adds noise and repeats the same dereference
chain in hot paths.

Add pgd_levels to struct kvm_gstage and initialize it from kvm->arch
when setting up a gstage instance. Introduce kvm_riscv_gstage_init()
to centralize initialization and switch gstage code to use
gstage->pgd_levels.

Suggested-by: Anup Patel <anup@brainfault.org>
Signed-off-by: Fangyu Yu <fangyu.yu@linux.alibaba.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Reviewed-by: Nutty Liu <nutty.liu@hotmail.com>
Link: https://lore.kernel.org/r/20260403153019.9916-3-fangyu.yu@linux.alibaba.com
Signed-off-by: Anup Patel <anup@brainfault.org>
2026-04-04 13:46:46 +05:30
Al Viro
14a51045e1 get rid of busy-waiting in shrink_dcache_tree()
If shrink_dcache_tree() runs into a potential victim that is already
dying, it must wait for that dentry to go away.  To avoid busy-waiting
we need some object to wait on and a way for dentry_unlist() to see that
we need to be notified.

The obvious place for the object to wait on would be on our stack frame.
We will store a pointer to that object (struct completion_list) in victim
dentry; if there's more than one thread wanting to wait for the same
dentry to finish dying, we'll have their instances linked into a list,
with reference in dentry pointing to the head of that list.

* new object - struct completion_list.  A pair of struct completion and
pointer to the next instance.  That's what shrink_dcache_tree() will wait
on if needed.

* add a new member (->waiters, opaque pointer to struct completion_list)
to struct dentry.  It is defined for negative live dentries that are
not in-lookup ones and it will remain NULL for almost all of them.

It does not conflict with ->d_rcu (defined for killed dentries), ->d_alias
(defined for positive dentries, all live) or ->d_in_lookup_hash (defined
for in-lookup dentries, all live negative).  That allows to colocate
all four members.

* make sure that all places where dentry enters the state where ->waiters
is defined (live, negative, not-in-lookup) initialize ->waiters to NULL.

* if select_collect2() runs into a dentry that is already dying, have
its caller insert a local instance of struct completion_list into the
head of the list hanging off dentry->waiters and wait for completion.

* if dentry_unlist() sees non-NULL ->waiters, have it carefully walk
through the completion_list instances in that list, calling complete()
for each.

For now struct completion_list is local to fs/dcache.c; it's obviously
dentry-agnostic, and it can be trivially lifted into linux/completion.h
if somebody finds a reason to do so...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
2026-04-04 04:03:56 -04:00
Fangyu Yu
efcac8424b RISC-V: KVM: Support runtime configuration for per-VM's HGATP mode
Introduces one per-VM architecture-specific fields to support runtime
configuration of the G-stage page table format:

- kvm->arch.pgd_levels: the corresponding number of page table levels
  for the selected mode.

These fields replace the previous global variables
kvm_riscv_gstage_mode and kvm_riscv_gstage_pgd_levels, enabling different
virtual machines to independently select their G-stage page table format
instead of being forced to share the maximum mode detected by the kernel
at boot time.

Signed-off-by: Fangyu Yu <fangyu.yu@linux.alibaba.com>
Reviewed-by: Andrew Jones <andrew.jones@oss.qualcomm.com>
Reviewed-by: Anup Patel <anup@brainfault.org>
Reviewed-by: Guo Ren <guoren@kernel.org>
Reviewed-by: Nutty Liu <nutty.liu@hotmail.com>
Link: https://lore.kernel.org/r/20260403153019.9916-2-fangyu.yu@linux.alibaba.com
Signed-off-by: Anup Patel <anup@brainfault.org>
2026-04-04 13:21:21 +05:30
Shengyu Qu
0d9363a764 Input: xpad - add support for BETOP BTP-KP50B/C controller's wireless mode
BETOP's BTP-KP50B and BTP-KP50C controller's wireless dongles are both
working as standard Xbox 360 controllers. Add USB device IDs for them to
xpad driver.

Signed-off-by: Shengyu Qu <wiagn233@outlook.com>
Link: https://patch.msgid.link/TY4PR01MB14432B4B298EA186E5F86C46B9855A@TY4PR01MB14432.jpnprd01.prod.outlook.com
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2026-04-03 22:37:30 -07:00
Zoltan Illes
e2b0ae529d Input: xpad - add support for Razer Wolverine V3 Pro
Add device IDs for the Razer Wolverine V3 Pro controller in both
wired (0x0a57) and wireless 2.4 GHz dongle (0x0a59) modes.

The controller uses the Xbox 360 protocol (vendor-specific class,
subclass 93, protocol 1) on interface 0 with an identical 20-byte
input report layout, so no additional processing is needed.

Signed-off-by: Zoltan Illes <zoliviragh@gmail.com>
Link: https://patch.msgid.link/20260329220031.1325509-1-137647604+ZlordHUN@users.noreply.github.com
Cc: stable@vger.kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2026-04-03 22:37:29 -07:00
Sanjay Govind
84e7a17d18 Input: xpad - add RedOctane Games vendor id
Add vendor ID for RedOctane Games to xpad driver.

Signed-off-by: Sanjay Govind <sanjay.govind9@gmail.com>
Link: https://patch.msgid.link/20260311213106.271577-2-sanjay.govind9@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2026-04-03 22:36:46 -07:00
Elliot Tester
802b4c158c Input: xpad - remove stale TODO and changelog header
All items in the TODO block have since been addressed: axis tuning,
analog button handling, rumble support, and dance pad USB IDs are all
implemented. The manual changelog is also removed as history is tracked
in git.

Signed-off-by: Elliot Tester <elliotctester1@gmail.com>
Link: https://patch.msgid.link/20260325221618.135833-1-elliotctester1@gmail.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2026-04-03 22:35:34 -07:00
Stanislav Kinsburskii
16cbec2489 mshv: Fix infinite fault loop on permission-denied GPA intercepts
Prevent infinite fault loops when guests access memory regions without
proper permissions. Currently, mshv_handle_gpa_intercept() attempts to
remap pages for all faults on movable memory regions, regardless of
whether the access type is permitted. When a guest writes to a read-only
region, the remap succeeds but the region remains read-only, causing
immediate re-fault and spinning the vCPU indefinitely.

Validate intercept access type against region permissions before
attempting remaps. Reject writes to non-writable regions and executes to
non-executable regions early, returning false to let the VMM handle the
intercept appropriately.

This also closes a potential DoS vector where malicious guests could
intentionally trigger these fault loops to consume host resources.

Fixes: b9a66cd5cc ("mshv: Add support for movable memory regions")
Signed-off-by: Stanislav Kinsburskii <skinsburskii@linux.microsoft.com>
Reviewed-by: Anirudh Rayabharam (Microsoft) <anirudh@anirudhrb.com>
Signed-off-by: Wei Liu <wei.liu@kernel.org>
2026-04-04 05:25:53 +00:00
Sahil Chandna
b6422dff0e PCI: hv: Fix double ida_free in hv_pci_probe error path
If hv_pci_probe() fails after storing the domain number in
hbus->bridge->domain_nr, there is a call to free this domain_nr via
pci_bus_release_emul_domain_nr(), however, during cleanup, the bridge
release callback pci_release_host_bridge_dev() also frees the domain_nr
causing ida_free to be called on same ID twice and triggering following
warning:

  ida_free called for id=28971 which is not allocated.
  WARNING: lib/idr.c:594 at ida_free+0xdf/0x160, CPU#0: kworker/0:2/198
  Call Trace:
   pci_bus_release_emul_domain_nr+0x17/0x20
   pci_release_host_bridge_dev+0x4b/0x60
   device_release+0x3b/0xa0
   kobject_put+0x8e/0x220
   devm_pci_alloc_host_bridge_release+0xe/0x20
   devres_release_all+0x9a/0xd0
   device_unbind_cleanup+0x12/0xa0
   really_probe+0x1c5/0x3f0
   vmbus_add_channel_work+0x135/0x1a0

Fix this by letting pci core handle the free domain_nr and remove
the explicit free called in pci-hyperv driver.

Fixes: bcce8c74f1 ("PCI: Enable host bridge emulation for PCI_DOMAINS_GENERIC platforms")
Signed-off-by: Sahil Chandna <sahilchandna@linux.microsoft.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Reviewed-by: Saurabh Sengar <ssengar@linux.microsoft.com>
Signed-off-by: Wei Liu <wei.liu@kernel.org>
2026-04-04 05:18:49 +00:00
Linus Torvalds
7ca6d1cfec powerpc fixes for 7.0 #4
- fix iommu incorrectly bypassing DMA APIs
 
 Thanks to: Dan Horak, Gaurav Batra, Ritesh Harjani (IBM)
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEqX2DNAOgU8sBX3pRpnEsdPSHZJQFAmnQcugACgkQpnEsdPSH
 ZJQbEw//UVCVihpWA+GT+rGEDQVFkreQlciL3RQmj1qSM7YoNwY8+J6fjySpR/Nu
 guinqRB20vOyn/LMTmDZpfm4rLBb7tT6I5NKjc7pQ432TcxKUZxpzzeBhaisgPYx
 xHkShcy3SXkZ/ZXcudrYtKMCf2MH9wvjUa2vKaopVHmvmxZVttbX64ErO+1GnFvi
 R+FNpxqhCI16VKZp1LsqvEc1jWLPkQV8nWvLbZW1InZOTKkBkjPiJ2Ha5erdRh6m
 ooV9CQDYvcyngMI3mBr65nI558cworCtxC56Q2b1WcaVxYsomgf4G/WTinh2MDq8
 y1OEn3WPBRgvYpKE81RGf3rMff8srSrabZQhZSalklAnwK4W7LlkOb19DIMFm+lC
 dAMH2y8Hx7pvRsO2pO9tpcr5AOhQ9IQjM2Hoj1MzxBY0eA1ZS9aVFOKxDfL/+0DP
 jjj8ypPBrwMsVm6G2QJR0IwgljuuumH3QcGLcIf8bKBnqPR9+n4s8RM0I0j73dfX
 WALCxi5qIHL55kDy/mQ1REWbUZlj2RZC5f7zovf+YNsD+VZ1mWZ6hEr63DJbWU4s
 SjyKjO2YGgmacfK1fezh6dh4meM3HER8n70Dzvm682u4WvjMvCgBei/xSfhC7PZy
 xP9AIJ6PRFhFP8nKL5BQdNZrKZP+9k3iyAX18JU6AeWgfswAD6s=
 =Mimt
 -----END PGP SIGNATURE-----

Merge tag 'powerpc-7.0-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux

Pull powerpc fix from Madhavan Srinivasan:

 - fix iommu incorrectly bypassing DMA APIs

Thanks to Dan Horak, Gaurav Batra, and Ritesh Harjani (IBM).

* tag 'powerpc-7.0-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
  powerpc/powernv/iommu: iommu incorrectly bypass DMA APIs
2026-04-03 20:08:25 -07:00
Miguel Ojeda
36f5a2b09e rust: prelude: use the "kernel vertical" imports style
Format the Rust prelude to use the "kernel vertical" imports style [1].

No functional changes intended.

Link: https://docs.kernel.org/rust/coding-guidelines.html#imports [1]
Link: https://patch.msgid.link/20260208224659.18406-2-ojeda@kernel.org
[ Rebased. - Miguel ]
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
2026-04-04 04:28:36 +02:00
Linus Torvalds
3719114091 s390 updates for 7.0-rc7
- Fix a memory leak in the zcrypt driver where the AP message buffer
   for clear key RSA requests was allocated twice, once by the caller
   and again locally, causing the first allocation to never be freed
 
 - Fix the cpum_sf perf sampling rate overflow adjustment to clamp the
   recalculated rate to the hardware maximum, preventing exceptions on
   heavily loaded systems running with HZ=1000
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEE3QHqV+H2a8xAv27vjYWKoQLXFBgFAmnQWDUACgkQjYWKoQLX
 FBidQwf+NJmlDVst1/7Gv75p7Cf5o00cmkJ5zj/EUTRqNCFUFNXx/AUFDbNJ4U2C
 EsnDOePbVX/5yFWtEB+WDIDNZh9NOaDdH8w89AxkjRsTQ5NliJN7mFm4K9CFi+O+
 ytI2z9Ai+6zQG04euo+dsA8BuWLki3TsLA6o1ygP+3zCpV1BPw0Q39djb3rVJRPq
 lP33fBXruqXtbqv3oOlCAiL8mKtZymvJL3aMNY0PPlk3h23tIsGZOfwjd9aekkOh
 wRs4ijXRtu884xIQdZ3shgfyXgsJWPY0dApUBTRBqt+FSKiwxdMqg3Hx3VYEo/IQ
 zNt1OQRbEPX41fJxQWNTlxf0+C67TQ==
 =LXck
 -----END PGP SIGNATURE-----

Merge tag 's390-7.0-7' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux

Pull s390 fixes from Vasily Gorbik:

 - Fix a memory leak in the zcrypt driver where the AP message buffer
   for clear key RSA requests was allocated twice, once by the caller
   and again locally, causing the first allocation to never be freed

 - Fix the cpum_sf perf sampling rate overflow adjustment to clamp the
   recalculated rate to the hardware maximum, preventing exceptions on
   heavily loaded systems running with HZ=1000

* tag 's390-7.0-7' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
  s390/zcrypt: Fix memory leak with CCA cards used as accelerator
  s390/cpum_sf: Cap sampling rate to prevent lsctl exception
2026-04-03 17:50:24 -07:00
Linus Torvalds
1523e4d567 hwmon fixes for v7.0-rc7
- asus-ec-sensors: Fix temperature sensor for PRIME X670E-PRO WIFI
 
 - occ: Add missing newline, and fix potential division by zero
 
 - pmbus/tps53679: Fix device ID comparison and printing in tps53676_identify()
 
 - pmbus/ltc4286: Add missing MODULE_IMPORT_NS("PMBUS")
 
 - pmbus/pxe1610: Check return value of page-select write in probe
 
 - pmbus/tps53679: Fix array access with zero-length block read
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiHPvMQj9QTOCiqgVyx8mb86fmYEFAmnQVdQACgkQyx8mb86f
 mYHe0g//VNkFTJxdCcTz2wAVMLHr2gSfL/85ZFHn+QmgafFEUbtihPt/EKAyBpU7
 69AdQ6NnSxgdOrauYP6oZsfvA4psqBEJ4a5Q5uTZ0fg/gKZ5e4wjLtopaZPUAqij
 HT7Gwtz9oQpCK8v7dV88TJYqeBsePPrumPQvRdU7cxe3xr0BS9HF+0jWtjxYkllE
 zbbe7/nxNhqlGSff5/gKaM7aq7Nd8ptFTgsCBJYo6wzQh6svepLIgcE1ALfi3qf2
 wSrenEi/QoGMJAvl24IN7jT2tl87futO3tKpk0FJ2AT/wbuL6CminR2/yUIP3T6r
 6hKFhluI/wj0Od/qJfP7Gh1NPPY0WbHQ+vvYJEb7lp4mTUIbCQ05yN6D7jNa0zHH
 0KZbOYsEpK7cttuY/b72ir68VwhFLiuELExfCjQCMeEEP4Oyf2A9+iXrIK2BHpCW
 FcrMhqeRYYAbY1DTYCS39qO7xyDwH5a0D+Bp934SLp3FDbM/rwEXzC9AOvNyYZyw
 QHjIM/Zdh2NOZhXiMkE9V7bIYgzR8DyFA571ayH80GVPFUM9iXW4WfPNR4RXYwWH
 khsed6wUE2P52oYACEZfiXnw7lJkBUB2G5ZdAXn/ozC21JdpW2Yk+aPQWKZDn3Jq
 mlGGqP2UP7o7PCBzmkQW9yfLvCX4ValkA898vgm5vX2Ld1QaAhU=
 =tqhk
 -----END PGP SIGNATURE-----

Merge tag 'hwmon-for-v7.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging

Pull hwmon fixes from Guenter Roeck:

 - Fix temperature sensor for PRIME X670E-PRO WIFI

 - occ: Add missing newline, and fix potential division by zero

 - pmbus:
    - Fix device ID comparison and printing in tps53676_identify()
    - Add missing MODULE_IMPORT_NS("PMBUS") for ltc4286
    - Check return value of page-select write in pxe1610 probe
    - Fix array access with zero-length block tps53679 read

* tag 'hwmon-for-v7.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
  hwmon: (asus-ec-sensors) Fix T_Sensor for PRIME X670E-PRO WIFI
  hwmon: (occ) Fix missing newline in occ_show_extended()
  hwmon: (occ) Fix division by zero in occ_show_power_1()
  hwmon: (tps53679) Fix device ID comparison and printing in tps53676_identify()
  hwmon: (ltc4286) Add missing MODULE_IMPORT_NS("PMBUS")
  hwmon: (pxe1610) Check return value of page-select write in probe
  hwmon: (tps53679) Fix array access with zero-length block read
2026-04-03 17:13:59 -07:00
Lucas De Marchi
663385f915 module: Simplify warning on positive returns from module_init()
It should now be rare to trigger this warning - it doesn't need to be so
verbose. Make it follow the usual style in the module loading code.

For the same reason, drop the dump_stack().

Suggested-by: Petr Pavlu <petr.pavlu@suse.com>
Signed-off-by: Lucas De Marchi <demarchi@kernel.org>
Reviewed-by: Aaron Tomlin <atomlin@atomlin.com>
Reviewed-by: Petr Pavlu <petr.pavlu@suse.com>
Reviewed-by: Daniel Gomez <da.gomez@samsung.com>
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2026-04-04 00:04:48 +00:00