Commit graph

1,426,898 commits

Author SHA1 Message Date
Toke Høiland-Jørgensen
5498227676 net: openvswitch: Avoid needlessly taking the RTNL on vport destroy
The openvswitch teardown code will immediately call
ovs_netdev_detach_dev() in response to a NETDEV_UNREGISTER notification.
It will then start the dp_notify_work workqueue, which will later end up
calling the vport destroy() callback. This callback takes the RTNL to do
another ovs_netdev_detach_port(), which in this case is unnecessary.
This causes extra pressure on the RTNL, in some cases leading to
"unregister_netdevice: waiting for XX to become free" warnings on
teardown.

We can straight-forwardly avoid the extra RTNL lock acquisition by
checking the device flags before taking the lock, and skip the locking
altogether if the IFF_OVS_DATAPATH flag has already been unset.

Fixes: b07c26511e ("openvswitch: fix vport-netdev unregister")
Tested-by: Adrian Moreno <amorenoz@redhat.com>
Signed-off-by: Toke Høiland-Jørgensen <toke@redhat.com>
Acked-by: Eelco Chaudron <echaudro@redhat.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Link: https://patch.msgid.link/20251211115006.228876-1-toke@redhat.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-12-22 12:25:11 +01:00
Miaoqian Lin
1e5a541420 net: phy: mediatek: fix nvmem cell reference leak in mt798x_phy_calibration
When nvmem_cell_read() fails in mt798x_phy_calibration(), the function
returns without calling nvmem_cell_put(), leaking the cell reference.

Move nvmem_cell_put() right after nvmem_cell_read() to ensure the cell
reference is always released regardless of the read result.

Found via static analysis and code review.

Fixes: 98c485eaf5 ("net: phy: add driver for MediaTek SoC built-in GE PHYs")
Cc: stable@vger.kernel.org
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Daniel Golle <daniel@makrotopia.org>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20251211081313.2368460-1-linmq006@gmail.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-12-22 12:18:54 +01:00
Harald Freudenberger
71f9bc6f7c s390/ap/zcrypt: Revisit module param permissions
Revisit and rework module parameter permissions for AP bus and zcrypt
device drivers.

In general all sysfs permissions for AP bus and zcrypt parameters should be
0444 so that user space tools like lszcrypt can read the current value of
module parameters.

Some exceptions are only for some internal tweak parameters like
ap_msg_pool_min_items and zcrypt_mempool_threshold which should only be
readable by an administrator.

Signed-off-by: Harald Freudenberger <freude@linux.ibm.com>
Reviewed-by: Holger Dengler <dengler@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2025-12-22 12:11:32 +01:00
Haoxiang Li
15ef641a0c fjes: Add missing iounmap in fjes_hw_init()
In error paths, add fjes_hw_iounmap() to release the
resource acquired by fjes_hw_iomap(). Add a goto label
to do so.

Fixes: 8cdc3f6c5d ("fjes: Hardware initialization routine")
Cc: stable@vger.kernel.org
Signed-off-by: Haoxiang Li <lihaoxiang@isrc.iscas.ac.cn>
Signed-off-by: Simon Horman <horms@kernel.org>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20251211073756.101824-1-lihaoxiang@isrc.iscas.ac.cn
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-12-22 12:11:32 +01:00
Jens Remus
afa8fa52a4 s390/ptrace: Convert function macros to inline functions
Convert the function macros user_mode(), instruction_pointer(), and
user_stack_pointer() to inline functions, to align their definition
with x86 and arm64.

Use const qualifier on struct pt_regs pointer parameters to prevent
compiler warnings:

arch/s390/kernel/stacktrace.c: In function ‘arch_stack_walk_user_common’:
arch/s390/kernel/stacktrace.c:114:34: warning: passing argument 1 of
‘instruction_pointer’ discards ‘const’ qualifier from pointer target
type [-Wdiscarded-qualifiers]
...
arch/s390/kernel/stacktrace.c:117:48: warning: passing argument 1 of
‘user_stack_pointer’ discards ‘const’ qualifier from pointer target
type [-Wdiscarded-qualifiers]
...

While at it add const qualifier to all struct pt_regs pointer parameters
that are accessed read-only and use __always_inline instead of inline to
harmonize the helper functions.

[hca@linux.ibm.com: Use psw_bits() helper]

Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Jens Remus <jremus@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2025-12-22 12:11:31 +01:00
Heiko Carstens
b4780fe4dd s390/purgatory: Add -Wno-default-const-init-unsafe to KBUILD_CFLAGS
Add -Wno-default-const-init-unsafe to purgatory KBUILD_CFLAGS, similar
to scripts/Makefile.extrawarn, since clang generates warnings for the
dummy variable in typecheck():

    CC      arch/s390/purgatory/purgatory.o
      arch/s390/include/asm/ptrace.h:221:9: warning: default initialization of an object of type 'typeof (regs->psw)' (aka 'const psw_t') leaves the object uninitialized [-Wdefault-const-init-var-unsafe]
        221 |         return psw_bits(regs->psw).pstate;
            |                ^
      arch/s390/include/asm/ptrace.h:98:2: note: expanded from macro 'psw_bits'
         98 |         typecheck(psw_t, __psw);                \
            |         ^
      include/linux/typecheck.h:11:12: note: expanded from macro 'typecheck'
         11 |         typeof(x) __dummy2; \
            |                   ^

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2025-12-22 12:11:31 +01:00
Heiko Carstens
5ba35a6c13 s390/boot: Add -Wno-default-const-init-unsafe to KBUILD_CFLAGS
Add -Wno-default-const-init-unsafe to boot KBUILD_CFLAGS, similar to
scripts/Makefile.extrawarn, since clang generates warnings for the dummy
variable in typecheck():

    CC      arch/s390/boot/version.o
      arch/s390/include/asm/ptrace.h:221:9: warning: default initialization of an object of type 'typeof (regs->psw)' (aka 'const psw_t') leaves the object uninitialized [-Wdefault-const-init-var-unsafe]
        221 |         return psw_bits(regs->psw).pstate;
            |                ^
      arch/s390/include/asm/ptrace.h:98:2: note: expanded from macro 'psw_bits'
         98 |         typecheck(psw_t, __psw);                \
            |         ^
      include/linux/typecheck.h:11:12: note: expanded from macro 'typecheck'
         11 |         typeof(x) __dummy2; \
            |                   ^

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
2025-12-22 12:11:31 +01:00
Jacky Chou
d1a1a4bade net: mdio: aspeed: add dummy read to avoid read-after-write issue
The Aspeed MDIO controller may return incorrect data when a read operation
follows immediately after a write. Due to a controller bug, the subsequent
read can latch stale data, causing the polling logic to terminate earlier
than expected.

To work around this hardware issue, insert a dummy read after each write
operation. This ensures that the next actual read returns the correct
data and prevents premature polling exit.

This workaround has been verified to stabilize MDIO transactions on
affected Aspeed platforms.

Fixes: f160e99462 ("net: phy: Add mdio-aspeed")
Signed-off-by: Jacky Chou <jacky_chou@aspeedtech.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20251211-aspeed_mdio_add_dummy_read-v3-1-382868869004@aspeedtech.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-12-22 12:06:18 +01:00
Ethan Nelson-Moore
bf4172bd87 net: usb: sr9700: support devices with virtual driver CD
Some SR9700 devices have an SPI flash chip containing a virtual driver
CD, in which case they appear as a device with two interfaces and
product ID 0x9702. Interface 0 is the driver CD and interface 1 is the
Ethernet device.

Link: https://github.com/name-kurniawan/usb-lan
Link: https://www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=2185
Signed-off-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
Link: https://patch.msgid.link/20251211062451.139036-1-enelsonmoore@gmail.com
[pabeni@redhat.com: fixes link tags]
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2025-12-22 12:03:36 +01:00
Haotian Zhang
9517d76dd1 counter: 104-quad-8: Fix incorrect return value in IRQ handler
quad8_irq_handler() should return irqreturn_t enum values, but it
directly returns negative errno codes from regmap operations on error.

Return IRQ_NONE if the interrupt status cannot be read. If clearing the
interrupt fails, return IRQ_HANDLED to prevent the kernel from disabling
the IRQ line due to a spurious interrupt storm. Also, log these regmap
failures with dev_WARN_ONCE.

Fixes: 98ffe02529 ("counter: 104-quad-8: Migrate to the regmap API")
Suggested-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Haotian Zhang <vulab@iscas.ac.cn>
Link: https://lore.kernel.org/r/20251215020114.1913-1-vulab@iscas.ac.cn
Cc: stable@vger.kernel.org
Signed-off-by: William Breathitt Gray <wbg@kernel.org>
2025-12-22 20:03:23 +09:00
Ilpo Järvinen
ad415677b7 MAINTAINERS: Update Intel Quadrature Encoder Peripheral maintainer
Jarkko's address is going to bounce soon and I agreed to be the new
maintainer.

Acked-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20251014145905.4862-1-ilpo.jarvinen@linux.intel.com
Signed-off-by: William Breathitt Gray <wbg@kernel.org>
2025-12-22 19:44:58 +09:00
Alexander Sverdlin
23f9485510 counter: interrupt-cnt: Drop IRQF_NO_THREAD flag
An IRQ handler can either be IRQF_NO_THREAD or acquire spinlock_t, as
CONFIG_PROVE_RAW_LOCK_NESTING warns:
=============================
[ BUG: Invalid wait context ]
6.18.0-rc1+git... #1
-----------------------------
some-user-space-process/1251 is trying to lock:
(&counter->events_list_lock){....}-{3:3}, at: counter_push_event [counter]
other info that might help us debug this:
context-{2:2}
no locks held by some-user-space-process/....
stack backtrace:
CPU: 0 UID: 0 PID: 1251 Comm: some-user-space-process 6.18.0-rc1+git... #1 PREEMPT
Call trace:
 show_stack (C)
 dump_stack_lvl
 dump_stack
 __lock_acquire
 lock_acquire
 _raw_spin_lock_irqsave
 counter_push_event [counter]
 interrupt_cnt_isr [interrupt_cnt]
 __handle_irq_event_percpu
 handle_irq_event
 handle_simple_irq
 handle_irq_desc
 generic_handle_domain_irq
 gpio_irq_handler
 handle_irq_desc
 generic_handle_domain_irq
 gic_handle_irq
 call_on_irq_stack
 do_interrupt_handler
 el0_interrupt
 __el0_irq_handler_common
 el0t_64_irq_handler
 el0t_64_irq

... and Sebastian correctly points out. Remove IRQF_NO_THREAD as an
alternative to switching to raw_spinlock_t, because the latter would limit
all potential nested locks to raw_spinlock_t only.

Cc: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/all/20251117151314.xwLAZrWY@linutronix.de/
Fixes: a55ebd47f2 ("counter: add IRQ or GPIO based counter")
Signed-off-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Reviewed-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Reviewed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.kernel.org/r/20251118083603.778626-1-alexander.sverdlin@siemens.com
Signed-off-by: William Breathitt Gray <wbg@kernel.org>
2025-12-22 19:39:58 +09:00
Rob Herring (Arm)
5cd532f7f0 arm64: dts: apm: Drop "dma" device_type
The only supported cases of otherwise deprecated for FDT "device_type"
property are memory, cpu, and pci. "dma" is not valid, so drop it.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20251216-dt-apm-v1-4-0bf2bf8b982c@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2025-12-22 11:05:32 +01:00
Rob Herring (Arm)
a1176f7c5b arm64: dts: apm: Add "reg" to "syscon-reboot" and "syscon-poweroff"
As the nodes already have a unit-address, add the corresponding "reg"
entry which is preferred over "offset".

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20251216-dt-apm-v1-3-0bf2bf8b982c@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2025-12-22 11:05:31 +01:00
Rob Herring (Arm)
cae405d739 arm64: dts: apm: Use recommended i2c node names
Use the recommended node name of 'i2c' for the 'i2cslimpro' nodes.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20251216-dt-apm-v1-2-0bf2bf8b982c@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2025-12-22 11:05:31 +01:00
Rob Herring (Arm)
21bd5fb461 arm64: dts: apm/shadowcat: More clock clean-ups
A fixed-factor-clock only provides 1 clock, so "#clock-cells" must be 0.

The "snps,designware-i2c" node is not a clock provider, so drop
"#clock-cells.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20251216-dt-apm-v1-1-0bf2bf8b982c@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2025-12-22 11:05:30 +01:00
Rob Herring (Arm)
7dd84bbec2 ARM: dts: vexpress/v2m-rs1: Use documented arm,vexpress,config-bus child node names
Update the arm,vexpress,config-bus child node names to use the
documented ones. Most of these were updated a while back, but I missed
these.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com>
Link: https://patch.msgid.link/20251216191212.2879226-2-robh@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2025-12-22 11:05:00 +01:00
Rob Herring (Arm)
f25aa20e92 arm64: dts: cavium: Drop thunder2
The Cavium thunder2 DT support is incomplete. It consists of 4 cores
(out of 128) and only a serial port. The thunder2 specific drivers in
the kernel don't have DT support either. The few remaining users of
this platform likely use ACPI.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20251216180202.2794695-2-robh@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2025-12-22 11:04:37 +01:00
Rob Herring (Arm)
15e3ce5367 arm64: dts: cavium: thunder-88xx: Add missing PL011 "uartclk"
The PL011 IP has 2 clock inputs for UART core/baud and APB bus. The
Thunder2 SoC is missing the core "uartclk". In this case, the Linux
driver uses single clock for both clock inputs. Let's assume that's how
the h/w is wired and make the DT reflect that.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20251216180136.2794105-2-robh@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2025-12-22 11:03:58 +01:00
Rob Herring (Arm)
22fbe6e214 arm64: dts: toshiba: Use recommended node names
Update Toshiba TMPV7708 node name to the recommended standard node
names. Generally, node names and paths aren't considered ABI, so it
is safe to change them.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Reviewed-by: Nobuhiro Iwamatsu <nobuhiro.iwamatsu.x90@mail.toshiba>
Link: https://patch.msgid.link/20251216180055.2793215-2-robh@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2025-12-22 11:00:59 +01:00
Rob Herring (Arm)
714b5a789f arm64: dts: sprd: Use recommended node names
Update Spreadtrum platforms node name to the recommended standard node
names. Generally, node names and paths aren't considered ABI, so it
is safe to change them.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20251216180029.2792676-2-robh@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2025-12-22 10:59:28 +01:00
Rob Herring (Arm)
30ae131737 arm64: dts: lg: Use recommended simple-bus node name
Update LG LG131x 'amba' bus node name to 'amba-bus' following the
standard names for simple-bus nodes. Generally, node names and paths
aren't considered ABI, so it is safe to change them.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
Link: https://patch.msgid.link/20251216175951.2791921-2-robh@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2025-12-22 10:58:01 +01:00
Linus Walleij
c4c6db7ac5 MAINTAINERS: Fix a linusw mail address
The patch adding me to the SoC maintainers was in-flight at the
time I had to change my mail address. This fixes it up.

Signed-off-by: Linus Walleij <linusw@kernel.org>
Link: https://patch.msgid.link/20251216-maintainers-fix-v1-1-92f11231b27e@kernel.org
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2025-12-22 10:56:44 +01:00
Krzysztof Kozlowski
a3b80161fb TI K3 DT fixes for v6.19
- minor fixes for overlay files
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+KKGk1TrgjIXoxo03bWEnRc2JJ0FAmlACygACgkQ3bWEnRc2
 JJ2qVA//aKeZrA2jMhwpT2mliOLet9V2pa/F6/XlfBtvp5rSv27TARFSSPUkqvch
 ZjSxbo3JgDtdgYcc2ViAqDINZmpBue5BM2wJJEXtBb32Zjk5JD5GGGB85zYfqgCC
 hHhXmYGf0ct7mIl8X0PF+LhHg5gq6FtbOUx28mIPWh7yaNM7Z0WEdDihUg9GxgWM
 XEjcWXw2rRKD0StOFSQxvcSggstM/m+kde/mZkN9VfzPP9SsGzYg0jKfTWxtqYLm
 46CMzElg+WKw0Cs8us7Y7/Up9D0EV9S+AeiwfYMUNCdjasIi8iCoKrmaXlop0M9G
 WhlC1rTxJGhV1Zh+sSaPfNaDHxM3RY81l7iMgsBug+WyBuGppCw8dzDblbT4M1eX
 8y4VnG93fGadkwCrd7KiUlhn6wxVBN3BPqZQHalkZ5WegotsdtKi1qp7WrAzLXXU
 o2ugIJcZb6vOV1N0fWkRn8ZGAXaUiSI3uhAsXYQyn96MgZLqRJAdmJ3FXCq81Yad
 GLBl3KEZojQ+ZUHl10bNdSn6P2WbyKcrqS9Xz+WLGF/Nob1JI73pkL9h7iV5K49K
 +VqE/KagOLNLU8KLMGqCO6QkJ/Vg6VeZ/Uk3eRTOehPOuWomYMvXd8DGuGJleZpA
 5e9EmsE+mKfbOEoSMBjhLKEOZDGOgdOMskXH2bDYrkNnKFL5F9k=
 =r9i6
 -----END PGP SIGNATURE-----

Merge tag 'ti-k3-dt-fixes-for-v6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into arm/fixes

TI K3 DT fixes for v6.19

- minor fixes for overlay files

* tag 'ti-k3-dt-fixes-for-v6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux:
  arm64: dts: ti: k3-am62-lp-sk-nand: Rename pinctrls to fix schema warnings
  arm64: dts: ti: k3-am642-phyboard-electra-x27-gpio1-spi1-uart3: Fix schema warnings
  arm64: dts: ti: k3-am642-phyboard-electra-peb-c-010: Fix icssg-prueth schema warning

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2025-12-22 10:44:23 +01:00
Tvrtko Ursulin
a61bf068f1 drm/xe: Fix ggtt fb alignment
Pass the correct alignment from intel_fb_pin_to_ggtt() down to
__xe_pin_fb_vma().

Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Reported-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Closes: https://lore.kernel.org/intel-xe/aNL_RgLy13fXJbYx@intel.com/
Cc: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Fixes: b0228a337d ("drm/xe/display: align framebuffers according to hw requirements")
Cc: <stable@vger.kernel.org> # v6.13+
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patch.msgid.link/20251208181550.6618-1-tursulin@igalia.com
2025-12-22 10:28:01 +01:00
Johan Hovold
870b10f61d
ASoC: soc_sdw_utils: drop bogus container_of() error handling
The dev_to_sdw_dev() helper uses container_of() to return the containing
soundwire device structure of its pointer argument and will never return
NULL.

Fixes: 4f8ef33dd4 ("ASoC: soc_sdw_utils: skip the endpoint that doesn't present")
Cc: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://patch.msgid.link/20251219142715.19254-4-johan@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:14:53 +00:00
Johan Hovold
61a50d6f58
ASoC: codecs: wcd937x: drop bogus container_of() error handling
The dev_to_sdw_dev() helper uses container_of() to return the containing
soundwire device structure of its pointer argument and will never return
NULL.

Fixes: 9be3ec196d ("ASoC: codecs: wcd937x: add wcd937x codec driver")
Cc: Prasad Kumpatla <prasad.kumpatla@oss.qualcomm.com>
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://patch.msgid.link/20251219142715.19254-3-johan@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:14:52 +00:00
Johan Hovold
54fa71f5f9
ASoC: codecs: pm4125: drop bogus container_of() error handling
The dev_to_sdw_dev() helper uses container_of() to return the containing
soundwire device structure of its pointer argument and will never return
NULL.

Fixes: 8ad5294849 ("ASoC: codecs: add new pm4125 audio codec driver")
Cc: Alexey Klimov <alexey.klimov@linaro.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
Acked-by: Alexey Klimov <alexey.klimov@linaro.org>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Link: https://patch.msgid.link/20251219142715.19254-2-johan@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:14:51 +00:00
Mark Brown
06d65f2d47
Add Richtek RT8092 support
Merge series from cy_huang@richtek.com:

This patch series add rt8092 regulator support.
2025-12-22 09:12:28 +00:00
Dan Carpenter
c6bca73d69
ASoC: rt1320: Fix retry checking in rt1320_rae_load()
This loop iterates 200 times and then gives up.  The problem is that
currently the loop exits with "retry" set to -1 on the failure path but
the check for failure expects it to be 0.  Change from a post-op to a
pre-op so that it exits with "retry" set to 0.

Fixes: 22937af75a ("ASoC: rt1320: support RAE parameters loading")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Acked-by: Shuming Fan <shumingf@realtek.com>
Link: https://patch.msgid.link/aUZiNJ7pzuahXFYE@stanley.mountain
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:02:04 +00:00
Nathan Chancellor
9e692bb541
ASoC: rt1320: Change return type of rt1320_t0_load() to void
Clang warns (or errors with CONFIG_WERROR=y / W=e):

  sound/soc/codecs/rt1320-sdw.c:1387:6: error: variable 'ret' is used uninitialized whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
   1387 |         if (!fw_ready) {
        |             ^~~~~~~~~
  sound/soc/codecs/rt1320-sdw.c:1421:9: note: uninitialized use occurs here
   1421 |         return ret;
        |                ^~~
  sound/soc/codecs/rt1320-sdw.c:1387:2: note: remove the 'if' if its condition is always false
   1387 |         if (!fw_ready) {
        |         ^~~~~~~~~~~~~~~~
   1388 |                 dev_warn(dev, "%s, DSP FW is NOT ready\n", __func__);
        |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   1389 |                 goto _exit_;
        |                 ~~~~~~~~~~~~
   1390 |         }
        |         ~
  sound/soc/codecs/rt1320-sdw.c:1366:9: note: initialize the variable 'ret' to silence this warning
   1366 |         int ret;
        |                ^
        |                 = 0

The return value of rt1320_t0_load() is never actually used, so it can
just be eliminated altogether by returning void, clearing up the
warning.

Fixes: da1682d5e8 ("ASoC: rt1320: support calibration and temperature/r0 loading")
Reported-by: kernel test robot <lkp@intel.com>
Closes: https://lore.kernel.org/oe-kbuild-all/202512191711.wY6XU796-lkp@intel.com/
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Shuming Fan <shumingf@realtek.com>
Link: https://patch.msgid.link/20251219-rt1320-sdw-avoid-uninit-ret-v1-1-faa3e250ebc4@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:02:03 +00:00
Krzysztof Kozlowski
4ab48cc63e
ASoC: qcom: audioreach: Constify function arguments
Several functions receive pointers to parsed Audioreach topology (e.g.
'struct audioreach_container', 'struct audioreach_module') and they do
not modify their contents, but copy their data to send to the ADSP.
Constify the pointers for self-explanatory code (pointed memory is not
modified by the function) and a bit safer code.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20251219-b4-container-of-const-asoc-qcom-v2-5-05fd2ecc06fe@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:01:54 +00:00
Krzysztof Kozlowski
49675f5e75
ASoC: qcom: topology: Constify pointed snd_soc_tplg_dapm_widget
Several functions in topology.c receive pointers to 'struct
snd_soc_tplg_dapm_widget' and do not modify their contents.  Constify
the pointers for self-explanatory code (pointed memory is not modified
by the function) and a bit safer code.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20251219-b4-container-of-const-asoc-qcom-v2-4-05fd2ecc06fe@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:01:53 +00:00
Krzysztof Kozlowski
61fc95c4e3
ASoC: qcom: topology: Constify pointed DAPM widget structs
Few functions do not modify the pointed 'struct struct
snd_soc_dapm_widget', so the pointers can be made as pointers to const
for self-explanatory code (pointed memory is not modified by the
function) and a bit safer code.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20251219-b4-container-of-const-asoc-qcom-v2-3-05fd2ecc06fe@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:01:52 +00:00
Krzysztof Kozlowski
5e357c7e5e
ASoC: qcom: topology: Constify pointed ar control structs
audioreach_route_load() does not modify the pointed 'struct
audioreach_module' and functions for connecting subgraphs do not change
pointed 'struct snd_ar_control'.  Constify the pointers for
self-explanatory code (pointed memory is not modified by the function)
and a bit safer code.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20251219-b4-container-of-const-asoc-qcom-v2-2-05fd2ecc06fe@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:01:51 +00:00
Krzysztof Kozlowski
c4be067a7b
ASoC: qcom: topology: Constify pointed topology and vendor structs
Several functions in topology.c receive pointers to 'struct
snd_soc_tplg_vendor_array' and 'struct snd_soc_tplg_private', and do not
modify their contents.  Constify the pointers for self-explanatory code
(pointed memory is not modified by the function) and a bit safer code.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20251219-b4-container-of-const-asoc-qcom-v2-1-05fd2ecc06fe@oss.qualcomm.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:01:50 +00:00
Charles Keepax
99a3ef1e81 ASoC: SDCA: Add ASoC jack hookup in class driver
Add the necessary calls to the class driver to connect the ASoC jack
from the machine driver.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20251215153650.3913117-4-ckeepax@opensource.cirrus.com
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:00:58 +00:00
Charles Keepax
82e12800f5 ASoC: SDCA: Add ability to connect SDCA jacks to ASoC jacks
Add handling for the ASoC jack API to SDCA to allow user-space to be
hooked up normally.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20251215153650.3913117-3-ckeepax@opensource.cirrus.com
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:00:57 +00:00
Charles Keepax
3addd63d1f ASoC: SDCA: Factor out jack handling into new c file
The jack code is perhaps a bit large for being in the interrupt
code directly. Improve the encapsulation by factoring out the
jack handling code into a new c file, as is already done for HID
and FDL. Whilst doing so also add a jack_state structure to hold
the jack state for improved expandability in the future.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20251215153650.3913117-2-ckeepax@opensource.cirrus.com
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:00:56 +00:00
Chen-Yu Tsai
c81f30bde5
spi: sun6i: Support A523's SPI controllers
The A523 has four SPI controllers. One of them supports MIPI DBI mode
in addition to standard SPI.

Compared to older generations, this newer controller now has a combined
counter for the RX FIFO ad buffer levels. In older generations, the
RX buffer level was a separate bitfield in the FIFO status register.

In practice this difference is negligible. The buffer is mostly
invisible to the implementation. If programmed I/O transfers are limited
to the FIFO size, then the contents of the buffer seem to always be
flushed over to the FIFO. For DMA, the DRQ trigger levels are only tied
to the FIFO levels. In all other aspects, the controller is the same as
the one in the R329.

Support the standard SPI mode controllers using the settings for R329.
DBI is left out as there currently is no infrastructure for enabling a
DBI host controller, as was the case for the R329.

Also fold the entry for the R329 to make the style consistent.

Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://patch.msgid.link/20251221110513.1850535-3-wens@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:00:50 +00:00
Chen-Yu Tsai
e0c8755d44
spi: dt-bindings: sun6i: Add compatibles for A523's SPI controllers
The A523 has four SPI controllers. One of them supports MIPI DBI mode
in addition to standard SPI.

Compared to older generations, this newer controller now has a combined
counter for the RX FIFO ad buffer levels. In older generations, the
RX buffer level was a separate bitfield in the FIFO status register.

In practice this difference is negligible. The buffer is mostly
invisible to the implementation. If programmed I/O transfers are limited
to the FIFO size, then the contents of the buffer seem to always be
flushed over to the FIFO. For DMA, the DRQ trigger levels are only tied
to the FIFO levels. In all other aspects, the controller is the same as
the one in the R329.

Add new compatible strings for the new controllers.

Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Link: https://patch.msgid.link/20251221110513.1850535-2-wens@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:00:49 +00:00
Thomas Weißschuh
9c6552cc20
regulator: Add UAPI headers to MAINTAINERS
The regulator UAPI headers were missing an entry in MAINTAINERS, add it.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Link: https://patch.msgid.link/20251222-maintainers-regulator-v1-1-7572390fdf1b@linutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:00:43 +00:00
Thomas Weißschuh
b61104e7a6
regulator: uapi: Use UAPI integer type
Using libc types and headers from the UAPI headers is problematic as it
introduces a dependency on a full C toolchain.

Use the fixed-width integer type provided by the UAPI headers instead.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Link: https://patch.msgid.link/20251222-uapi-regulator-v1-1-a71c66eb1a94@linutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:00:42 +00:00
Bard Liao
a0c8ee09f9
ASoC: SOF: Intel: add -bt tplg suffix if BT is present
We need to distinguish the topologies with and without BT PCM.

Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Link: https://patch.msgid.link/20251219034937.3630569-1-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:00:36 +00:00
Mac Chiang
e4ca5ecc3c
ASoC: Intel: sof_sdw: shift SSP BT mask bits.
The SSP BT mask bits overlapped with SOC_SDW_CODEC_SPKR,
SOC_SDW_SIDECAR_AMPS, and SOC_SDW_CODEC_MIC BIT[15–17] in
sdw_utils.h. Shift the SSP BT mask bits to a higher range to
eliminate the conflict.

Signed-off-by: Mac Chiang <mac.chiang@intel.com>
Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Link: https://patch.msgid.link/20251219034902.3630537-1-yung-chuan.liao@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
2025-12-22 09:00:35 +00:00
Ding Hui
9b68a1cc96 RDMA/bnxt_re: Fix OOB write in bnxt_re_copy_err_stats()
Commit ef56081d18 ("RDMA/bnxt_re: RoCE related hardware counters
update") added three new counters and placed them after
BNXT_RE_OUT_OF_SEQ_ERR.

BNXT_RE_OUT_OF_SEQ_ERR acts as a boundary marker for allocating hardware
statistics with different num_counters values on chip_gen_p5_p7 devices.

As a result, BNXT_RE_NUM_STD_COUNTERS are used when allocating
hw_stats, which leads to an out-of-bounds write in
bnxt_re_copy_err_stats().

The counters BNXT_RE_REQ_CQE_ERROR, BNXT_RE_RESP_CQE_ERROR, and
BNXT_RE_RESP_REMOTE_ACCESS_ERRS are applicable to generic hardware, not
only p5/p7 devices.

Fix this by moving these counters before BNXT_RE_OUT_OF_SEQ_ERR so they
are included in the generic counter set.

Fixes: ef56081d18 ("RDMA/bnxt_re: RoCE related hardware counters update")
Reported-by: Yingying Zheng <zhengyingying@sangfor.com.cn>
Signed-off-by: Ding Hui <dinghui@sangfor.com.cn>
Link: https://patch.msgid.link/20251208072110.28874-1-dinghui@sangfor.com.cn
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Tested-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Leon Romanovsky <leon@kernel.org>
2025-12-22 03:56:35 -05:00
Sammy Malik
5d2905f2c6 staging: greybus: Remove completed PWM TODO item.
The pwm.c driver already uses pwm_ops::apply. This item was completed
in commit 832ce36f44 ("staging: greybus: introduce pwm_ops::apply")
but never removed from the TODO list.

Removed the outdated TODO item.

Signed-off-by: Sammy Malik <sammy@parkour.is>
Link: https://patch.msgid.link/20251220135613.226912-1-sammy@parkour.is
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-12-22 09:43:52 +01:00
Tim Wassink
8c47573508 staging: sm750fb: Rename CamelCase variable fixId to fix_id
The variable fixId violates the kernel coding style, which prefers
snake_case for variable names. Rename it to fix_id to match the
standard style.

This is a coding style change only.

Signed-off-by: Tim Wassink <timwassink.dev@gmail.com>
Link: https://patch.msgid.link/20251221153102.38178-1-timwassink.dev@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-12-22 09:43:25 +01:00
Johan Hovold
e31bac6d2c staging: greybus: arche-platform: fix OF populate on driver rebind
Since commit c6e126de43 ("of: Keep track of populated platform
devices") child devices will not be created by of_platform_populate()
if the devices had previously been deregistered individually so that the
OF_POPULATED flag is still set in the corresponding OF nodes.

Switch to using of_platform_depopulate() instead of open coding so that
the child devices are created if the driver is rebound.

Fixes: bc142bbb4c ("greybus: arche_platform: Remove child's platform device as part of _remove() fn")
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20251219105928.23329-4-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-12-22 09:43:11 +01:00
Johan Hovold
64c1fbe759 staging: greybus: arche-platform: fix memleak on probe failure
Make sure to depopulate the child devices in case of late probe
failures to avoid leaking the corresponding resources.

Fixes: fd60ac5856 ("greybus: arche-platform: Fix boot, poweroff and fw_flashing seq with APBs")
Signed-off-by: Johan Hovold <johan@kernel.org>
Link: https://patch.msgid.link/20251219105928.23329-3-johan@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-12-22 09:43:11 +01:00