Commit graph

1,398,251 commits

Author SHA1 Message Date
Arnd Bergmann
0acf88fe85 SoCFPGA DTS updates for v6.17
- Fix dt_binding_check warnings
 	- agilex - f2s-free-clk
 	- stratix10 - rstmgr
 	- swvp - remove phy-addr, cpu1-start-addr and altr,modrst-offset
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAmhyVH8ACgkQGZQEC4Gj
 KPRLoA/9GB9b1Q/ISIqPFL12Bi83IRD8PQ/9vn+4iZWO9JCxT72R1OCDevD8v7hI
 7Yxc9auNyMjB453UhhnOoC9bB//FDQZl0k8GVPzPtzuakDIwHY1106LtoL1itMUD
 l1Gf/Fp5rO6yEALPjreFJe7jEp1oRiKfa+kDFjUZk3UtITJodmHumjo+5wcBostL
 bDZEuJ7UqFphdaIJCiO4WSp2f4FD7sG5hzLm+4H0BQCDqW1NinbKjLSEQJ/gdLKy
 MSWuH9xBoOHTMtPYsS2aoBe74bc2beFAwJtMGvLtaXUTqgLr3vYpmNtwkqHUAQaE
 yrnyn3kGmviU7Mgc5FQgvuC6/IWPrnEE/EuxUPJOfkfA7yKxgAMPjUrEXOgpG6Ia
 RKobt3APGc8pojAbQhMUs+TRJkRL+ZjVQvDCr/zgTJo/2V+ke4MHbBATvoBBnpK4
 V+doPL/QlBHnoyWDd4WkeApmBLlor4t8SxQmGdMMlsyBHxmpfXlSPYupQ000BP3R
 5EyCp87XUtPwetgSxdO6xZcs0bRQ+8RClj+mnUFsz3L5I8ED01m9nTwELkODYxQ/
 9RqbC3lzvslzoPgxRg05HeDEc+wFGbzUNgQloGX36FY02gVHJI12Wd/krQKg5VpN
 KZtzR4kY7tY+Dk+FRez1CdI6QyhJMtlG1I4V/HBDwuFEc0dK4Jw=
 =+O/I
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmh/6PcACgkQmmx57+YA
 GNmNqhAAtj0HWGsA/y+wKJ5x5dDQCIaiZJDv5SiKQSAxsuaF/8tWwIrutNp6Kg7W
 ya11of5m0dmfQebJQsXL9cZO8jmZwwMdjDAaCr0n7mXNdhGEyi/9RixXRm4JJSXa
 zCdDd6j+ig+OatVN/vYEPPFY7EE7HW9wuuNbBCSfs9QRaCDxtyDWYEDisNtGmnNH
 eDqBe2m/nsQPBmpEA9f1k91oZ0mG+aGqCyAJ5UB0/5dXYqh1I3yUVQYkRWDiVLX+
 9iBUOwsEELu9PzzYKXqmhx7H08oYINJtA9+s5gpWShOBjNUBky9jSTZpmmZikJ3C
 EEQGi5mExadFzZBLuMVJ5dV+MIwLCyaiKLQaoHB3t63XnCYC7qudBStuDQcqFGvO
 97faSoCaZNlcSye7FQYzY7RLeM6/W5HzCYkx/QEe6pvSsOxFxcB2z43iA2AnZF+s
 dtHKE+Q9aI/toRaF2QMnW2KyeafCQHT3aQDnOu/2b0ycQ67mF4IWuJQxzMYjZRtn
 RMDfQe1pbTwRd9tO6mev5PSIMfzqPz/QyqYIvx5Ssw5evifT6DXWDdZTrh3n/QM3
 SsfcSt4bwf59YgV8n54xR9+Y9Yo8aNHg3/fwdK1esXhWwJ5leRhQsjuCqdV5qD0j
 Z4HCpaPbGmc2G4TDt11SxEdB2YxpbmEQPwosGjOqmgKyDwkq62A=
 =T9nQ
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_dts_updates_for_v6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into soc/dt

SoCFPGA DTS updates for v6.17
- Fix dt_binding_check warnings
	- agilex - f2s-free-clk
	- stratix10 - rstmgr
	- swvp - remove phy-addr, cpu1-start-addr and altr,modrst-offset

* tag 'socfpga_dts_updates_for_v6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  arm64: dts: altera: socfpga_stratix10: update internal oscillators
  arm64: dts: socfpga: swvp: remove phy-addr in the GMAC node
  arm64: dts: socfpga: swvp: remove cpu1-start-addr
  arm64: dts: socfpga: swvp: remove altr,modrst-offset
  arm64: dts: socfpga: stratix10: fix dtbs_check for rstmgr
  arm64: dts: socfpga: agilex: fix dtbs_check warning for f2s-free-clk

Link: https://lore.kernel.org/r/20250712123248.16981-1-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-07-22 21:39:35 +02:00
Arnd Bergmann
3116e1d5c1 arm64: tegra: Changes for v6.17-rc1
Add support for the Tegra264 SoC and the corresponding engineering
 reference hardware (P3971-0089+P3834-0008).
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmhximEACgkQ3SOs138+
 s6HNNA//cgGimXC4W91+4xON26W+rG1mTO5ylcG1VNkr52+aLaKfEOwnlBn7+gAy
 YruyHSnA/DdAnQJtf48yjnmShL5zXaJ81/GCDQTMflXb6YXLkNIMNe29B5A5+kne
 oOJwzhaji355Q8Xb79yPx2u8KCIum+f6kxcq4sDdz1GxD0Ef2b9YgCq3R/I8rn1F
 uMuBK9g2Vt8D8iRJIVCZi0SpxaUslfc3WLhK6/Cn+14XjegGxmD54BooIOyuIK5N
 Dj5mTD81HO9rDeKSvmgiHS+WkWcpQEd/0acxx7DvnPqw4oFFnhjHnEAptNQf7j9x
 iAbs6yhFUcGzBu+es9ngxYuChS/89hjV9OtDEIDHpANcuw9CanKXlLZ2ez87V6zb
 4KA1WMk9Ml0yh5toVcojBXpa9+iQau9kEkeRTnsvyzmh2tIe4rY/fSJvJMdIgEmp
 Z1T6mg9ryxnYh65eN7iLLReEPKlzGFXixwMhWlA6EDJxMbb08PtaqQg7/kFllUyQ
 2TiTtoo/GYa55HZ2EDZqoEkvACOtN7PMyoBkVmdAFZ+HTujmO67c9m9QEUKa8k0w
 FLNxVOIyzZgD0uwSzE63I/ZhDhs644FrShv3ea7pvT1RQ9//7SuL7nPtTmigw/k3
 WvdQcq5GdMmmJ2Ac3k31ZCx8fAs8lpE2OFq9+cThDuvWUe+HB4s=
 =wAQW
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmh/6MQACgkQmmx57+YA
 GNmCdQ/7B5VZSgMjlnF7TrEnxCibc4x0sOLKloVjPzBS6EeLXT7UOKYNii5dDVCK
 PYQuFxwYEHTUYbi1XUCoCNEHbaqznU3qPwKMvymZepS5hxs2H5TGsHba3Sacisnk
 jXzK/hXkq1wGkntkbohEJRmx/EJugG9gU/4SLvZhHypw8jIbu3vjB7AbR2pN9ehh
 BMhyKejwCczHBlDDx6IjSEtZiWVLhWPpp3WA3tCLD1cK/VANniUxlq+t1Yb04iGi
 ArZm6dEKmzfqNCNzalB78WIgbDwx/pa4QRF8mfjDByhaGE2/xbfX8b2/zCzKuScZ
 Hg/GD2I0+O8Ei7YJ1IR4yI6BrGj1b65JWys3gn+siYz0Qkf1PAqHUiSXPUQbaD2j
 kkkTgg9CqGumftfWGyUqB7JNg6jlT75ZtlkWQLh5MGqT/B2nTDvnS7YNvTZQEkpQ
 y1uIOT2R/shcfsTRzGLD9wAsaGi/+b+Fq0cfCELRL+I+RFyrTZy2HNg+AWqnLxZA
 Bqbk+drupulhjYlxF2yQ3rQXf5tkLG28pKS+LA1pmKQmc/5BtoPPKK13mM2WqkB5
 n1sw+cP++CfF7Vo0vb4YnsquQvs4kypkprvrv4ilO2lVDVW3eSsFOq/qVS37DJLj
 RfuLzNs0RKQONtQs2eaGBs7TwqGtwJsu9DTvn7HM4tQws1wAOsI=
 =aBTF
 -----END PGP SIGNATURE-----

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

arm64: tegra: Changes for v6.17-rc1

Add support for the Tegra264 SoC and the corresponding engineering
reference hardware (P3971-0089+P3834-0008).

* tag 'tegra-for-6.17-arm64-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  arm64: tegra: Add p3971-0089+p3834-0008 support
  arm64: tegra: Add memory controller on Tegra264
  arm64: tegra: Add Tegra264 support

Link: https://lore.kernel.org/r/20250711220943.2389322-7-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-07-22 21:38:44 +02:00
Arnd Bergmann
d8ce23423b ARM: tegra: Device tree changes for v6.17-rc1
Add support for two Tegra30 ASUS devices and enable the embedded
 controller on Pegatron Chagall.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmhxiiYACgkQ3SOs138+
 s6HDvg//bI+7YKMcboez2DbFYeFbnyBEaaqbw8Y5HlawZ0kEhVqK/QfAw3EyWQ5z
 r4UThGnQTofuJe1xsT5TwsZLS6txsigmMAxwV2iNqmKTXU7JkfWiU92Nr2DLOWfJ
 OiIzLD93mZRyLoFOEcBZPy9pAxgEjWMY7BBItxdM8KskGanGf4D3FUOwV9NM5cSg
 m7siDRumSJur+8UM0/71IifIP+NxQFfb5+56Y35ehuAGZCFHEblnQdwrq7VzHfMf
 2LzGS+Q5HC2MvAVoeaEmEu9tc3r2RDq75VbffGSaaNJllC7lgmYyRVTI96rYnZzG
 oqzK77pF0sR5DnPgJjqhqUtZB0oNbfyezfXCHG3MLwV/YdmHZbycmSuR8EutvUYy
 kJUkIG3xfPmPNSpkb6YhTwpJjBh23CV/LTq1GHm9jx3RN1urnA/7vmVe/8l5wsoV
 RaQPM4Mdn/jjmmVjsPLR0IBll003kN3WCTv8+WlBov+w3EXlyZ7R3gUHu7AKKXva
 97/y8F3Ppv7QBnxB6Ymlr0lhpYlWUW0oBrWby/4zcOvH9g1JFbYr1w7ShB8z/Xp1
 BN4yeZeygahKQcWFX1zRSSukC8rsvm0ttOrzXwVemMXKZKaCycLAUUKu9sE1yHqF
 M1INFD6qua4ctrjjfGQtKQTewq+Ubjav/lx6Fia4x4LW7nN10lU=
 =ejuk
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmh/6IQACgkQmmx57+YA
 GNkMhhAAr7T6TNw/WEta/yApwKor3iYZz3/UgHIAEx/pD2x20jzSPuJSVE6lvtgZ
 FBLLj1jHrVVACA8v2uG+fW3KItu5I1S0eZ5TZvQLXIRvK56uFUEMvyBMAqV9URat
 facQ+5N+pYYCC/ZaMEPHQTk4tSLY1VYWKBN8UU0S1feWETVvxRWU5Kfk1jmzAUhX
 JYMmSrWm8Pah6njK0W6TzV9odeA7uBeDbxkb5f+0fBr4Iq4NA6hCyv8E/zZgex/7
 rSWy6rZSDevZyiVoFwhnegOwIMeqFUgsMUVwQCqrYLtVIXAYgsTR1RSSEll4PZE1
 DL9u8MRnNoYTKpso71E43ibtxNH3uUP2A2BBHIiTE1zqay4ye3V85+gL43P/jwIX
 e+Izc0lmFlkhrZiPdn1waSgn+sJmHnHaTvEhXnlnNZlmsdCfUaC+Rb7YsrhyKiTw
 6/7+Ul5ETwxg3sYFQ8QhpHVS0sFn4/utIFBagbae5GA3uv5QiryEQ9SaUBg8cgMX
 5NM0CiNpRX/xX+dpI3gAFyUKBx19XzjwMHXHCl2GkjAXAhT6Ly5MTUTkrjgkzkDi
 Vt0N+GqLs0hH0I6vPIZ5FJXPqtS+Uyl26aERHATWvvVV9b9bRe35yW/Tku+eDCaE
 IBXK8eorpUfD+YMpAg6xw6UbMWOqOkrOA56Tqo4gPA3dK1JS5K4=
 =Ssyg
 -----END PGP SIGNATURE-----

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

ARM: tegra: Device tree changes for v6.17-rc1

Add support for two Tegra30 ASUS devices and enable the embedded
controller on Pegatron Chagall.

* tag 'tegra-for-6.17-arm-dt' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: chagall: Add embedded controller node
  ARM: tegra: Add device-tree for Asus Portable AiO P1801-T
  ARM: tegra: Add device-tree for ASUS VivoTab RT TF600T

Link: https://lore.kernel.org/r/20250711220943.2389322-6-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-07-22 21:37:40 +02:00
Arnd Bergmann
8fa90d098a dt-bindings: Updates for v6.17-rc1
Add Tegra264 compatible strings for some core components and extend
 bindings where necessary to accomodate the new hardware generation. Also
 document some new platforms, for both old and new chips.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmhxiUkACgkQ3SOs138+
 s6Fdzw/+MlNjFyhAOHPchWFXdvPIj7oigDhWcXs911Be73Ixb8jZC6Tpdv98nY+Q
 Ir9WQVoG/4zhU3HXetksg3pxj1Lis4BddFaJJwOtJ2VMww2OKya8Pzf5AQgFkCzW
 kHJ9/7ac0cTH48V4hCxeEJb4WVdlh7xFjQfhF0j8T+cudNCki3kzx7cuOxa7BQhJ
 N/hQQW335yr2vZ55fG87vjhe6LTzrSPZb5HDXGYIQ3YiPuWw58ppLbxwD1a5E2DI
 ayfUeh78Dnq6vCpqB6DcQ+1hIPLxPE6aTswh6GlX/xRIvzmE1e5FfqWRoPnn2QI+
 GALgcG3ilm78SoF3vpywzolzx8yYY94jYseHOu1P9Ht83czw8IiBig8PkwR9GEhO
 M66rXe+hMxOkiuiLIR6OfIj5bycReymcFewXyLpGqiGNcwwO/1emfz1au/WFceMJ
 KIOwigcthWcGIWpgPQ4gJp/CxZVBok0X9D4MX7tUniM620CY2v2mBjjytB4Qrk/K
 EtTS/+9FP2YB4yvus9nGIXEZVtEvAY2iP2dOyM2ONTG1UsgsvIUT0jD3bhVVWMLw
 ElODUBqtw68CcVBxEwCGtipafsCXKS5/ePEqk5lzdJdy8Mfoab0HAxEremN2uFEq
 mhyhP3o/3p3HdDRgo6pOGxrnbp24U3g4qGSHJ9f9sHA/an1gRVA=
 =YhEw
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmh/6DwACgkQmmx57+YA
 GNmSFBAAplPKiZrrWNxG4uJVly5WET9UCzqUJx2KqnwYmx4id7pIyK38fot9wWam
 aznSDs2Wbh3Vse0OdPYMMP2C/1xMT8BJ0NCS1Z0qDtkh9sR0EeyHl8R2RQjLr4O0
 /zC8gf01Vq/4IxgIkv8uaf3mXOjuOsnNyOrZnYrSnz2wzWDj43q7nuVT22P8vbLe
 CRB2f+UnTesSWwx3b1TDzsPjZigQlb++VaXlE7nCFApa9wuxdOily0ko4cD11mAs
 jeywRW7NcVV8IgpCg96OroNJeqrIFmQautgLbDbeXYg3d6G1JpmxuWjU32Kg3opc
 iYChMU2njbbCIlM8OJAYtcAHG7Mvnm71YwUXiYwweCFBElQqZinZxmENnjINSHbj
 Rbk7fA+FLO/DkW81EjrisF1RQF8tTwVVAAp8gTneDQzcwA9GnYahwCU8rqXgDnqs
 3jRKYbQx2eG+BRcdLnMinF8XvEtXmKqQSEPYrbRa+H5DrEKQHYbx3uJgc3rthTU5
 9LJ0bT1oUo7AFWsKalLV7cJCU4VUMAEYNvj2ppBO9h0YsNaG8Ry9ToLGFvUqd5MK
 IIRkNDqW1Wh2H6XxKuEigRjgy62NWMtDcy3fYEHctd4LuVvhp9aifrOu4jmPvLE2
 dP8/MBFkAv/CiXBPisZDfcgkwSM9zvSVf5fW+nJacyEzrIFnL18=
 =0n3r
 -----END PGP SIGNATURE-----

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

dt-bindings: Updates for v6.17-rc1

Add Tegra264 compatible strings for some core components and extend
bindings where necessary to accomodate the new hardware generation. Also
document some new platforms, for both old and new chips.

* tag 'tegra-for-6.17-dt-bindings' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  dt-bindings: arm: tegra: Add Asus Portable AiO P1801-T
  dt-bindings: arm: tegra: Add Asus VivoTab RT TF600T
  dt-bindings: Add Tegra264 clock and reset definitions
  dt-bindings: tegra: Document P3971-0089+P3834-0008 Platform
  dt-bindings: rtc: tegra: Document Tegra264 RTC
  dt-bindings: dma: Add Tegra264 compatible string
  dt-bindings: misc: Document Tegra264 APBMISC compatible
  dt-bindings: firmware: Document Tegra264 BPMP
  dt-bindings: mailbox: tegra-hsp: Properly sort compatible string list
  dt-bindings: mailbox: tegra-hsp: Bump number of shared interrupts
  dt-bindings: tegra: pmc: Add Tegra264 compatible
  dt-bindings: memory: tegra: Add Tegra264 support

Link: https://lore.kernel.org/r/20250711220943.2389322-3-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-07-22 21:36:28 +02:00
Arnd Bergmann
d2755d3cf8 mvebu arm for 6.17 (part 1)
Use string choices helper in GPIO support code for legacy Orion based
 platforms.
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCaHdrnwAKCRALBhiOFHI7
 1ZeEAJ9apyqs35LXFL2wf7WKHVgwjB6qAwCePl/vknj00wKs+FOQ5t7h9T3y3JI=
 =gYAL
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmh/5+wACgkQmmx57+YA
 GNmNQg/7BHWCC/tJ8YbNyet543uyE2qYAjaK/5ZL7m9JQTykPXxBNciGfRooPSq9
 w/5EitNiXD0QyMYjQnuz8INH6hpjkaKklIrVzDdM3eHwjiOave3JxXyMJmfoLVws
 DSZDF9dCRPiLiDRVADIv6WF23dlnPJrkAZAh3o+BPJNvxOCy+t7xZDOkdIHz/tBq
 ml1NeX5+TcxXne4uTri7pMBWoGAWd2GOjY2nEDGCS4p/w5hyS6ynV3n/bIGMXFQE
 AYoD8VYtuJAAMWh+ab2+4xw/mk8AkS+MLUh2MEfLLzzLCccyulVS4hZTL3mwENVF
 R6IAoCjKEWTsMn7DGwBr4hSaEHhGgqrl5Ww1y+tal4dWzIMhzV4xHfZZvLjZtbav
 tA1FGWOhWeYiSDc0goaIgDkcDIJ4RY0bED4PQsaH3dssroQ7usyc81OjFXfp3KPA
 m405IHWSJ/iUc9ZAO7C8jocaQjlKBZfq+ucxoyD52+VaVrE7k0EjMsAdwgD25n4F
 NXJ5SWo8XHPTmE4CjxE0qP8JpAE5U+aPLQwNNFmQXAC3YYQ0UKMPz4qI4TGhBrUr
 tBuKR08FlRPHlk06DkhoG52tLJ5FCeGUu3ZkZnSoJ1igF0rDADfPrOLT+Ou5KiCr
 2lw117GftafoFESHnTQyac5IDmh54+MBn+hd62o5BIgYn461l4M=
 =WaVI
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-arm-6.17-1' of https://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/arm

mvebu arm for 6.17 (part 1)

Use string choices helper in GPIO support code for legacy Orion based
platforms.

* tag 'mvebu-arm-6.17-1' of https://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  arm: orion: use string choices helper

Link: https://lore.kernel.org/r/87jz48xzpz.fsf@BLaptop.bootlin.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-07-22 21:35:08 +02:00
Arnd Bergmann
b586f28910 TI K3 defconfig updates for v6.17
Cleanup select clauses for ARCH_K3 allow more modular builds
 -----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEEyRC2zAhGcGjrhiNExEYeRXyRFuMFAmh18+MQHHZpZ25lc2hy
 QHRpLmNvbQAKCRDERh5FfJEW49qbB/9Me1nShpWjMe2e2NJ1Y69xmhshdYtQ6TaA
 AxjMiPZENoh69kkEmU1IeRWeJbxY6xRvdoSsVBqjUZVXr0qhf0fleBQdEsjRWfZW
 j3Ev3ndiniy8azKZMkW2rdkVR1mulIkILqMZXBxvavnwOHsAYf80l5SzOTu4gysP
 +io9sfwEsdB1E0CjMJlROKf6OPvD5c2APYwaiLe2nadAf/MeitAGbKPxXqPbic2b
 dNXMdpc8ntSpnIdiPgnGnkxFTpV9fXAsbhSYTVNWzNlQO4RTV7y2U9qkS4fYbVmj
 KpCxoIPb/TSUbautNp1dmmlJ1ZuE0lWyzNs2Zyn3FbVYa9qulem/
 =ahZG
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmh/568ACgkQmmx57+YA
 GNl/3Q//afE4jOcIRsv8tiVs+3t/+7lGcCDx63qsJLj3IGW5xEzNhbyYKJv5Kxb6
 0vOTYA0duHJnF/tw1nMkvwr+MJ1X/cjGe9fItoqFGZqO4vdmIjhFRPZM6cUTmztw
 Syq2dDzFz3YCIeHwMCoaSpJnrQRFETWfth4JrheL0noJG97idC/NBDs8QZmOhCMc
 qIMR67+Az0WhyU4WSZUJIqHoCOF4rJMdlaqdMBMrLRl3Zld6dJAP8NbI2Y52SQyJ
 MMNVYoxhVZ3bOnfqCziY4RiX2yiSGQZBHqjtv7OxWrmT/88A+cBvilqE2qh1FPTa
 B+Y4fX9j9auhXY4lFapAjr0oYwnjrnMcYYdYtpKc4OKjfAYgwkfX9FPKm/e4NmZL
 ajl/Ho3mZOjbe28xN19BC4onqEF4eZXkypNVDjNN50Y2cJl3I0WoulnPMWYWXZAL
 MNvzVA9UWxPLBMyElmr67rVOZ/qx3khwI2pdI5OnF6PClDAhlj+/hba8v2+VY7Tv
 4utHDlvcNz3iC3CkVhXoKnBRSFaOLodZ6M3FP2iEaJmU9BWxmHQb1C7a2z3E+dqD
 PqfHpzGvf7pjSRb2M7F43E89lWf9uhukiAhxBXxATXOrCU8oztlb90qKA6rf2KoA
 InvN0XpD6KyZiaPEo9AuvWIW5jTdrRxF7NF5akWOigHrvp1GOYI=
 =d1ss
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-config-for-v6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/arm

TI K3 defconfig updates for v6.17

Cleanup select clauses for ARCH_K3 allow more modular builds

* tag 'ti-k3-config-for-v6.17' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  arm64: Kconfig.platforms: remove useless select for ARCH_K3

Link: https://lore.kernel.org/r/5488ccd5-c999-4b72-bfc0-ba94bb9a360d@ti.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-07-22 21:34:07 +02:00
Arnd Bergmann
686f71a53b ARM: tegra: Core changes for v6.17-rc1
Fixes an issue when copying data to IRAM using memcpy() and use the
 memcpy_toio() function instead.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmhxidwACgkQ3SOs138+
 s6Hr7RAAgrxKxtXV+ff2fuO+eE9VgKRtCqeOf7m5kFt9r/KgxkuIicl7lfXe1FVe
 MapxMITlm5ofweT6bOzJfx8EDNtjk7W4WCkE1SBAayiNKfSls8rNAIpo4ffKZDDi
 plyqzczjfvkI2GOAg4hWkRTMk0rxz+OFNFU9XLLXEz48j21VuNPZslkxiD2qkkv0
 wfnkjh2MmGQd0F0hnL4dboDZ/caCufSbJV6qblR0BpDQ6xBv4L+ZTL0WI/SK7INe
 fRSE+OWgkGoraFVMjLWL6M9w7uxLC5gfUNyLyZleynXfYDz2lL6g4gH6Jnfg9VYd
 BoGrUzE0RJM2TL+ujI2P9IoCeP3qRvb4XQFbbvi9exda8Cpt1OOOoJm7b/5Eu9Om
 2J4nRZahb+030846lFVoEoobFB2QX4eJXtTYs/n7jGiNaIBgbAttLarGLaOIIEmi
 Fmvx49iDsnmgBH/LHm3CFK4CTFd6EBD3IJE2kKvBMVwdu3OBzYKqE8plbehe/UWF
 sDfALPFDsPZz+svzibwKlfWBjMlBYE+wbqvVuHaqLcJ1BX9jmfjPpYlbO33deQKE
 6PXGidJIFxWm0BuafjXk4Fpb3Ox+GA7RBM34QfoPDKXRCVSe5zjHIMM9xd6+giCs
 /HwQcEqXGpy/LJ/6Ch4fKPs/oD7gwYwtQU+v7OZxHiQMVa5oxoM=
 =ouGe
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmh/54kACgkQmmx57+YA
 GNkAfA//fAQ4Qjw8aOXv1pKyjFRrqNUcgTDb7vtsJJ/uXwfhJ9VLa82sNX+WBaSS
 eLA6gLO6ZykaiOrIe+MCojSoOWhTCHyg0C58TIjv2gxQPdhxx4hH9MPqBgNUBrL2
 7Me2ySS3XIV57ZVswxnDpLZQhMZKNIyMDmgpRSLwJdJgF0IgLlTiTZyswL9FSH2C
 c53QNiB4/S1cpwuwUV3/b6hIqsDEOqKTaV/CmOeU3nFutHmAe0UDZS5WdS1OqV6E
 rLVYLI7rE3zrAMGUF+IfHQytWzENWCQ7+rEufNyteOMHbZ8Ax0W2fLaGb0LfUS3m
 3H4OYwJ418weCxdWIDlneGv1Fad2elQRd8e3sbwISjUmUeC84hrnA4F/mXKFGlXy
 4ppumO2OXYtxzKyFPCXOozTMy48JdudC3WRZgE1Y4uE6hby2ugCtdwkrwLT7y3By
 Boj93Ga1haxYO7VCTPZlckzh98PkukXHVENLl4o7fiwJb3HAqLulKxeUOVCMqsO6
 XA4IpsWPzOWOCNMr/H9eERlR8E90laAk2Nb59u93jMZkdNt0STSx479Q+t7yIMmg
 HSCK7/mVqfTCJ+B67zQF6CbNObE140oa0UD887m5/q2SyS32IRPGeXGRVBrUy37X
 oH9UfLTsY/aHUd+jQ07v5WsM6t/60vxGXof6p4l9KzFu0lyENYU=
 =slmo
 -----END PGP SIGNATURE-----

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

ARM: tegra: Core changes for v6.17-rc1

Fixes an issue when copying data to IRAM using memcpy() and use the
memcpy_toio() function instead.

* tag 'tegra-for-6.17-arm-core' of https://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: Use I/O memcpy to write to IRAM

Link: https://lore.kernel.org/r/20250711220943.2389322-5-thierry.reding@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-07-22 21:33:29 +02:00
Manivannan Sadhasivam
8c493cc91f PCI/pwrctrl: Create pwrctrl devices only when CONFIG_PCI_PWRCTRL is enabled
If devicetree describes power supplies related to a PCI device, we
unnecessarily created a pwrctrl device even if CONFIG_PCI_PWRCTL was not
enabled.

We only need pci_pwrctrl_create_device() when CONFIG_PCI_PWRCTRL is
enabled.  Compile it out when CONFIG_PCI_PWRCTRL is not enabled.

When pci_pwrctrl_create_device() creates and returns a pwrctrl device,
pci_scan_device() doesn't enumerate the PCI device. It assumes the pwrctrl
core will rescan the bus after turning on the power. However, if
CONFIG_PCI_PWRCTRL is not enabled, the rescan never happens, which breaks
PCI enumeration on any system that describes power supplies in devicetree
but does not use pwrctrl.

Jim reported that some brcmstb platforms break this way.  The brcmstb
driver is still broken if CONFIG_PCI_PWRCTRL is enabled, but this commit at
least allows brcmstb to work when it's NOT enabled.

Fixes: 957f40d039 ("PCI/pwrctrl: Move creation of pwrctrl devices to pci_scan_device()")
Reported-by: Jim Quinlan <james.quinlan@broadcom.com>
Link: https://lore.kernel.org/r/CA+-6iNwgaByXEYD3j=-+H_PKAxXRU78svPMRHDKKci8AGXAUPg@mail.gmail.com
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
[bhelgaas: commit log]
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Lukas Wunner <lukas@wunner.de>
Cc: stable@vger.kernel.org	# v6.15
Link: https://patch.msgid.link/20250701064731.52901-1-manivannan.sadhasivam@linaro.org
2025-07-22 13:36:04 -05:00
Takashi Iwai
089a60acbd Merge branch 'for-linus' into for-next
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2025-07-22 20:02:20 +02:00
SHARAN KUMAR M
931837cd92 ALSA: hda/realtek: Fix mute LED mask on HP OMEN 16 laptop
this patch is to fix my previous Commit <e5182305a5> i have fixed mute
led but for by This patch corrects the coefficient mask value introduced
in commit <e5182305a5>, which was intended to enable the mute LED
functionality. During testing, multiple values were evaluated, and
an incorrect value was mistakenly included in the final commit.
This update fixes that error by applying the correct mask value for
proper mute LED behavior.

Tested on 6.15.5-arch1-1

Fixes: e5182305a5 ("ALSA: hda/realtek: Enable Mute LED on HP OMEN 16 Laptop xd000xx")
Signed-off-by: SHARAN KUMAR M <sharweshraajan@gmail.com>
Link: https://patch.msgid.link/20250722172224.15359-1-sharweshraajan@gmail.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
2025-07-22 19:57:09 +02:00
Zhanjun Dong
176f44a5ec drm/xe/uc: Fix missing unwind goto
Fix missing unwind goto on error handling.

Fixes: b2c4ac219f ("drm/xe/uc: Disable GuC communication on hardware initialization error")
Signed-off-by: Zhanjun Dong <zhanjun.dong@intel.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://lore.kernel.org/r/20250721214520.954014-1-zhanjun.dong@intel.com
2025-07-22 10:46:52 -07:00
Myrrh Periwinkle
b43cb4ff85 vt: defkeymap: Map keycodes above 127 to K_HOLE
The maximum number of keycodes got bumped to 256 a very long time ago,
but the default keymaps were never adjusted to match. This is causing
the kernel to interpret keycodes above 127 as U+0000 if the shipped
generated keymap is used.

Fix this by mapping all keycodes above 127 to K_HOLE so the kernel
ignores them.

The contents of this patche were generated by rerunning `loadkeys
--mktable --unicode` and only including the changes to map keycodes
above 127 to K_HOLE.

Fixes: 1da177e4c3 ("Linux-2.6.12-rc2")
Signed-off-by: Myrrh Periwinkle <myrrhperiwinkle@qtmlabs.xyz>
Cc: stable <stable@kernel.org>
Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
Link: https://lore.kernel.org/r/20250702-vt-misc-unicode-fixes-v1-2-c27e143cc2eb@qtmlabs.xyz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-22 18:53:56 +02:00
Myrrh Periwinkle
b1cc2092ea vt: keyboard: Don't process Unicode characters in K_OFF mode
We don't process Unicode characters if the virtual terminal is in raw
mode, so there's no reason why we shouldn't do the same for K_OFF
(especially since people would expect K_OFF to actually turn off all VT
key processing).

Fixes: 9fc3de9c83 ("vt: Add virtual console keyboard mode OFF")
Signed-off-by: Myrrh Periwinkle <myrrhperiwinkle@qtmlabs.xyz>
Cc: stable <stable@kernel.org>
Reviewed-by: Jiri Slaby <jirislaby@kernel.org>
Link: https://lore.kernel.org/r/20250702-vt-misc-unicode-fixes-v1-1-c27e143cc2eb@qtmlabs.xyz
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-22 18:53:50 +02:00
Praveen Talari
86fa39dd6f serial: qcom-geni: Enable Serial on SA8255p Qualcomm platforms
The Qualcomm automotive SA8255p SoC relies on firmware to configure
platform resources, including clocks, interconnects and TLMM.
The driver requests resources operations over SCMI using power
and performance protocols.

The SCMI power protocol enables or disables resources like clocks,
interconnect paths, and TLMM (GPIOs) using runtime PM framework APIs,
such as resume/suspend, to control power states(on/off).

The SCMI performance protocol manages UART baud rates, with each baud
rate represented by a performance level. The driver uses the
dev_pm_opp_set_level() API to request the desired baud rate by
specifying the performance level.

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Praveen Talari <quic_ptalari@quicinc.com>
Link: https://lore.kernel.org/r/20250721174532.14022-9-quic_ptalari@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-22 18:52:51 +02:00
Praveen Talari
1afa70632c serial: qcom-geni: Enable PM runtime for serial driver
The GENI serial driver currently handles power resource management
through calls to the statically defined geni_serial_resources_on() and
geni_serial_resources_off() functions. This approach reduces modularity
and limits support for platforms with diverse power management
mechanisms, including resource managed by firmware.

Improve modularity and enable better integration with platform-specific
power management, introduce support for runtime PM. Use
pm_runtime_resume_and_get() and pm_runtime_put_sync() within the
qcom_geni_serial_pm() callback to control resource power state
transitions based on UART power state changes.

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Praveen Talari <quic_ptalari@quicinc.com>
Link: https://lore.kernel.org/r/20250721174532.14022-8-quic_ptalari@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-22 18:52:51 +02:00
Praveen Talari
5893e62d46 serial: qcom-geni: move clock-rate logic to separate function
Facilitates future modifications within the new function,
leading to better readability and maintainability of the code.

Move the code that handles the actual logic of clock-rate
calculations to a separate function geni_serial_set_rate()
which enhances code readability.

Signed-off-by: Praveen Talari <quic_ptalari@quicinc.com>
Link: https://lore.kernel.org/r/20250721174532.14022-7-quic_ptalari@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-22 18:52:50 +02:00
Praveen Talari
94d691417e serial: qcom-geni: move resource control logic to separate functions
Supports use in PM system/runtime frameworks, helping to distinguish new
resource control mechanisms and facilitate future modifications within
the new API.

The code that handles the actual enable or disable of resources like clock
and ICC paths to a separate function (geni_serial_resources_on() and
geni_serial_resources_off()) which enhances code readability.

Introduced minor return checks in newly added function APIs to enhance
error detection and prevent silent failures.

Signed-off-by: Praveen Talari <quic_ptalari@quicinc.com>
Link: https://lore.kernel.org/r/20250721174532.14022-6-quic_ptalari@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-22 18:52:50 +02:00
Praveen Talari
4b2601ae30 serial: qcom-geni: move resource initialization to separate function
Enhances code readability and future modifications within the new API.

Move the code that handles the actual initialization of resources
like clock and ICC paths to a separate function, making the
probe function cleaner.

Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Praveen Talari <quic_ptalari@quicinc.com>
Link: https://lore.kernel.org/r/20250721174532.14022-5-quic_ptalari@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-22 18:52:50 +02:00
Praveen Talari
f5b16f28fa soc: qcom: geni-se: Enable QUPs on SA8255p Qualcomm platforms
On the sa8255p platform, resources such as clocks,interconnects
and TLMM (GPIO) configurations are managed by firmware.

Use the `num_clks` field in platform data to distinguish whether
resource control is performed by firmware or directly by the driver
in linux.

Signed-off-by: Praveen Talari <quic_ptalari@quicinc.com>
Link: https://lore.kernel.org/r/20250721174532.14022-4-quic_ptalari@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-22 18:52:50 +02:00
Nikunj Kela
3a0fdc6d93 dt-bindings: qcom: geni-se: describe SA8255p
SA8255p platform abstracts resources such as clocks, interconnect
configuration in Firmware.

Add DT bindings for the QUP Wrapper on sa8255p platform.

Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Nikunj Kela <quic_nkela@quicinc.com>
Co-developed-by: Praveen Talari <quic_ptalari@quicinc.com>
Signed-off-by: Praveen Talari <quic_ptalari@quicinc.com>
Link: https://lore.kernel.org/r/20250721174532.14022-3-quic_ptalari@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-22 18:52:50 +02:00
Nikunj Kela
4c83146cfb dt-bindings: serial: describe SA8255p
SA8255p platform abstracts resources such as clocks, interconnect and
GPIO pins configuration in Firmware. SCMI power and perf protocols are
used to send request for resource configurations.

Add DT bindings for the QUP GENI UART controller on sa8255p platform.

The wakeup interrupt (IRQ) is treated as optional, as not all UART
instances have a wakeup-capable interrupt routed via the PDC.

Signed-off-by: Nikunj Kela <quic_nkela@quicinc.com>
Co-developed-by: Praveen Talari <quic_ptalari@quicinc.com>
Signed-off-by: Praveen Talari <quic_ptalari@quicinc.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20250721174532.14022-2-quic_ptalari@quicinc.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-22 18:52:50 +02:00
WangYuli
a8d455db26 serial: 8250_dw: Fix typo "notifer"
There is a spelling mistake of 'notifer' in the comment which
should be 'notifier'.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: WangYuli <wangyuli@uniontech.com>
Link: https://lore.kernel.org/r/BD4804BF4FBA1648+20250722073431.21983-6-wangyuli@uniontech.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-22 18:52:37 +02:00
Ian Abbott
35b6fc51c6 comedi: fix race between polling and detaching
syzbot reports a use-after-free in comedi in the below link, which is
due to comedi gladly removing the allocated async area even though poll
requests are still active on the wait_queue_head inside of it. This can
cause a use-after-free when the poll entries are later triggered or
removed, as the memory for the wait_queue_head has been freed.  We need
to check there are no tasks queued on any of the subdevices' wait queues
before allowing the device to be detached by the `COMEDI_DEVCONFIG`
ioctl.

Tasks will read-lock `dev->attach_lock` before adding themselves to the
subdevice wait queue, so fix the problem in the `COMEDI_DEVCONFIG` ioctl
handler by write-locking `dev->attach_lock` before checking that all of
the subdevices are safe to be deleted.  This includes testing for any
sleepers on the subdevices' wait queues.  It remains locked until the
device has been detached.  This requires the `comedi_device_detach()`
function to be refactored slightly, moving the bulk of it into new
function `comedi_device_detach_locked()`.

Note that the refactor of `comedi_device_detach()` results in
`comedi_device_cancel_all()` now being called while `dev->attach_lock`
is write-locked, which wasn't the case previously, but that does not
matter.

Thanks to Jens Axboe for diagnosing the problem and co-developing this
patch.

Cc: stable <stable@kernel.org>
Fixes: 2f3fdcd7ce ("staging: comedi: add rw_semaphore to protect against device detachment")
Link: https://lore.kernel.org/all/687bd5fe.a70a0220.693ce.0091.GAE@google.com/
Reported-by: syzbot+01523a0ae5600aef5895@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=01523a0ae5600aef5895
Co-developed-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Tested-by: Jens Axboe <axboe@kernel.dk>
Link: https://lore.kernel.org/r/20250722155316.27432-1-abbotti@mev.co.uk
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-07-22 18:47:30 +02:00
Dan Carpenter
2138e89cb0 fs/orangefs: Allow 2 more characters in do_c_string()
The do_k_string() and do_c_string() functions do essentially the same
thing which is they add a string and a comma onto the end of an existing
string.  At the end, the caller will overwrite the last comma with a
newline.  Later, in orangefs_kernel_debug_init(), we add a newline to
the string.

The change to do_k_string() is just cosmetic.  I moved the "- 1" to
the other side of the comparison and made it "+ 1".  This has no
effect on runtime, I just wanted the functions to match each other
and the rest of the file.

However in do_c_string(), I removed the "- 2" which allows us to print
two extra characters.  I noticed this issue while reviewing the code
and I doubt affects anything in real life.  My guess is that this was
double counting the comma and the newline.  The "+ 1" accounts for
the newline, and the caller will delete the final comma which ensures
there is enough space for the newline.

Removing the "- 2" lets us print 2 more characters, but mainly it makes
the code more consistent and understandable for reviewers.

Fixes: 44f4641073 ("orangefs: clean up debugfs globals")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Mike Marshall <hubcap@omnibond.com>
2025-07-22 12:39:29 -04:00
Salah Triki
5982a539cd accel/amdxdna: Delete pci_free_irq_vectors()
The device is managed so pci_free_irq_vectors() is called automatically
no need to do it manually.

Reviewed-by: Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>
Signed-off-by: Salah Triki <salah.triki@gmail.com>
Signed-off-by: Lizhi Hou <lizhi.hou@amd.com>
Link: https://lore.kernel.org/r/aHs8QAfUlFeNp7qL@pc
2025-07-22 09:19:04 -07:00
Rafael J. Wysocki
40c2819955 Merge branches 'pm-misc' and 'pm-tools'
Merge miscellaneous power management updates and cpupower utility
updates for 6.17-rc1:

 - Update contact information in the PM ABI docs and maintainer
   information in the power domains DT binding (Rafael Wysocki)

 - Update PM header inclusions to follow the IWYU (Include What You Use)
   principle (Andy Shevchenko)

 - Add flags to specify power on attach/detach for PM domains, make the
   driver core detach PM domains in device_unbind_cleanup(), and drop
   the dev_pm_domain_detach() call from the platform bus type (Claudiu
   Beznea)

 - Improve Python binding's Makefile for cpupower (John B. Wyatt IV)

 - Fix printing of CORE, CPU fields in cpupower-monitor (Gautham Shenoy)

* pm-misc:
  PM: docs: Use my kernel.org address in ABI docs and DT bindings
  driver core: platform: Drop dev_pm_domain_detach() call
  PM: domains: Detach on device_unbind_cleanup()
  PM: domains: Add flags to specify power on attach/detach
  PM: Don't use "proxy" headers

* pm-tools:
  cpupower: Improve Python binding's Makefile
  pm: cpupower: Fix printing of CORE, CPU fields in cpupower-monitor
  pm: cpupower: Fix the snapshot-order of tsc,mperf, clock in mperf_stop()
2025-07-22 18:07:11 +02:00
Ma Ke
63ce537246 sunvdc: Balance device refcount in vdc_port_mpgroup_check
Using device_find_child() to locate a probed virtual-device-port node
causes a device refcount imbalance, as device_find_child() internally
calls get_device() to increment the device’s reference count before
returning its pointer. vdc_port_mpgroup_check() directly returns true
upon finding a matching device without releasing the reference via
put_device(). We should call put_device() to decrement refcount.

As comment of device_find_child() says, 'NOTE: you will need to drop
the reference with put_device() after use'.

Found by code review.

Cc: stable@vger.kernel.org
Fixes: 3ee70591d6 ("sunvdc: prevent sunvdc panic when mpgroup disk added to guest domain")
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
Link: https://lore.kernel.org/r/20250719075856.3447953-1-make24@iscas.ac.cn
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-07-22 10:02:17 -06:00
Rafael J. Wysocki
3b4d4c98e5 Merge branches 'pm-runtime' and 'pm-powercap'
Merge runtime PM updates and power capping updates for 6.17-rc1:

 - Document return values of suspend-related API functions in the
   runtime PM framework (Sakari Ailus)

 - Mark last busy stamp in multiple autosuspend-related functions in the
   runtime PM framework and update its documentation (Sakari Ailus)

 - Take active children into account in pm_runtime_get_if_in_use() for
   consistency (Rafael Wysocki)

 - Fix NULL pointer dereference in get_pd_power_uw() in the dtpm_cpu
   power capping driver (Sivan Zohar-Kotzer)

 - Add support for the Bartlett Lake platform to the Intel RAPL power
   capping driver (Qiao Wei)

 - Add PL4 support for Panther Lake to the intel_rapl_msr power capping
   driver (Zhang Rui)

* pm-runtime:
  PM: runtime: Take active children into account in pm_runtime_get_if_in_use()
  Documentation: PM: *_autosuspend() functions update last busy time
  PM: runtime: Mark last busy stamp in pm_request_autosuspend()
  PM: runtime: Mark last busy stamp in pm_runtime_autosuspend()
  PM: runtime: Mark last busy stamp in pm_runtime_put_sync_autosuspend()
  PM: runtime: Mark last busy stamp in pm_runtime_put_autosuspend()
  PM: runtime: Document return values of suspend-related API functions

* pm-powercap:
  powercap: dtpm_cpu: Fix NULL pointer dereference in get_pd_power_uw()
  powercap: intel_rapl: Add support for Bartlett Lake platform
  powercap: intel_rapl_msr: Add PL4 support for Panther Lake
2025-07-22 18:01:15 +02:00
Chao Yu
77de19b686 f2fs: fix to avoid out-of-boundary access in dnode page
As Jiaming Zhang reported:

 <TASK>
 __dump_stack lib/dump_stack.c:94 [inline]
 dump_stack_lvl+0x1c1/0x2a0 lib/dump_stack.c:120
 print_address_description mm/kasan/report.c:378 [inline]
 print_report+0x17e/0x800 mm/kasan/report.c:480
 kasan_report+0x147/0x180 mm/kasan/report.c:593
 data_blkaddr fs/f2fs/f2fs.h:3053 [inline]
 f2fs_data_blkaddr fs/f2fs/f2fs.h:3058 [inline]
 f2fs_get_dnode_of_data+0x1a09/0x1c40 fs/f2fs/node.c:855
 f2fs_reserve_block+0x53/0x310 fs/f2fs/data.c:1195
 prepare_write_begin fs/f2fs/data.c:3395 [inline]
 f2fs_write_begin+0xf39/0x2190 fs/f2fs/data.c:3594
 generic_perform_write+0x2c7/0x910 mm/filemap.c:4112
 f2fs_buffered_write_iter fs/f2fs/file.c:4988 [inline]
 f2fs_file_write_iter+0x1ec8/0x2410 fs/f2fs/file.c:5216
 new_sync_write fs/read_write.c:593 [inline]
 vfs_write+0x546/0xa90 fs/read_write.c:686
 ksys_write+0x149/0x250 fs/read_write.c:738
 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline]
 do_syscall_64+0xf3/0x3d0 arch/x86/entry/syscall_64.c:94
 entry_SYSCALL_64_after_hwframe+0x77/0x7f

The root cause is in the corrupted image, there is a dnode has the same
node id w/ its inode, so during f2fs_get_dnode_of_data(), it tries to
access block address in dnode at offset 934, however it parses the dnode
as inode node, so that get_dnode_addr() returns 360, then it tries to
access page address from 360 + 934 * 4 = 4096 w/ 4 bytes.

To fix this issue, let's add sanity check for node id of all direct nodes
during f2fs_get_dnode_of_data().

Cc: stable@kernel.org
Reported-by: Jiaming Zhang <r772577952@gmail.com>
Closes: https://groups.google.com/g/syzkaller/c/-ZnaaOOfO3M
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:58:15 +00:00
Hongbo Li
94b3ce7f15 f2fs: switch to the new mount api
The new mount api will execute .parse_param, .init_fs_context, .get_tree
and will call .remount if remount happened. So we add the necessary
functions for the fs_context_operations. If .init_fs_context is added,
the old .mount should remove.

See Documentation/filesystems/mount_api.rst for more information.

Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
[sandeen: forward port]
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
[hongbo: context modified]
Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:58:15 +00:00
Hongbo Li
bb463a75ab f2fs: introduce fs_context_operation structure
The handle_mount_opt() helper is used to parse mount parameters,
and so we can rename this function to f2fs_parse_param() and set
it as .param_param in fs_context_operations.

Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
[sandeen: forward port]
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:58:14 +00:00
Hongbo Li
d185351325 f2fs: separate the options parsing and options checking
The new mount api separates option parsing and super block setup
into two distinct steps and so we need to separate the options
parsing out of the parse_options().

In order to achieve this, here we handle the mount options with
three steps:
  - Firstly, we move sb/sbi out of handle_mount_opt.
    As the former patch introduced f2fs_fs_context, so we record
    the changed mount options in this context. In handle_mount_opt,
    sb/sbi is null, so we should move all relative code out of
    handle_mount_opt (thus, some check case which use sb/sbi should
    move out).
  - Secondly, we introduce the some check helpers to keep the option
    consistent.
    During filling superblock period, sb/sbi are ready. So we check
    the f2fs_fs_context which holds the mount options base on sb/sbi.
  - Thirdly, we apply the new mount options to sb/sbi.
    After checking the f2fs_fs_context, all changed on mount options
    are valid. So we can apply them to sb/sbi directly.

After do these, option parsing and super block setting have been
decoupled. Also it should have retained the original execution
flow.

Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
[sandeen: forward port, minor fixes and updates]
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
[hongbo: minor fixes]
Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:58:14 +00:00
Hongbo Li
1a9094b10c f2fs: Add f2fs_fs_context to record the mount options
At the parsing phase of mouont in the new mount api, options
value will be recorded with the context, and then it will be
used in fill_super and other helpers.

Note that, this is a temporary status, we want remove the sb
and sbi usages in handle_mount_opt. So here the f2fs_fs_context
only records the mount options, it will be copied in sb/sbi in
later process. (At this point in the series, mount options are
temporarily not set during mount.)

Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
[sandeen: forward port, minor fixes and updates]
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
[hongbo: minor cleanup]
Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:58:14 +00:00
Hongbo Li
19c4b380f2 f2fs: Allow sbi to be NULL in f2fs_printk
At the parsing phase of the new mount api, sbi will not be
available. So here allows sbi to be NULL in f2fs log helpers
and use that in handle_mount_opt().

Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
[sandeen: forward port]
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:58:14 +00:00
Hongbo Li
02eb5fe42a f2fs: move the option parser into handle_mount_opt
In handle_mount_opt, we use fs_parameter to parse each option.
However we're still using the old API to get the options string.
Using fsparams parse_options allows us to remove many of the Opt_
enums, so remove them.

The checkpoint disable cap (or percent) involves rather complex
parsing; we retain the old match_table mechanism for this, which
handles it well.

There are some changes about parsing options:
  1. For `active_logs`, `inline_xattr_size` and `fault_injection`,
     we use s32 type according the internal structure to record the
     option's value.

Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
[sandeen: forward port, minor fixes and updates]
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
[hongbo: minor cleanup]
Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:58:14 +00:00
Hongbo Li
f2091cc188 f2fs: Add fs parameter specifications for mount options
Use an array of `fs_parameter_spec` called f2fs_param_specs to
hold the mount option specifications for the new mount api.

Add constant_table structures for several options to facilitate
parsing.

Signed-off-by: Hongbo Li <lihongbo22@huawei.com>
[sandeen: forward port, minor fixes and updates, more fsparam_enum]
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:58:13 +00:00
Chao Yu
5661998536 f2fs: fix to avoid out-of-boundary access in devs.path
- touch /mnt/f2fs/012345678901234567890123456789012345678901234567890123
- truncate -s $((1024*1024*1024)) \
  /mnt/f2fs/012345678901234567890123456789012345678901234567890123
- touch /mnt/f2fs/file
- truncate -s $((1024*1024*1024)) /mnt/f2fs/file
- mkfs.f2fs /mnt/f2fs/012345678901234567890123456789012345678901234567890123 \
  -c /mnt/f2fs/file
- mount /mnt/f2fs/012345678901234567890123456789012345678901234567890123 \
  /mnt/f2fs/loop

[16937.192225] F2FS-fs (loop0): Mount Device [ 0]: /mnt/f2fs/012345678901234567890123456789012345678901234567890123\xff\x01,      511,        0 -    3ffff
[16937.192268] F2FS-fs (loop0): Failed to find devices

If device path length equals to MAX_PATH_LEN, sbi->devs.path[] may
not end up w/ null character due to path array is fully filled, So
accidently, fields locate after path[] may be treated as part of
device path, result in parsing wrong device path.

struct f2fs_dev_info {
...
	char path[MAX_PATH_LEN];
...
};

Let's add one byte space for sbi->devs.path[] to store null
character of device path string.

Fixes: 3c62be17d4 ("f2fs: support multiple devices")
Signed-off-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:58:13 +00:00
Matthew Wilcox (Oracle)
816aa305cd f2fs: Remove F2FS_P_SB()
All callers have been converted to F2FS_F_SB() so delete this wrapper.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:58:11 +00:00
Matthew Wilcox (Oracle)
5fb60c0365 f2fs: Pass a folio to __has_merged_page()
All three callers have a folio so pass it in.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:58:08 +00:00
Matthew Wilcox (Oracle)
06e42bf432 f2fs: Pass a folio to f2fs_submit_merged_write_cond()
Most callers pass NULL, and the one that passes a page already has a
folio.  Also convert __submit_merged_write_cond() to take a folio.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:58:05 +00:00
Matthew Wilcox (Oracle)
7695f8ccf6 f2fs: Remove use of page from f2fs_write_single_data_page()
Both remaining uses of page now have a folio equivalent.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:58:03 +00:00
Matthew Wilcox (Oracle)
6974b21f70 f2fs: Remove clear_page_private_all()
All callers can simply call folio_detach_private().  This was the
only way that clear_page_private_data() could be called, so remove
that too.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:58:00 +00:00
Matthew Wilcox (Oracle)
0f54eec0cb f2fs: Use F2FS_F_SB() in f2fs_read_end_io()
Get the folio from the bio instead of the page.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:57:57 +00:00
Matthew Wilcox (Oracle)
015622b8c7 f2fs: Use a folio in f2fs_encrypted_get_link()
Use a folio instead of a page when dealing with the page cache.  Removes
a hidden call to compound_head().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:57:54 +00:00
Matthew Wilcox (Oracle)
49bb2b894e f2fs: Pass a folio to f2fs_cache_compressed_page()
The only caller already has a folio so pass it in.
f2fs_cache_compressed_page() is not used outside compress.c so
make it static.  This requires a forward declaration (or would require
rearranging this file, but I've chosen not to do that for readability of
the diff).

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:57:50 +00:00
Matthew Wilcox (Oracle)
8591db2a65 f2fs: Pass a folio to F2FS_NODE()
All callers now have a folio so pass it in

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:57:48 +00:00
Matthew Wilcox (Oracle)
c07de7557a f2fs: Pass the nat_blk to __update_nat_bits()
The page argument is only used to look up the address of the nat_blk.
Since the caller already has it, pass it in instead.  Also mark it const
as the nat_blk isn't modified by this function.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:57:44 +00:00
Matthew Wilcox (Oracle)
3a19caf12f f2fs: Convert get_next_nat_page() to get_next_nat_folio()
Return a folio from this function and convert its one caller.
Removes a call to compound_head().

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:57:41 +00:00
Matthew Wilcox (Oracle)
9e3d138737 f2fs: Pass a folio to f2fs_is_compressed_page()
All callers now have a folio so pass it in.  Also remove the test for
the private flag; it is redundant with checking folio->private for being
NULL.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:57:38 +00:00
Matthew Wilcox (Oracle)
cabda16223 f2fs: Use a folio iterator in f2fs_verify_bio()
Change from bio_for_each_segment_all() to bio_for_each_folio_all()
to iterate over each folio instead of each page.

Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Reviewed-by: Chao Yu <chao@kernel.org>
Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org>
2025-07-22 15:57:35 +00:00