Commit graph

1,399,042 commits

Author SHA1 Message Date
Danilo Krummrich
3760401981 pin-init changes for v6.18
Changed:
 
 - `#[pin_data]` now generates a `*Projection` struct similar to the
   `pin-project` crate.
 
 - Add initializer code blocks to `[try_][pin_]init!` macros: make
   initializer macros accept any number of `_: {/* arbitrary code */},` &
   make them run the code at that point.
 
 - Make the `[try_][pin_]init!` macros expose initialized fields via a
   `let` binding as `&mut T` or `Pin<&mut T>` for later fields.
 
 Upstream dev news:
 
 - Released v0.0.10 before the changes included in this tag.
 
 - Inform users of the impending rename from `pinned-init` to `pin-init`
   (in the kernel the rename already happened).
 
 - More CI improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iIgEABYKADAWIQQjEG/HT3UeYLJybLTomd21rZaLygUCaMQqrhIcbG9zc2luQGtl
 cm5lbC5vcmcACgkQ6Jndta2Wi8pqhQEAlg9RmSA0Pu4FK5wNM1c4P4S9wAjE+oJL
 luYJPrc3mikBAJf8xOoP7XFDKd1FZZ+xOWkgamkf4zDbszOjpX4U/DMD
 =ESM8
 -----END PGP SIGNATURE-----

Merge tag 'pin-init-v6.18' of https://github.com/Rust-for-Linux/linux into drm-rust-next

pin-init changes for v6.18

Changed:

- `#[pin_data]` now generates a `*Projection` struct similar to the
  `pin-project` crate.

- Add initializer code blocks to `[try_][pin_]init!` macros: make
  initializer macros accept any number of `_: {/* arbitrary code */},` &
  make them run the code at that point.

- Make the `[try_][pin_]init!` macros expose initialized fields via a
  `let` binding as `&mut T` or `Pin<&mut T>` for later fields.

Upstream dev news:

- Released v0.0.10 before the changes included in this tag.

- Inform users of the impending rename from `pinned-init` to `pin-init`
  (in the kernel the rename already happened).

- More CI improvements.

Signed-off-by: Danilo Krummrich <dakr@kernel.org>

From: Benno Lossin <lossin@kernel.org>
Link: https://lore.kernel.org/r/20250912174148.373530-1-lossin@kernel.org
2025-09-12 20:07:15 +02:00
Linus Torvalds
22f20375f5 pci-v6.17-fixes-3
-----BEGIN PGP SIGNATURE-----
 
 iQJIBAABCgAyFiEEgMe7l+5h9hnxdsnuWYigwDrT+vwFAmjEOk4UHGJoZWxnYWFz
 QGdvb2dsZS5jb20ACgkQWYigwDrT+vy/6BAAuG1tHr0eS8N91izFldT+aVt8pAdW
 wOUsHzj6CkcxSYHuAc1wnSKBb7xxqNLdotsfSOAAUQrCctvlNiy2sxkDp31wrZcJ
 5up0h7VXqIV8Vbirde4nrlN3ey8Op1xUGn/V2VulzH+BCRauIjtXBcZVUmgVJ0xw
 MZ9n9I0GKbykNUiQIZCgJEZvI25rNbAalhfxN7JtY/U0Ra60XI+s6Z6Vi1T8whGt
 SupYOnNUXubStEDDu2QzPMinHTU266ory3zPU0mbrRSOq1aqfljTuVQsTREjrKVR
 Q6GnOlB3o9q2E5UfrZcJlskwdN+cT1FvZx97Ec6Izjj4sCsF47CtfYGfwSakdCRU
 Y2cyGzi1MEwuFmRsiLCmiuW5pk5SzU8vYpC7Vpoi+cyrfF3T8hSIuiMyUsuq/b9x
 lZv4z/1KLZNdbKX/ZDTaTWq0rKZzvxrpSFfSq+HWzzPj9w3rvSf3p5lVX8gY+pqN
 WD1uMtv3NKgTeZkxCXkeVBd9x5o0jWWGaohCuuOLTr0FEG63Yg1x4/blCdf1YPCi
 ZIqcd7aAiKzQAsWylqpJCOvYlRsCDo4mY1HvpPi5mwCtjM9cYmi85L0CwLW/mgZ8
 NHLmzlUOOmbqwvHjjmocOFZnxmXlYRlO61S572Lc3H136KrveXv41m8YHubbr8K8
 8lt6NE8Cc11M7Ac=
 =LR29
 -----END PGP SIGNATURE-----

Merge tag 'pci-v6.17-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci

Pull pci fix from Bjorn Helgaas:

 - Fix mvebu PCI enumeration regression caused by converting to
   for_each_of_range() iterator (Klaus Kudielka)

* tag 'pci-v6.17-fixes-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci:
  PCI: mvebu: Fix use of for_each_of_range() iterator
2025-09-12 10:46:10 -07:00
Lucas De Marchi
2ec2945625 drm/xe/configfs: Fix documentation warning
Fix this warning while building the documentation:

	Documentation/gpu/xe/xe_configfs:9: drivers/gpu/drm/xe/xe_configfs.c:138:
	WARNING: Definition list ends without a blank line; unexpected unindent.

That also makes it better formatted in the output.

While at it, also fix the underline length in "Overview".

Fixes: e2b33fce5e ("drm/xe/configfs: Improve documentation steps")
Reviewed-by: Raag Jadav <raag.jadav@intel.com>
Link: https://lore.kernel.org/r/20250911-wa-bb-cmds-v4-2-c8f7e48f7eae@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2025-09-12 09:36:43 -07:00
Lucas De Marchi
c34f9868df drm/xe: Update workaround documentation
Bring it up to reality, better documenting the existing batch buffers,
OOB rules and fixing some typos.

Bspec: 60122
Reviewed-by: Stuart Summers <stuart.summers@intel.com>
Link: https://lore.kernel.org/r/20250911-wa-bb-cmds-v4-1-c8f7e48f7eae@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2025-09-12 09:36:43 -07:00
Linus Torvalds
965c995c9a drm fixes for 6.17-rc6
MAINTAINERS:
 - add rust tree to MAINTAINERS
 - fix X entries for nova/nouveau
 
 nova:
 - depend on 64-bit
 
 i915:
 - Fix size for for_each_set_bit() in abox iteration
 
 xe:
 - Don't touch survivability_mode on fini
 - Fixes around eviction and suspend
 - Extend Wa_13011645652 to PTL-H, WCL
 
 amdgpu:
 - PSP 11.x fix
 - DPCD quirk handing fix
 - DCN 3.5 PG fix
 - Audio suspend fix
 - OEM i2c clean up fix
 - Module unload memory leak fix
 - DC delay fix
 - ISP firmware fix
 - VCN fixes
 
 amdkfd:
 - P2P topology fix
 - APU mem limit calculation fix
 
 mediatek:
 - fix potential OF node use-after-free
 
 panthor:
 - out-of-bounds check
 
 nouveau:
 - revert waitqueue removal for sched teardown
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEEKbZHaGwW9KfbeusDHTzWXnEhr4FAmjDn2AACgkQDHTzWXnE
 hr6+bg//VqfUDERVM5/midDbpa8PCHN645tkMYXgids9lFoj4yzwnr8IlDnaQgIw
 0P+KeyFm/JpuKKPULi0xXD1A5M8mPJ1jgtIrWsL4DNXzvNmgSqMd+SX4GmhWfCOp
 ZtczGMyiO+QJQ0+3HkJ2+SCmi2TVQKHdJE0/tobhMdZTl+gMjmB6VVmWojuAbA21
 e+Yxq0UA5JAYWYWTaoKMgvX7HG9g/SplHmu8aosi+2FxgUAppC6Hvk00vlRmZOjH
 JQmFF+eDuZpMreIqe5x/Ng4gIrS1kXVdr6dFHS+6Me97KDxatsLvUXqmRzu3h007
 sNPZJLx2qysfTJP4hPb0n7d15nj6XpajM4ncwsxdWcvOI+hSdWfPChPJRCOFYNJy
 cEYF45gWfjrCpi9ldcNR+u4KYAUUbITapkkhJS0I6xy2l/roAKIvlZ4QJZDbYCYM
 PFCzC7FgyLleVLGkJIVZPr8SC6wa5mm7zoPo973HAhujPvDJvRHFuZWIxohQvc+j
 MsP+f+kiDeSowcBVuZrFlCnhIOxM/9eGR3NRof38AvWVj/mjNR6yu+2UMb4w6Vv8
 jglmoGFA1Up96oi+aq7yTPCO4YdX89Z5GBLS94Y66bQg/V+nAfmonRMSYBOdTEnN
 9v6Eb8GNzN0Dj6OyaAd5r4gTLtNuMu6d3S3W8l2LO6pI7bb3crM=
 =wPUA
 -----END PGP SIGNATURE-----

Merge tag 'drm-fixes-2025-09-12' of https://gitlab.freedesktop.org/drm/kernel

Pull drm fixes from Dave Airlie:
 "Weekly pull fixes for drm, mostly amdgpu and xe, with a revert for
  nouveau and some maintainers updates, and misc bits, doesn't seem too
  out of the normal.

  MAINTAINERS:
   - add rust tree to MAINTAINERS
   - fix X entries for nova/nouveau

  nova:
   - depend on 64-bit

  i915:
   - Fix size for for_each_set_bit() in abox iteration

  xe:
   - Don't touch survivability_mode on fini
   - Fixes around eviction and suspend
   - Extend Wa_13011645652 to PTL-H, WCL

  amdgpu:
   - PSP 11.x fix
   - DPCD quirk handing fix
   - DCN 3.5 PG fix
   - Audio suspend fix
   - OEM i2c clean up fix
   - Module unload memory leak fix
   - DC delay fix
   - ISP firmware fix
   - VCN fixes

  amdkfd:
   - P2P topology fix
   - APU mem limit calculation fix

  mediatek:
   - fix potential OF node use-after-free

  panthor:
   - out-of-bounds check

  nouveau:
   - revert waitqueue removal for sched teardown

* tag 'drm-fixes-2025-09-12' of https://gitlab.freedesktop.org/drm/kernel: (25 commits)
  MAINTAINERS: drm-misc: fix X: entries for nova/nouveau
  drm/mediatek: clean up driver data initialisation
  drm/mediatek: fix potential OF node use-after-free
  drm/amdgpu/vcn: Allow limiting ctx to instance 0 for AV1 at any time
  drm/amdgpu/vcn4: Fix IB parsing with multiple engine info packages
  drm/amd/amdgpu: Declare isp firmware binary file
  drm/amd/display: use udelay rather than fsleep
  drm/amdgpu: fix a memory leak in fence cleanup when unloading
  drm/xe: Extend Wa_13011645652 to PTL-H, WCL
  drm/xe: Block exec and rebind worker while evicting for suspend / hibernate
  drm/xe: Allow the pm notifier to continue on failure
  drm/xe: Attempt to bring bos back to VRAM after eviction
  drm/xe/configfs: Don't touch survivability_mode on fini
  amd/amdkfd: correct mem limit calculation for small APUs
  drm/amdkfd: fix p2p links bug in topology
  drm/amd/display: remove oem i2c adapter on finish
  drm/amd/display: Drop dm_prepare_suspend() and dm_complete()
  drm/amd/display: Correct sequences and delays for DCN35 PG & RCG
  drm/amd/display: Disable DPCD Probe Quirk
  drm/i915/power: fix size for for_each_set_bit() in abox iteration
  ...
2025-09-12 09:29:59 -07:00
Christophe Leroy
7dfd80f70e watchdog: mpc8xxx_wdt: Reload the watchdog timer when enabling the watchdog
When the watchdog gets enabled with this driver, it leaves enough time
for the core watchdog subsystem to start pinging it. But when the
watchdog is already started by hardware or by the boot loader, little
time remains before it fires and it happens that the core watchdog
subsystem doesn't have time to start pinging it.

Until commit 19ce9490aa ("watchdog: mpc8xxx: use the core worker
function") pinging was managed by the driver itself and the watchdog
was immediately pinged by setting the timer expiry to 0.

So restore similar behaviour by pinging it when enabling it so that
if it was already enabled the watchdog timer counter is reloaded.

Fixes: 19ce9490aa ("watchdog: mpc8xxx: use the core worker function")
Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:10:07 +02:00
Wolfram Sang
7c628fb8db watchdog: visconti: don't print superfluous errors
The watchdog core will handle error messages already.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.x90@mail.toshiba>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:10:06 +02:00
Wolfram Sang
28cee77baf watchdog: rzv2h_wdt: don't print superfluous errors
The watchdog core will handle error messages already.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:10:06 +02:00
Wolfram Sang
66036fa63a watchdog: rzg2l_wdt: don't print superfluous errors
The watchdog core will handle error messages already.

Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:34 +02:00
Sangwook Shin
9f2517f59d watchdog: s3c2410_wdt: exynosautov9: Enable supported features
Enable supported features for ExynosAutov9 SoC.
- QUIRK_HAS_DBGACK_BIT
- QUIRK_HAS_32BIT_CNT

Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Sangwook Shin <sw617.shin@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:33 +02:00
Sangwook Shin
c76c029ce5 watchdog: s3c2410_wdt: exynosautov920: Enable QUIRK_HAS_32BIT_CNT
Enable QUIRK_HAS_32BIT_CNT to ExynosAutov920 SoC which has 32-bit WTCNT.

Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Sangwook Shin <sw617.shin@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:33 +02:00
Sangwook Shin
a36c90ab4d watchdog: s3c2410_wdt: Increase max timeout value of watchdog
Increase max_timeout value from 55s to 3665038s (1018h 3min 58s) with
38400000 frequency system if the system has 32-bit WTCNT register.

cat /sys/class/watchdog/watchdog0/max_timeout
3665038

[    0.330082] s3c2410-wdt 10060000.watchdog_cl0: Heartbeat: count=1099511400000, timeout=3665038, freq=300000
[    0.330087] s3c2410-wdt 10060000.watchdog_cl0: Heartbeat: timeout=3665038, divisor=256, count=1099511400000 (fffffc87)
[    0.330127] s3c2410-wdt 10060000.watchdog_cl0: starting watchdog timer
[    0.330134] s3c2410-wdt 10060000.watchdog_cl0: Starting watchdog: count=0xfffffc87, wtcon=0001ff39
[    0.330319] s3c2410-wdt 10060000.watchdog_cl0: watchdog active, reset enabled, irq disabled

If the system has a 32-bit WTCNT, add QUIRK_HAS_32BIT_CNT to its quirk flags,
and it will operate with a 32-bit counter. If not, it will operate with a 16-bit
counter like in the previous version.

Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Sangwook Shin <sw617.shin@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:32 +02:00
Sangwook Shin
df3c6e0b6d watchdog: s3c2410_wdt: Fix max_timeout being calculated larger
Fix the issue of max_timeout being calculated larger than actual value.
The calculation result of freq / (S3C2410_WTCON_PRESCALE_MAX + 1) /
S3C2410_WTCON_MAXDIV is smaller than the actual value because the remainder
is discarded during the calculation process. This leads to a larger
calculated value for max_timeout compared to the actual settable value.
To resolve this issue, the order of calculations in the computation process
has been adjusted.

Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Signed-off-by: Sangwook Shin <sw617.shin@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:32 +02:00
Sangwook Shin
e76bb4ee92 watchdog: s3c2410_wdt: Replace hardcoded values with macro definitions
Modify the code to utilize macro-defined values instead of hardcoded
values. The value 0x100 in the s3c2410wdt_set_heartbeat function represents
S3C2410_WTCON_PRESCALE_MAX + 1, but it is hardcoded, making its meaning
difficult to understand and reducing code readability.

Reviewed-by: Sam Protsenko <semen.protsenko@linaro.org>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Signed-off-by: Sangwook Shin <sw617.shin@samsung.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:31 +02:00
Lad Prabhakar
73ea1e92be watchdog: rzv2h: Improve error strings and add newlines
Update rzv2h_wdt_probe() to provide clearer error strings when retrieving
the pclk, oscclk, and reset controller, and append missing newline
characters to dev_err_probe() and dev_warn() calls for proper log
formatting.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:31 +02:00
Lad Prabhakar
2b20697635 watchdog: rzv2h: Add support for RZ/T2H
Add support for the RZ/T2H watchdog timer. The RZ/T2H requires control of
the watchdog counter using the WDT Debug Control Register (WDTDCR), which
allows explicitly stopping and starting the counter. This behavior differs
from RZ/V2H, which doesn't have WDTDCR, so the driver is extended to handle
this requirement.

To support this, a new `wdtdcr` flag is introduced in the `rzv2h_of_data`
structure. When set, the driver maps the WDTDCR register and uses it to
control the watchdog counter in the start, stop, and restart callbacks.
Additionally, the clock divisor and count source for RZ/T2H are defined
to match its hardware configuration.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:30 +02:00
Lad Prabhakar
ef6080fec6 watchdog: rzv2h: Add support for configurable count clock source
Add support for selecting the count clock source used by the watchdog
timer. The RZ/V2H(P) SoC uses the LOCO as the count source, whereas on
RZ/T2H and RZ/N2H SoCs, the count source is the peripheral clock (PCLKL).

Introduce a `count_source` field in the SoC-specific data structure and
refactor the clock rate selection logic accordingly. This prepares the
driver for supporting the RZ/T2H and RZ/N2H SoCs, which differ in their
watchdog clocking architecture from RZ/V2H(P).

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:30 +02:00
Lad Prabhakar
6229b35298 watchdog: rzv2h: Make "oscclk" and reset controller optional
Update the rzv2h_wdt driver to make the "oscclk" clock and reset
controller optional.

Use devm_clk_get_optional_prepared() to obtain the "oscclk" clock,
allowing the driver to work on platforms that do not provide this clock,
such as the RZ/T2H SoC.

Similarly, use devm_reset_control_get_optional_exclusive() to allow the
driver to function on platforms that lack a reset controller.

These changes are preparatory steps for supporting the RZ/T2H SoC, which
does not provide an "oscclk" clock or a reset controller.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:29 +02:00
Lad Prabhakar
19f7eaec4d watchdog: rzv2h: Obtain clock-divider and timeout values from OF match data
Update the rzv2h_wdt driver to fetch clock configuration and timeout
parameters from device tree match data rather than relying on hardcoded
constants. Introduce a new structure rzv2h_of_data that encapsulates
minimum and maximum clock select values (cks_min and cks_max), clock
divider (cks_div), timeout cycle count (timeout_cycles), and the
timeout period select bits (tops). These values are provided through
the OF match table and retrieved via of_device_get_match_data() during
probe.

This change allows dynamic configuration of the watchdog timer for
different SoCs, such as the RZ/T2H, which require different settings.

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:29 +02:00
Lad Prabhakar
5cacd26436 dt-bindings: watchdog: renesas,wdt: Add support for RZ/T2H and RZ/N2H
Extend the Renesas WDT device tree bindings to support the watchdog timer
found on the RZ/T2H (R9A09G077) and RZ/N2H (R9A09G087) SoCs.

The RZ/T2H WDT is mostly compatible with the one found on the RZ/V2H(P),
but includes an additional register and differs in the clock division
ratio settings for the WDTCR[CKS] field. To reflect these differences,
introduce a new compatible string, "renesas,r9a09g077-wdt".

The binding schema is updated accordingly. On RZ/T2H, the WDT does not
require the "resets" property. It also requires two register regions and
the presence of a "power-domains" property. The "clock-names" property is
limited to a single entry, "pclk", for this SoC.

The RZ/N2H SoC uses the same WDT IP as the RZ/T2H. It is supported by
using "renesas,r9a09g087-wdt" as the primary compatible string, with
"renesas,r9a09g077-wdt" listed as a fallback to describe the shared
hardware features.

Example:
    wdt0: watchdog@80082000 {
        compatible = "renesas,r9a09g077-wdt";
        reg = <0 0x80082000 0 0x400>,
              <0 0x81295100 0 0x04>;
        clocks = <&cpg CPG_CORE R9A09G077_CLK_PCLKL>;
        clock-names = "pclk";
        power-domains = <&cpg>;
        status = "disabled";
    };

Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:28 +02:00
Guenter Roeck
bdbb4a2d2a watchdog: intel_oc_wdt: Do not try to write into const memory
The code tries to update the intel_oc_wdt_info data structure if the
watchdog is locked. That data structure is marked as const and can not
be written into. Copy it into struct intel_oc_wdt and modify it there
to fix the problem.

Reported-by: Petar Kulić <cooleech@gmail.com>
Cc: Diogo Ivo <diogo.ivo@siemens.com>
Fixes: 535d1784d8 ("watchdog: Add driver for Intel OC WDT")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Diogo Ivo <diogo.ivo@siemens.com>
Tested-by: Diogo Ivo <diogo.ivo@siemens.com>
Link: https://lore.kernel.org/linux-watchdog/20250818031838.3359-1-diogo.ivo@tecnico.ulisboa.pt/T/#t
Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
2025-09-12 18:06:28 +02:00
Linus Torvalds
cb780b79b2 Two smb3 client fixes, both for stable
-----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCgAdFiEE6fsu8pdIjtWE/DpLiiy9cAdyT1EFAmjDjK0ACgkQiiy9cAdy
 T1Fodgv/VLiUtR685w1bAdjgf0y/LKG1LKbewiC2p6Tk8I2auDn/gMRTMPbV+RFZ
 7fm2H/RVVOV9gDokWFWIjwe8FIEGuGlKpVGNtzn1fHKllL1/XpzaEgwmaKy+O4Cq
 7eNhXX1XQM7CdsnNnlxPfbtHqkyVbbkXJbzLjF0DY755iF47PUN5F679OVP4Vtlf
 LN/NHvPrOGVk4bxMx9Pd3VCkl98vqd9xFLAcwLR9hgsNF9Jcr2TaduRRsVXI9++C
 nQQpd/rjItOlrUALYECsiJyr82qZk52X4H2ibhPgGWaA9pemc/n6rW3C5q60Y8oy
 wfwL6vPEk/ob6Z7SD/MkbLtYlsXB5D63V0AglO/HX6Ahr5HQMp8/iZfRUpVr9H6N
 ysK/TagVQMpjjgtYv9nxBRvaOvolFVIMyVsOxC21lU4rZp2ojlS8f/y3vhPZ5cw2
 w2qlNlh8ZZ/QmqzKCn6FzutDSs4HPdWTQMbPW5N0hgUX2T6j/08k/VuZDRCEhn2e
 OkKraJRc
 =DheL
 -----END PGP SIGNATURE-----

Merge tag 'v6.17-rc5-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6

Pull smb client fixes from Steve French:
 "Two smb3 client fixes, both for stable:

   - Fix encryption problem with multiple compounded ops

   - Fix rename error cases that could lead to data corruption"

* tag 'v6.17-rc5-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
  smb: client: fix data loss due to broken rename(2)
  smb: client: fix compound alignment with encryption
2025-09-12 09:03:01 -07:00
Arnd Bergmann
6865ed7ddc i.MX fixes for 6.17, round 2:
- Fix mach-imx Kconfig to select the correct PIT timer option
   (Lukas Bulwahn)
 - Correct thermal sensor index for i.MX8MP device tree (Peng Fan)
 - Fix i.MX SCMI build error by adding stub API functions (Peng Fan)
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEFmJXigPl4LoGSz08UFdYWoewfM4FAmjEK90ACgkQUFdYWoew
 fM6wtQgAhfIwGwHu8Ae75BF7niTnNzFHGbAJCgSUxf6QlZEhNs2WT84/tZ34NhwV
 ltG9L5LFmomPWZ7p7hJT2MC9QdnEz6gj2mTMN3posDPCmbglcyLAx1/tArpAGCh7
 dxDWMp9OwUVYkiRhmSB6GTU43ZJ8qahtUgGoTHINEz6QLdEPy/RfJgQHaNh2l70V
 UlpLD58ek4sCzLqJOjuwXWK+UwwMlLT182FbVEB/hmowCiiR7QxDLhWhOipfIYA5
 GSjWs+KFbxYkuvRyaOywV+Sln8LFkAxzDJSkh378/7rSnb+sUnSDUIoje4Y9IQLu
 /W5M7aIDPINsBOrWFFy0j+MAfU6b+w==
 =DCrP
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjEQ5oACgkQmmx57+YA
 GNkLkg//csFYatHnX4USfxEgOnW9IqLtZG+HPweSmlgs5sNIRKM8uTuwgkj2oIYq
 rTqxef2h/Xrz5+ZOnjLY3enP3+OZLdJYow4zT6dI9RueHVcnLIGkX0cj7zUuWbkP
 PAjyHYDKxF9TufqEXmrRcCAGOJqp5Dt916o2FmYqVOtmu8+e3F2Yy71/BKN7rVP4
 pRX7JojpUnChZEmrK0okSWkdmBL810thDlL5Tre/SECRvYHg9eJuErwUYYARbnJB
 +ZFal7AJT/jmNaod2b6Rg85a9nQxk5tJGtidQ/dsUhG6voYIaLMg5LllmqBSO5Yc
 NpBwYJuE8NtJ3O3S67kva643aTy7B/0dADJ3Yz3XTzMgWxoZa08ssCpPrDmBFuto
 KSOebVbTOCY4btQswHw6FKybuMEyhEooKdodC/96D7bSStQ1ZuovmmVFGekb0Wcu
 cejTOir4ynrcrp9cri/5KkyIcIh/jcaDk2f1Y+SP8YUSVRWb1H3cjLNdApIEdUH8
 BSUuxoXG/lLRCr+gNVrjdXmU/wAqbqA2NahtKdN478HnTAsYLpP3qQcamZHPqcZC
 Fs9VzDm6U3V8HqNgHY37YFP9gAoQif0LJzljAp1RepnVUOWS6hh8QT9RgNOokHls
 Jwi1bktHd+FG93YOnJn4rITnbQripZP0dd2uZyAqAIhyh5aeJI0=
 =f1Vh
 -----END PGP SIGNATURE-----

Merge tag 'imx-fixes-6.17-2' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into arm/fixes

i.MX fixes for 6.17, round 2:

- Fix mach-imx Kconfig to select the correct PIT timer option
  (Lukas Bulwahn)
- Correct thermal sensor index for i.MX8MP device tree (Peng Fan)
- Fix i.MX SCMI build error by adding stub API functions (Peng Fan)

* tag 'imx-fixes-6.17-2' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux:
  arm64: dts: imx8mp: Correct thermal sensor index
  ARM: imx: Kconfig: Adjust select after renamed config option
  firmware: imx: Add stub functions for SCMI CPU API
  firmware: imx: Add stub functions for SCMI LMM API
  firmware: imx: Add stub functions for SCMI MISC API

Link: https://lore.kernel.org/r/aMQs2zr4fYl2DYVr@dragon
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-12 18:00:26 +02:00
Arnd Bergmann
32687c0663 SoCFPGA DTS fix for v6.17
- Fix midio bus probe and PHY address for cylone5 sodia board
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAmi9egMACgkQGZQEC4Gj
 KPRMKQ/+PtM7uvqvSaDRy7GrDUkFRoTmDGpzMnWhCKP62Fb2eWfzYAxaq7L5mF6H
 l0GChcXGsFhESRDXD0YyddfM9eODZteo3WPs5URSQVi2Cs1lCVnx8Q+3MJsurmo1
 G2nr6xNKhHvC+U7JU+IrmcQJ27IwldUphUSsvnSDnVnUmm9KDO3MZY0hOV5dq3fc
 o7JTGCXNpEWQddscFVuX5eHj0e4qe4NmIY8nFyaxM/YN2qvNrHRjyjgouJO8G1VR
 Jv9YIc1skb/HKG/4MEn5FHyhao4pGLfBINAlPbdZQneVAkll6cUVZ9Y/K4Yaofcn
 HPzxIknBjXxMVAJMbXaKilaReMiFbyp0liQsY6WbROCrt4t76gHShteNGJeQe27E
 wOCsecv53PIgsooEJsjFp7jJbjMBNGYXLxrGVOJOwANWe/m9UJ783ZpXSwgICn8j
 PErtuOrcfXVT6ZOcQ6dJXt3U0bDLm5q7oaFDmvdChA6hR3twyGRyspQEWAIOA+zP
 oAdCcrnRMNOrqXIRiU4Gej/HlRHvexn6jI5h2rnOtWPj/9LSqf2LDZ6mnRqM3wrN
 WfNeErDFuHQz5O5Tjk6HU01n0/RVxRziau2S830O80k12v/2udIADUuqfLx37wOT
 X5gGAjsxI60fJmJn0EelsfVkPdKhlSN+sJk+3yv/HDDiDa6b5y4=
 =TO5/
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjEQuQACgkQmmx57+YA
 GNngsA/9FEg+Up7srSnXTTU/g7QQ9YIQ2/SSU8t8E5LRmF1OUzpV2VloDTvDbc7s
 T1yUW2dxhcq2qhom1a4IeogvTkto4wSbn39Hi5mxVvYoVoZw871R2XlN4V2RDLgr
 634G0mL+Ii2NMlHW5f71zuDPxl5cb1dTYLyLd2OnbCMsnnnrKJvHpfKGKiujmjYx
 aMnn1bNJ04OhoT3XgcPyxnjYVdRxlgVAAVwI/+xTvShWp1FG4VONZODDrOkALoLa
 co+/U6ie4DigKQHW8tZ9iRPfysviLXZXkqeNNIMHCfio+rxjdPxdbtxtP22T454X
 fBzZz8aCo1tfJrh2xTAdKKu1lb2wcs6O3Y363pIdUdSz75CMeMK5uFtXrE36thRy
 XFamHL9bPd1jcKPXgVksITwrxyeUKEZWtxExUmH5kX3IqDJ1XDiVrtvG/2YqR51f
 YOpjP/46VhTuGMPOP+/zvkxX/FG5jGG4eY4dbRpgmt0YjcP7s7LgtihKMENr/4fM
 JeIPYAm2irh3bbzMUuEnzz/eJvJ8G4iZshAp+w+FBtqVuo2zDpGiBuEHPoXlVO1Q
 NetH6N0U7XEOydyj/tihWXCWVcK5EljLxzvaR11s33ilwXixVZJJZIgFBoAbxxFM
 cUbSTZ6PoyxFJ1QF4qfo43Uxpx1NCqmOTaoyAKQitIQRgdFsxUo=
 =0ZdW
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_dts_fix_for_v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into arm/fixes

SoCFPGA DTS fix for v6.17
- Fix midio bus probe and PHY address for cylone5 sodia board

* tag 'socfpga_dts_fix_for_v6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  ARM: dts: socfpga: sodia: Fix mdio bus probe and PHY address

Link: https://lore.kernel.org/r/20250907123058.175447-1-dinguyen@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-12 17:57:24 +02:00
Arnd Bergmann
bab62f5bdc Reset controller fixes for v6.17
* Fix an OF node reference leak in the EyeQ reset controller driver.
 -----BEGIN PGP SIGNATURE-----
 
 iI0EABYIADUWIQRRO6F6WdpH1R0vGibVhaclGDdiwAUCaLmwoRcccC56YWJlbEBw
 ZW5ndXRyb25peC5kZQAKCRDVhaclGDdiwPp4AP4xxeCKzQAIxjZalSNQd9BsWP+n
 bu/S1a0ciZv9XvkZ7gD/TbpSnvgZgnSh79qLosvOg/bBa7rWMxZKaVH7FiNbRgc=
 =P8IK
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjEQtAACgkQmmx57+YA
 GNljpg//fkFtBYPCnp1vxYs4SrAuBHrsi7S3IeQBV3PEjOLwTbz3rR4urdQ1uJMR
 ffZpCavNHlyNMvxUpJnUz3saFJm91AH4Kaz8dqPbFm7Ea5qDy+Sng7RaV/YQoRRi
 dvrTTQuOm9AXwLNCHknFQ2eefVAtuqix0+T0y+RjygxnFAMoy5i0XCDfEPRvKRaV
 D80rCFW5Dg5VGFcjD9mwbqmsdSB3/SYOwe3KVjyW8PAwjxR90pOM6zOuu43jAjrc
 FiWyyP1924yCafzAD1B43vn+psRGHytcWtY0l4wbMNh/JQbr72zcpGFFss82ORtG
 Uj+yOXzxyBdcJoeRdcF3KbL5SyLi4T879j9nsWDOiqL8o0U0xbNy6PNkaWyB1LB2
 iVpK943AdFUObleikpMxQSAAbiOWfrdZbHAvjgFRn0gj5OO+TaPFAHcbrOOcr4yO
 y3/PZMF5lsvZxZo0ExYNd+yH50FL/JyMvIr0ENkz8WKSDJmJz6h59cuKnS1wniJc
 8mUrSSq92bfhZIL91Gi6OHq/R5oAaUyelBw3U4j7VqYOj1xjGma/hVvo7VSizg2P
 OKIGpkILznd2D1gp91P2rCM2Qsf2lFg6P8B+7dA/VhZPJZ9esJaP0XnfdmCGSzmI
 mcK9oax6snQ4GSWqYO8Jr1RHX9IwNY4ZoRiTmcfAjdJtH5krObs=
 =aPgd
 -----END PGP SIGNATURE-----

Merge tag 'reset-fixes-for-v6.17' of https://git.pengutronix.de/git/pza/linux into arm/fixes

Reset controller fixes for v6.17

* Fix an OF node reference leak in the EyeQ reset controller driver.

* tag 'reset-fixes-for-v6.17' of https://git.pengutronix.de/git/pza/linux:
  reset: eyeq: fix OF node leak

Link: https://lore.kernel.org/r/20250904153345.2374313-1-p.zabel@pengutronix.de
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-12 17:57:03 +02:00
Arnd Bergmann
f1a43af7a9 mvebu fixes for 6.17 (part 1)
Fix SATA ports on various boards: Macchiatobin, CN913x-solidrun.
 Fix audio on Armada 370 DB and OpenRD.
 Disable eMMC high-speed modes on the CN9132 CEX-7 module.
 Disable runtime reconfiguration for PCIe lanes on the CN9132 CEX-7 module.
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCaMQ25gAKCRALBhiOFHI7
 1QnjAKCeVVCZSGova+vZ9rFY9fah+bYTyACgrGHfGRC1LjqXzQd0geLxn6gXfok=
 =4B7s
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjEQnkACgkQmmx57+YA
 GNl8bg/9G+XXYqVdl8hZ2JtvJcXC65tcn7gK1bRQLhkB/eZ2MNWOzNToPL2SMAih
 mnxbTysz2tNEqtEMd3fQNBeTiOmvVqxfvtM7PGiv9iEuD08LkTY9klKXsiq0/Ti1
 dz31lapGYooZE73vC/Z9ZfJLyS6SM3RcGASuNUOirMEO5gnJUGuHn717evr9szog
 8zj6mThqM0ejEQ4m3YVCS22YK0wSwyqLAtG5pCu44JkD+nRrjSo9M4m6SlO1bisT
 w4q6wRGAii9CrwrlLj5Ztjhb6xlwDDLv2mnw71wSLWsMvyQAxOaUBAVYK4ViLKwO
 I6chjdLLjFn9RHTrlXfDJ3PTE9CbmDh3jacTrMVUOzxE2KOT2a4KSQeiwzH3QBlx
 nZ59/dIDhOQwG7E5vMdikGDFCKNcwncC67cswNQhtGg+qXga3DB1aybTAcmd+0V8
 VTv/l5FMELWhDAvpynTLWJXtPib47FcQDpFHPmU3/ywAFrfQyQtsVqeFKXa1xqaH
 aN4DSBD1lkUJ2WRO0cXtOOHKRJxEWq8QqMNRPXE8HAQz4AG0CZY31dHAkwIm4MvQ
 7wIlZbJIF00hT/DV5KCdFVUf1NcsG++gvCrGT5CxtEP86/008NAQ9eYZR7CPsrMB
 cClW17R2ucN1K0L7SIL+bSvHqE2OOE6PevGXSy9zYcQI2YuaNkc=
 =IxNl
 -----END PGP SIGNATURE-----

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

mvebu fixes for 6.17 (part 1)

Fix SATA ports on various boards: Macchiatobin, CN913x-solidrun.
Fix audio on Armada 370 DB and OpenRD.
Disable eMMC high-speed modes on the CN9132 CEX-7 module.
Disable runtime reconfiguration for PCIe lanes on the CN9132 CEX-7 module.

* tag 'mvebu-fixes-6.17-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  arm64: dts: marvell: cn9132-clearfog: fix multi-lane pci x2 and x4 ports
  arm64: dts: marvell: cn9132-clearfog: disable eMMC high-speed modes
  arm64: dts: marvell: cn913x-solidrun: fix sata ports status
  ARM: dts: kirkwood: Fix sound DAI cells for OpenRD clients
  ARM64: dts: mcbin: fix SATA ports on Macchiatobin
  ARM: dts: armada-370-db: Fix stereo audio input routing on Armada 370

Link: https://lore.kernel.org/r/87ikhnn1pl.fsf@BLaptop.bootlin.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-09-12 17:55:37 +02:00
Antheas Kapenekakis
b595974b4a HID: asus: add Z13 folio to generic group for multitouch to work
The Asus Z13 folio has a multitouch touchpad that needs to bind
to the hid-multitouch driver in order to work properly. So bind
it to the HID_GROUP_GENERIC group to release the touchpad and
move it to the bottom so that the comment applies to it.

While at it, change the generic KEYBOARD3 name to Z13_FOLIO.

Reviewed-by: Luke D. Jones <luke@ljones.dev>
Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 17:36:14 +02:00
Raphael Gallais-Pou
129d617c60 ARM: dts: sti: remove dangling stih407-clock file
Following the removal of B2120 board support, the st/stih407-clock.dtsi
file has been left unused.  Remove it.

Fixes: dee546e1ad ("ARM: sti: drop B2120 board support")
Signed-off-by: Raphael Gallais-Pou <rgallaispou@gmail.com>
Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@foss.st.com>
2025-09-12 17:30:42 +02:00
Tomasz Pakuła
d927909d4d HID: pidff: Fix possible null pointer dereference
As reported by Dan Carpenter, if the axes_enable field wasn't found,
trying to find the axes themselves will result in a null pointer
dereference. This could only occur with a broken PID descriptor, but
it's worth protecting from.

Exit early if the axes_enable wasn't found AND add a gate to the
pidff_find_special_keys to exit early if the passed HID field is null.
This will protect again null dereferencing in the future and properly
return 0 found special keys.

Fixes: 1d72e7bd34 ("HID: pidff: Add support for AXES_ENABLE field")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Tomasz Pakuła <tomasz.pakula.oficjalny@gmail.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 17:29:19 +02:00
Zhang Lixu
8931f7b279 HID: intel-ish-ipc: Remove redundant ready check after timeout function
timed_wait_for_timeout() internally checks for ish_is_input_ready() and
ishtp_fw_is_ready() based on the provided parameters. If
timed_wait_for_timeout() returns 0, it indicates the status is ready. In
rare cases, another thread may send a message immediately after
timed_wait_for_timeout() returns, causing a subsequent ish_is_input_ready()
check to fail. Since the return value of timed_wait_for_timeout() is
sufficient to determine readiness, the additional ready check is
unnecessary and may introduce issues.

This patch removes the redundant check and relies solely on the return
value of timed_wait_for_timeout().

Fixes: ae02e5d40d ("HID: intel-ish-hid: ipc layer")
Signed-off-by: Zhang Lixu <lixu.zhang@intel.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 17:22:41 +02:00
Amit Chaudhari
831f70a5b9 HID: asus: add support for missing PX series fn keys
Add support for missing hotkey keycodes affecting Asus PX13 and PX16 families
so userspace can use them.

Signed-off-by: Amit Chaudhari <amitchaudhari@mac.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 17:20:27 +02:00
Sébastien Szymanski
2a5e76b9a0 HID: cp2112: fix setter callbacks return value
Since commit 6485543488 ("HID: cp2112: use new line value setter
callbacks"), setting a GPIO value always fails with error -EBADE.

That's because the returned value by the setter callbacks is the
returned value by the hid_hw_raw_request() function which is the number of
bytes sent on success or a negative value on error. The function
gpiochip_set() returns -EBADE if the setter callbacks return a value >
0.

Fix this by making the setter callbacks return 0 on success or a negative
value on error.

While at it, use the returned value by cp2112_gpio_set_unlocked() in the
direction_output callback.

Fixes: 6485543488 ("HID: cp2112: use new line value setter callbacks")
Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 17:15:19 +02:00
Benjamin Tissoires
4c2c5ff9f3 HID: bpf: rescan the device for the group after a load/unload
When a BPF gets loaded, it was previously not possible to bind a
hid-generic device to hid-multitouch because the group was never
updated.

This change forces a rescan of the report descriptor after a bpf is
loaded/unloaded so we set up the proper group.

This was detected while Peter was trying to fix a Viewsonic device: the
HID device sending multiotuch data through a proprietary collection was
handled by hid-generic, and we don't have any way of attaching it to
hid-multitouch because the pre-scanning wasn't able to see the Contact
ID HID usage.

Suggested-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 17:11:55 +02:00
Benjamin Tissoires
4e411a3f7b HID: core: factor out hid_set_group()
When we load a bpf, we can change the report descriptor. However, the
current implementation doesn't change the group meaning that we can not
rebind a device from hid-generic to hid-multitouch.

This is a preparatory patch to force a rescan of the device after the
bpf has been loaded.

Signed-off-by: Benjamin Tissoires <bentiss@kernel.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 17:11:55 +02:00
Janne Grunau
8599049a96 HID: lenovo: Use KEY_PERFORMANCE instead of ACPI's platform_profile
Commit 84c9d2a968 ("HID: lenovo: Support for ThinkPad-X12-TAB-1/2 Kbd
Fn keys") added a dependency on ACPI's platform_profile. This should not
be done for generic USB devices as this prevents using the devices on
non ACPI devices like Apple silicon Macs and other non-ACPI arm64
systems. An attempt to allow using platform_profile on non-ACPI systems
was rejected in [1] and instead platform_profile was made to fail during
init in commit dd133162c9 ("ACPI: platform_profile: Avoid initializing
on non-ACPI platforms").
So remove the broken dependency and instead let's user space handle this
keycode by sending the new KEY_PERFORMANCE. Stable backport depends on
commit 89c5214639 ("Input: add keycode for performance mode key").

[1]: https://lore.kernel.org/linux-acpi/CAJZ5v0icRdTSToaKbdf=MdRin4NyB2MstUVaQo8VR6-n7DkVMQ@mail.gmail.com/

Cc: regressions@lists.linux.dev
Cc: stable@vger.kernel.org
Fixes: 84c9d2a968 ("HID: lenovo: Support for ThinkPad-X12-TAB-1/2 Kbd Fn keys")
Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 16:59:05 +02:00
Jiri Kosina
12a0d4109d Merge commit '89c5214639' into for-6.17/upstream-fixes
This bringig in a KEY_PERFORMANCE definition, which a followup fix will depend
on.

Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 16:58:28 +02:00
Mallesh Koujalagi
4e1d3b5e64 drm/xe/hwmon: Remove type casting
Refactor: eliminate type casts by using proper u32
declarations.

v2:
- Address review comments. (Karthik)

v3:
- Use the proper u32 type and drop cast. (Lucas De Marchi)
- Modify variable when actually using u64 value.
- Change r value to reg_value with u32 type.

v4:
- Remove newline between trailer and Signed-off-by. (Lucas De Marchi)
- Change reg_val to val for more user-friendly logging.
- Use mul_u32_u32 function since both values are u32.

v5:
- mul_u32_u32 function with shift. (Lucas De Marchi)

Fixes: 7596d839f6 ("drm/xe/hwmon: Add support to manage power limits though mailbox")
Signed-off-by: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://lore.kernel.org/r/20250912113458.2815172-1-mallesh.koujalagi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2025-09-12 07:36:50 -07:00
Ling Xu
10df039834 misc: fastrpc: Skip reference for DMA handles
If multiple dma handles are passed with same fd over a remote call
the kernel driver takes a reference and expects that put for the
map will be called as many times to free the map. But DSP only
updates the fd one time in the fd list when the DSP refcount
goes to zero and hence kernel make put call only once for the
fd. This can cause SMMU fault issue as the same fd can be used
in future for some other call.

Fixes: 35a82b8713 ("misc: fastrpc: Add dma handle implementation")
Cc: stable@kernel.org
Co-developed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ling Xu <quic_lxu5@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Link: https://lore.kernel.org/r/20250912131236.303102-5-srini@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-09-12 16:34:10 +02:00
Ling Xu
da1ba64176 misc: fastrpc: fix possible map leak in fastrpc_put_args
copy_to_user() failure would cause an early return without cleaning up
the fdlist, which has been updated by the DSP. This could lead to map
leak. Fix this by redirecting to a cleanup path on failure, ensuring
that all mapped buffers are properly released before returning.

Fixes: c68cfb718c ("misc: fastrpc: Add support for context Invoke method")
Cc: stable@kernel.org
Co-developed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ling Xu <quic_lxu5@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Link: https://lore.kernel.org/r/20250912131236.303102-4-srini@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-09-12 16:34:10 +02:00
Ling Xu
9031626ade misc: fastrpc: Fix fastrpc_map_lookup operation
Fastrpc driver creates maps for user allocated fd buffers. Before
creating a new map, the map list is checked for any already existing
maps using map fd. Checking with just map fd is not sufficient as the
user can pass offsetted buffer with less size when the map is created
and then a larger size the next time which could result in memory
issues. Check for dma_buf object also when looking up for the map.

Fixes: c68cfb718c ("misc: fastrpc: Add support for context Invoke method")
Cc: stable@kernel.org
Co-developed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ling Xu <quic_lxu5@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Link: https://lore.kernel.org/r/20250912131236.303102-3-srini@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-09-12 16:34:10 +02:00
Ling Xu
8b5b456222 misc: fastrpc: Save actual DMA size in fastrpc_map structure
For user passed fd buffer, map is created using DMA calls. The
map related information is stored in fastrpc_map structure. The
actual DMA size is not stored in the structure. Store the actual
size of buffer and check it against the user passed size.

Fixes: c68cfb718c ("misc: fastrpc: Add support for context Invoke method")
Cc: stable@kernel.org
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Co-developed-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ekansh Gupta <ekansh.gupta@oss.qualcomm.com>
Signed-off-by: Ling Xu <quic_lxu5@quicinc.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Link: https://lore.kernel.org/r/20250912131236.303102-2-srini@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-09-12 16:34:10 +02:00
Michael Walle
810b790033 nvmem: layouts: fix automatic module loading
To support loading of a layout module automatically the MODALIAS
variable in the uevent is needed. Add it.

Fixes: fc29fd821d ("nvmem: core: Rework layouts to become regular devices")
Cc: stable@vger.kernel.org
Signed-off-by: Michael Walle <mwalle@kernel.org>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Link: https://lore.kernel.org/r/20250912131347.303345-2-srini@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-09-12 16:34:06 +02:00
Laurentiu Palcu
14be8b7b6c clk: imx95-blk-ctl: Save/restore registers when RPM routines are called
When runtime PM is used for clock providers that are part of a power
domain, the power domain supply is cut off during runtime suspend. This
causes all BLK CTL registers belonging to that power domain to reset. To
prevent this, save the state of the registers before entering suspend
and restore them on resume. Additionally, disable the APB clock during
suspend to minimize power consumption.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://lore.kernel.org/r/20250804131450.3918846-3-laurentiu.palcu@oss.nxp.com
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
2025-09-12 17:28:29 +03:00
Laurentiu Palcu
aa1735d72b clk: imx95-blk-ctl: Save platform data in imx95_blk_ctl structure
Add a platform data (pdata) member to struct imx95_blk_ctl to store the
result of of_device_get_match_data() during probe to avoid redundant
calls in suspend and resume functions.

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@oss.nxp.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Reviewed-by: Abel Vesa <abel.vesa@linaro.org>
Link: https://lore.kernel.org/r/20250804131450.3918846-2-laurentiu.palcu@oss.nxp.com
Signed-off-by: Abel Vesa <abel.vesa@linaro.org>
2025-09-12 17:28:28 +03:00
Jiri Kosina
2910913ef8 HID: steelseries: Fix STEELSERIES_SRWS1 handling in steelseries_remove()
srws1_remove label can be only reached only if LEDS subsystem is enabled. To
avoid putting horryfing ifdef second time around the label, just perform
the cleanup and exit immediately directly.

Fixes: a84eeacbf9 ("HID: steelseries: refactor probe() and remove()")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202509090334.76D4qGtW-lkp@intel.com/
Signed-off-by: Jiri Kosina <jkosina@suse.com>
2025-09-12 16:27:35 +02:00
Ovidiu Panait
82a051e255 staging: axis-fifo: flush RX FIFO on read errors
Flush stale data from the RX FIFO in case of errors, to avoid reading
old data when new packets arrive.

Commit c6e8d85faf ("staging: axis-fifo: Remove hardware resets for
user errors") removed full FIFO resets from the read error paths, which
fixed potential TX data losses, but introduced this RX issue.

Fixes: c6e8d85faf ("staging: axis-fifo: Remove hardware resets for user errors")
Cc: stable@vger.kernel.org
Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Link: https://lore.kernel.org/r/20250912101322.1282507-2-ovidiu.panait.oss@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-09-12 16:21:46 +02:00
Ovidiu Panait
6d07bee10e staging: axis-fifo: fix TX handling on copy_from_user() failure
If copy_from_user() fails, write() currently returns -EFAULT, but any
partially written data leaves the TX FIFO in an inconsistent state.
Subsequent write() calls then fail with "transmit length mismatch"
errors.

Once partial data is written to the hardware FIFO, it cannot be removed
without a TX reset. Commit c6e8d85faf ("staging: axis-fifo: Remove
hardware resets for user errors") removed a full FIFO reset for this case,
which fixed a potential RX data loss, but introduced this TX issue.

Fix this by introducing a bounce buffer: copy the full packet from
userspace first, and write to the hardware FIFO only if the copy
was successful.

Fixes: c6e8d85faf ("staging: axis-fifo: Remove hardware resets for user errors")
Cc: stable@vger.kernel.org
Signed-off-by: Ovidiu Panait <ovidiu.panait.oss@gmail.com>
Link: https://lore.kernel.org/r/20250912101322.1282507-1-ovidiu.panait.oss@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-09-12 16:21:46 +02:00
Colin Ian King
9e0b0fd531 drm/xe/guc: Fix spelling mistake "sheduling" -> "scheduling"
There is a spelling mistake in a xe_gt_err error message. Fix it.

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Link: https://lore.kernel.org/r/20250912074330.1275279-1-colin.i.king@gmail.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2025-09-12 07:20:32 -07:00
Harish Chegondi
2a810401aa drm/xe/xe3: Extend Wa_18041344222 to graphics IP versions 30.00 and 30.01
Apply WA 18041344222 to Xe3 LPG graphics IP versions 30.00 and 30.01 too.

Bspec: 56024
Cc: Matt Roper <matthew.d.roper@intel.com>
Cc: Matt Atwood <matthew.s.atwood@intel.com>
Cc: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Harish Chegondi <harish.chegondi@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Link: https://lore.kernel.org/r/7368f8059013424ac94f4a01c23f9c98a37b06dc.1757552915.git.harish.chegondi@intel.com
Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2025-09-12 07:20:32 -07:00
AngeloGioacchino Del Regno
ffe6a5d1dd arm64: dts: mediatek: mt8516-pumpkin: Fix machine compatible
This devicetree contained only the SoC compatible but lacked the
machine specific one: add a "mediatek,mt8516-pumpkin" compatible
to the list to fix dtbs_check warnings.

Fixes: 9983822c8c ("arm64: dts: mediatek: add pumpkin board dts")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Fei Shao <fshao@chromium.org>
Link: https://lore.kernel.org/r/20250724083914.61351-39-angelogioacchino.delregno@collabora.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
2025-09-12 16:18:04 +02:00