summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-11-21serial: drop SERIAL_8250_DEPRECATED_OPTIONSJiri Slaby (SUSE)
In 3.7, 8250 was unintentionally renamed to 8250_core. This happened in the commit 835d844d1a28 (8250_pnp: do pnp probe before legacy probe). This made 8250.<xxxx> module options effectively defunct. Instead, 8250_core.<xxxx> worked. In 3.9, the commit f2b8dfd9e480 (serial: 8250: Keep 8250.<xxxx> module options functional after driver rename) made the original options work again by introducing a hack. Later in 3.9, the commit 9196d8acd7f9 (TTY: 8250, revert module name change) changed the module name back to 8250 (from 8250_core). Since then, the hack was there to support the transient 8250_core.<xxxx> options. Those were present only in the 3.7..3.9 range. These transient options were deprecated by 9326b047e4fd (TTY: 8250, deprecated 8250_core.* options) in v3.9 too. Now, after those 12 years, it is time to get rid of this hack completely. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Link: https://patch.msgid.link/20251119092457.826789-4-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21serial: xilinx_uartps: drop cdns_uart::cdns_uart_driverJiri Slaby (SUSE)
Provided the uart driver is available globally, there is no need to store a pointer to it in struct cdns_uart. Instead, use the global cdns_uart_uart_driver in the code directly. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Acked-by: Michal Simek <michal.simek@amd.com> Link: https://patch.msgid.link/20251119092457.826789-3-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21tty: vt: do not open code DIV_ROUND_UP()Jiri Slaby (SUSE)
Use the designated DIV_ROUND_UP() macro instead of explicit addition with division. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Link: https://patch.msgid.link/20251119092457.826789-2-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21serial: serial_core: use guard()sJiri Slaby (SUSE)
Use guards in the serial_core code. This improves readability, makes error handling easier, and marks locked portions of code explicit. All that while being sure the lock is unlocked. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Link: https://patch.msgid.link/20251119100140.830761-11-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21serial: serial_core: simplify uart_ioctl() returnsJiri Slaby (SUSE)
Neither uart_do_autoconfig(), nor uart_wait_modem_status() can return -ENOIOCTLCMD. The ENOIOCTLCMD checks are there to check if 'cmd' matched against TIOCSERCONFIG, and TIOCMIWAIT respectively. (With 0 or error in 'ret', it does not matter.) Therefore, the code can simply return from the TIOCSERCONFIG and TIOCMIWAIT spots immediately. To be more explicit, use 'if' instead of switch-case for those single values. And return without jumping to the 'out' label -- it can be removed too. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Link: https://patch.msgid.link/20251119100140.830761-10-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21tty: vt/keyboard: use guard()sJiri Slaby (SUSE)
Use guards in the vt/keyboard code. This improves readability, makes error handling easier, and marks locked portions of code explicit. All that while being sure the lock is unlocked. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Link: https://patch.msgid.link/20251119100140.830761-9-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21tty: vt/keyboard: simplify returns from vt_do_kbkeycode_ioctl()Jiri Slaby (SUSE)
Return immediately when something goes wrong in vt_do_kbkeycode_ioctl(). This makes the code flow more obvious. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Link: https://patch.msgid.link/20251119100140.830761-8-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21tty: vt/keyboard: use __free()Jiri Slaby (SUSE)
The vt/keyboard code can use __free to ensure the temporary buffers are freed. Perform the switch. And even one non-temporary in kbd_connect(). There are fail paths, so ensure the buffer is freed in them and not when returning 0 -- by retain_and_null_ptr(). Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Link: https://patch.msgid.link/20251119100140.830761-7-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21tty: moxa: use guard()sJiri Slaby (SUSE)
Use guards in the moxa code. This improves readability, makes error handling easier, and marks locked portions of code explicit. All that while being sure the lock is unlocked. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Link: https://patch.msgid.link/20251119100140.830761-6-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21tty: n_hdlc: use guard()sJiri Slaby (SUSE)
Use guards in the n_hdlc code. This improves readability, makes error handling easier, and marks locked portions of code explicit. All that while being sure the lock is unlocked. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Link: https://patch.msgid.link/20251119100140.830761-5-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21tty: n_hdlc: simplify return from n_hdlc_tty_ioctl()Jiri Slaby (SUSE)
The cases in the switch() of n_hdlc_tty_ioctl() can return immediately -- no need to store into error and return later. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Link: https://patch.msgid.link/20251119100140.830761-4-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21tty: n_tty: use guard()sJiri Slaby (SUSE)
Use guards in the n_tty code. This improves readability, makes error handling easier, and marks locked portions of code explicit. All that while being sure the lock is unlocked. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Link: https://patch.msgid.link/20251119100140.830761-3-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21tty: pty: use guard()sJiri Slaby (SUSE)
Use guards in the pty code. This improves readability, makes error handling easier, and marks locked portions of code explicit. All that while being sure the lock is unlocked. pty_set_pktmode() is handled specially -- the conditions are inverted and return called if conditions unmet. This avoid double nested 'if's. The variable is renamed to want_pktmode so it is not confused with the current state of pktmode. Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org> Link: https://patch.msgid.link/20251119100140.830761-2-jirislaby@kernel.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21Documentation/admin-guide: fix typo and comment in cscope exampleJiakai Xu
This patch updates the Linux documentation for cscope, fixing two issues: 1. Corrects the typo in the command line: c"scope -d -p10 -> cscope -d -p10 2. Fixes the related documentation comment for clarity and correctness: cscope by default cscope.out database. -> cscope by default uses the cscope.out database. Signed-off-by: Jiakai Xu <jiakaiPeanut@gmail.com> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Tested-by: Randy Dunlap <rdunlap@infradead.org> Signed-off-by: Jonathan Corbet <corbet@lwn.net> Message-ID: <20251119065727.3500015-1-jiakaiPeanut@gmail.com>
2025-11-21samples: work around glibc redefining some of our defines wrongLinus Torvalds
Apparently as of version 2.42, glibc headers define AT_RENAME_NOREPLACE and some of the other flags for renameat2() and friends in <stdio.h>. Which would all be fine, except for inexplicable reasons glibc decided to define them _differently_ from the kernel definitions, which then makes some of our sample code that includes both kernel headers and user space headers unhappy, because the compiler will (correctly) complain about redefining things. Now, mixing kernel headers and user space headers is always a somewhat iffy proposition due to namespacing issues, but it's kind of inevitable in our sample and selftest code. And this is just glibc being stupid. Those defines come from the kernel, glibc is exposing the kernel interfaces, and glibc shouldn't make up some random new expressions for these values. It's not like glibc headers changed the actual result values, but they arbitrarily just decided to use a different expression to describe those values. The kernel just does #define AT_RENAME_NOREPLACE 0x0001 while glibc does # define RENAME_NOREPLACE (1 << 0) # define AT_RENAME_NOREPLACE RENAME_NOREPLACE instead. Same value in the end, but very different macro definition. For absolutely no reason. This has since been fixed in the glibc development tree, so eventually we'll end up with the canonical expressions and no clashes. But in the meantime the broken headers are in the glibc-2.42 release and have made it out into distributions. Do a minimal work-around to make the samples build cleanly by just undefining the affected macros in between the user space header include and the kernel header includes. Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2025-11-21drm/xe/guc_ct: Cleanup ifdef'ryLucas De Marchi
Better split CONFIG_DRM_XE_DEBUG and CONFIG_DRM_XE_DEBUG_GUC optional parts from the main code, creating smaller ct_dead_* and fast_req_* interfaces. Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio@intel.com> Link: https://patch.msgid.link/20251119152157.1675188-2-lucas.demarchi@intel.com Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2025-11-21drm/xe/guc: Fix stack_depot usageLucas De Marchi
Add missing stack_depot_init() call when CONFIG_DRM_XE_DEBUG_GUC is enabled to fix the following call stack: [] BUG: kernel NULL pointer dereference, address: 0000000000000000 [] Workqueue: drm_sched_run_job_work [gpu_sched] [] RIP: 0010:stack_depot_save_flags+0x172/0x870 [] Call Trace: [] <TASK> [] fast_req_track+0x58/0xb0 [xe] Fixes: 16b7e65d299d ("drm/xe/guc: Track FAST_REQ H2Gs to report where errors came from") Tested-by: Sagar Ghuge <sagar.ghuge@intel.com> Cc: stable@vger.kernel.org # v6.17+ Reviewed-by: Stuart Summers <stuart.summers@intel.com> Link: https://patch.msgid.link/20251118-fix-debug-guc-v1-1-9f780c6bedf8@intel.com Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2025-11-21drivers/tty/vt: use umin() instead of min_t(u16, ...) for row/col limitsDavid Laight
The row/column bounds (for a screen window box) are changed from 'offset one' to 'offset zero' and bound to the screen size using: v->xs = min_t(u16, v->xs - 1, vc->vc_cols - 1); This has the side effect of converting zero to the limit. A check I'm adding to min_t() reports that (u16)(v->xs - 1) (etc) discards signiticant bits (because v->xs is promoted to 'int' before the addition). If v->xs is zero (it comes from userspace) it converts -1 to 0xffff. This is then bounded to 'vc->vc_cols - 1' which will be fine. Replace with: v->xs = umin(v->xs - 1, vc->vc_cols - 1); which again converts a -1 to unsigned - this time to 0xffffffff, with the same overall effect. Whether zero is meant to mean the 'maximum size' is unknown. I can't find any documentation for the ioctl and it pre-dates git. Detected by an extra check added to min_t(). Signed-off-by: David Laight <david.laight.linux@gmail.com> Reviewed-by: Jiri Slaby <jirislaby@kernel.org> Link: https://patch.msgid.link/20251119224140.8616-28-david.laight.linux@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-11-21drm/imagination: Document pvr_device.power memberMatt Coster
Automated testing caught this missing doc comment; add something suitable (and useful). Fixes: 330e76d31697 ("drm/imagination: Add power domain control") Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Closes: https://lore.kernel.org/r/20251106152448.453b53ad@canb.auug.org.au/ Reviewed-by: Alessio Belle <alessio.belle@imgtec.com> Link: https://patch.msgid.link/20251121-device-power-doc-fix-v2-1-3417779f36c7@imgtec.com Signed-off-by: Matt Coster <matt.coster@imgtec.com>
2025-11-21platform: arm64: thinkpad-t14s-ec: sleep after EC accessSebastian Reichel
The ACPI ECRD and ECWR functions have a 10ms sleep at the end. It turns out, that this is sometimes needed to avoid I2C transmission failures, especially for functions doing regmap_update_bits (and thus read + write shortly after each other). This fixes problems like the following appearing in the kernel log: leds platform::micmute: Setting an LED's brightness failed (-6) leds platform::kbd_backlight: Setting an LED's brightness failed (-6) The ACPI QEVT function used to read the interrupt status register also has a 10ms sleep at the end. Without that there are problems with reading multiple events following directly after each other resulting in the following error message being logged: thinkpad-t14s-ec 4-0028: Failed to read event Fixes: 60b7ab6ce030 ("platform: arm64: thinkpad-t14s-ec: new driver") Signed-off-by: Sebastian Reichel <sre@kernel.org> Link: https://patch.msgid.link/20251119-thinkpad-t14s-ec-improvements-v2-2-441219857c02@kernel.org Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-11-21platform: arm64: thinkpad-t14s-ec: fix IRQ race conditionSebastian Reichel
Fix a race condition, that an input key related interrupt might be triggered before the input handler has been registered, which results in a NULL pointer dereference. This can happen if the user enables the keyboard backlight shortly before the driver is being probed. This fixes the following backtrace visible in dmesg: Unable to handle kernel NULL pointer dereference at virtual address 00000000000000e0 ... Call trace: sparse_keymap_report_event+0x2c/0x978 [sparse_keymap] (P) t14s_ec_irq_handler+0x190/0x3e8 [lenovo_thinkpad_t14s] irq_thread_fn+0x30/0xb8 irq_thread+0x18c/0x3b0 kthread+0x148/0x228 ret_from_fork+0x10/0x20 Fixes: 60b7ab6ce030 ("platform: arm64: thinkpad-t14s-ec: new driver") Signed-off-by: Sebastian Reichel <sre@kernel.org> Reviewed-by: Bryan O'Donoghue <bod@kernel.org> Link: https://patch.msgid.link/20251119-thinkpad-t14s-ec-improvements-v2-1-441219857c02@kernel.org Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-11-21regulator: Add FP9931/JD9930Mark Brown
Merge series from Andreas Kemnade <andreas@kemnade.info>: Add a driver for the FP9931/JD9930 regulator which provides the comparatively high voltages needed for electronic paper displays. Datasheet for the FP9931 is at https://www.fitipower.com/dl/file/flXa6hIchVeu0W3K Although it is in English, it seems to be only downloadable from the Chinese part of that website. For the JD9930 there can be a datasheet found at https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/196/JD9930_2D00_0.7_2D00_JUN_2D00_2019.pdf To simplify things, include the hwmon part directly which is only one register read and there are not other functions besides regulators in this chip.
2025-11-21Merge tag 'mhi-for-v6.19' of ↵Greg Kroah-Hartman
ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mani/mhi into char-misc-next Manivannan writes: MHI Host ======== - Add support for Telit FE990B40 and Foxconn T99W760 modems MHI Endpoint ============ - Make 'struct mhi_ep_bus_type' const as the driver core now handles the const bus_type. - Add WQ_PERCPU flag to alloc_workqueue() as a part of the workqueue refactoring * tag 'mhi-for-v6.19' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mani/mhi: bus: mhi: host: pci_generic: Add Foxconn T99W760 modem bus: mhi: ep: add WQ_PERCPU to alloc_workqueue users bus: mhi: host: pci_generic: Add Telit FE990B40 modem support bus: mhi: ep: Make mhi_ep_bus_type const
2025-11-21ASoC: Intel: avs: Replace snprintf() with scnprintf()HariKrishna Sagala
snprintf() as defined by the C99 standard,returns the number of characters that *would have been* written if enough space were available.Use scnprintf() that returns the actual number of characters written. Link: https://github.com/KSPP/linux/issues/105 Signed-off-by: HariKrishna Sagala <hariconscious@gmail.com> Link: https://patch.msgid.link/20251113142637.259737-2-hariconscious@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
2025-11-21Merge tag 'qcom-arm64-for-6.19' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt Qualcomm Arm64 DeviceTree updates for v6.19 Introduce support for the Redxa Dragon Q6A development board, the Huawei MateBoot E 2019, the Asus ZenFone 2 Laser/Selfie, the MSM8937 platform and the Xiaomo Redmi 3S device based on it. SoC dtsi files for Agatti, Hamoa, Kodiak, Monaco, Purwa, and Talos, are renamed in order to better facilitate the addition of new boards on the various SKUs of these. Cooling maps are introduced for the CPU cores in IPQ5424, and the network subsystem clock controller is added. On Lemans, RTC is enabled, the EVK fan controller is described and a camera mezzanine overlay is introduced. Touchscreen support is added to the BQ Aquaris M5, and the touchscreen from Samsung Galaxy Core Prime is moved to the common platform to benefit the other devices sharing common definitions. On Agatti two more UARTs are described, as well as APR and the related audio services, and the LPASS LPI pin controller. The RB1 board gets HDMI autio playback support. On Kodiak-based targets, Fairphone FP5 gains definitions of the UW camera actuator, regulator for the ToF sensor, and haptic module. The SHIFT SHIFTphone 8 gains RGB and flash LEDs, and Venus support. The Rb3Gen2 development board gets QUP firmware path defined, to support dynamic loading of the serial engine firmware. Kodiak also gains Coresight devices for AOSS and QDSS blocks. Display support is added for the Talos platform, and enabled on the Ride board. Talos also gains the definitions to scale DDR and L3 interconnects. On SC8280XP, the camera privacy indicator on Lenovo Thinkpad X13s is connected to the camera stack. Off-by-one GPI DMA channels are corrected. The SDM845-based LG and OnePlus custom defined rmtfs guard pages are replaced with the inline-support for guard pages. SDX75 DWC3 node is flattened and marked for USB role switching. On SM8550, the camera subsystem and the S5K3M5 camera sensor is introduced for the QRD, and an overlay for the "Rear Camera Card" for the Hardware Development Kit (HDK) is introduced. USB support is introduce for the SM8750 platform, and enabled in the MTP and QRD devices. On Hamoa, like on other devices the Asus Zenbook A14 definition of the eDP panel is reworked to support both LCD and OLED configurations. WiFi and Bluetooth is also enabled on the A14. The CRD gains support for controlling charge limits. The refgen regulator supplying DSI is defined and wired up on a variety of platforms. * tag 'qcom-arm64-for-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: (138 commits) arm64: dts: qcom: sdx75: Add missing usb-role-switch property arm64: dts: qcom: sdx75: Flatten usb controller node arm64: dts: qcom: HAMOA-IOT-SOM: Unreserve GPIOs blocking SPI11 access arm64: dts: qcom: qrb2210-rb1: Fix UART3 wakeup IRQ storm Revert "arm64: dts: qcom: sc7280: Increase config size to 256MB for ECAM feature" arm64: dts: qcom: kodiak: add coresight nodes arm64: dts: qcom: sdm845-oneplus: Describe TE gpio arm64: dts: qcom: sdm845-oneplus: Implement panel sleep pinctrl arm64: dts: qcom: sdm845-oneplus: Group panel pinctrl arm64: dts: qcom: sdm845-oneplus: Update compatbible and add DDIC supplies arm64: dts: qcom: qcs6490-rb3gen2: Rename vph-pwr regulator node arm64: dts: qcom: qcm6490-fairphone-fp5: Add UW cam actuator arm64: dts: qcom: qcm6490-fairphone-fp5: Enable CCI pull-up arm64: dts: qcom: sm8750: Add USB support for SM8750 QRD platform arm64: dts: qcom: sm8750: Add USB support for SM8750 MTP platform arm64: dts: qcom: sm8750: Add USB support to SM8750 SoCs arm64: dts: qcom: rename x1p42100 to purwa arm64: dts: qcom: rename sc7280 to kodiak arm64: dts: qcom: rename qcm2290 to agatti arm64: dts: qcom: add gpu_zap_shader label ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21Merge tag 'qcom-arm32-for-6.19' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux into soc/dt Qualcomm Arm32 DeviceTree updates for v6.19 In addition to a variety of cleanups and reordering of nodes, four GSBIs are added to the MSM8960 platform. On the MSM8226-based Samsung Galaxy Grand 2, a simple framebuffer is defined. * tag 'qcom-arm32-for-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/qcom/linux: ARM: dts: qcom: msm8226-samsung-ms013g: add simple-framebuffer ARM: dts: qcom: msm8960: rename msmgpio node to tlmm ARM: dts: qcom: msm8960: add I2C nodes for gsbi1 and gsbi8 ARM: dts: qcom: msm8960: add I2C nodes for gsbi10 and gsbi12 ARM: dts: qcom: msm8960: inline qcom-msm8960-pins.dtsi ARM: dts: qcom: msm8960: reorder nodes and properties Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21Merge tag 'omap-for-v6.19/dt-signed' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap into soc/dt Misc. DT updates, mostly for AM3 platforms. * tag 'omap-for-v6.19/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap: ARM: dts: ti/omap: fix incorrect compatible string in internal eeprom node ARM: dts: omap: am335x-mba335x: Fix stray '/*' in comment ARM: dts: omap: am335x-tqma335x/mba335x: Fix MicIn routing dt-bindings: mmc: ti,omap2430-sdhci: convert to DT schema arm: dts: ti: omap: Drop unnecessary properties for SDHCI node arm: dts: ti: omap: am335x-pepper: Fix vmmc-supply property typo ARM: dts: omap3: n900: Correct obsolete TWL4030 power compatible ARM: dts: omap3: beagle-xm: Correct obsolete TWL4030 power compatible ARM: dts: omap: Add support for TQMa335x/MBa335x ARM: dts: omap: AM33xx: add cpu label dt-bindings: omap: add AM335x-based TQMa335x SOM and MBa335x board ARM: dts: am335x-netcom-plus-2xx: add missing GPIO labels ARM: dts: ti: omap: am335x-baltos: add a regulator for the mPCIe slot ARM: dts: omap: rework Baltos LED nodes ARM: dts: am33xx: Add missing serial console speed Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21Merge tag 'at91-dt-6.19' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt Microchip AT91 device tree updates for v6.19 This update includes: - FIFO size fixes for some Flexcom UARTs and SPIs * tag 'at91-dt-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux: ARM: dts: microchip: sama5d2: fix spi flexcom fifo size to 32 ARM: dts: microchip: sama7g5: fix uart fifo size to 32 ARM: dts: microchip: sama7d65: fix uart fifo size to 32 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21drm/i915/psr: Reject async flips when selective fetch is enabledVille Syrjälä
The selective fetch code doesn't handle asycn flips correctly. There is a nonsense check for async flips in intel_psr2_sel_fetch_config_valid() but that only gets called for modesets/fastsets and thus does nothing for async flips. Currently intel_async_flip_check_hw() is very unhappy as the selective fetch code pulls in planes that are not even async flips capable. Reject async flips when selective fetch is enabled, until someone fixes this properly (ie. disable selective fetch while async flips are being issued). Cc: stable@vger.kernel.org Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patch.msgid.link/20251105171015.22234-1-ville.syrjala@linux.intel.com Reviewed-by: Jouni Högander <jouni.hogander@intel.com>
2025-11-21ASoC: codecs: wcd934x: add explicit soundwire depenencySrinivas Kandagatla
WCD934x provides register read/write interface to soundwire controller via slimbus. Eventhough there was no direct compile time dependency for this so far, however after adding common wcd functions this dependency became explict. We can either move the soundwire specific bits from wcd-common to wcd-sdw.c or something on those lines or explicity add this dependency in Kconfig. Moving this wcd-sdw can fix reported compile issue but it does not make sense to select this codec without soundwire configs. Given the fact that WCD934x is very much providing soundwire functionality it is better to specify the soundwire dependency explicity in Kconfig which should also fix the below compile time error with combination of wcd934x a built-in and soundwire a module and also allow this codec selection only when soundwire is available. Error log: wcd-common.c:undefiined reference to `sdw_write' sound/soc/codecs/wcd-common.o: in function `wcd_bus_config': Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202511210405.zd9wig5Z-lkp@intel.com/ Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@oss.qualcomm.com> Link: https://patch.msgid.link/20251121143258.229138-1-srinivas.kandagatla@oss.qualcomm.com Signed-off-by: Mark Brown <broonie@kernel.org>
2025-11-21Merge tag 'ti-k3-dt-for-v6.19' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux into soc/dt TI K3 device tree updates for v6.19 Generic fixes and cleanups: * Multiple SoCs: Disable CPSW in SoC files and enable them in board files for better board-level control * Replace rgmii-rxid with rgmii-id for CPSW ports across multiple boards New Boards/SoM: * AM62L SoC and basic support for EVM * Toradex Aquila AM69 board support * Kontron SMARC-sAM67 module and ADS2 carrier board support Platform wide: * Define possible system states amd wakeup-source (AM62/AM62A/AM62P) SoC/EVM specific changes: AM62: * Add RNG node * Add OLDI support AM62P: * Move audio_refclk to common main dtsi (k3-am62p-j722s-common-main) * Fix memory ranges for GPU AM62D2: * Enable PMIC support on EVM * Misc fixes AM64: * Add DMA support for TSCADC on EVM AM69: * Add Aquila board support with Clover variant J722S: * Fix audio refclk source in main dtsi * Explicitly use PLL1_HSDIV6 audio refclk for EVM J784S4/J742S2: * Add bootph-all tag to support PCIe boot Variscite VAR-SOM-AM62P: * Add support for ADS7846 touchscreen * Add support for WM8904 audio codec * tag 'ti-k3-dt-for-v6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/ti/linux: (42 commits) arm64: dts: ti: k3-am62l: add initial reference board file arm64: dts: ti: k3-am62l: add initial infrastructure dt-bindings: arm: ti: Add binding for AM62L SoCs arm64: dts: ti: am69-aquila: Add Clover arm64: dts: ti: Add Aquila AM69 Support dt-bindings: arm: ti: add Toradex Aquila AM69 arm64: dts: ti: k3-j721s2: disable "mcu_cpsw" in SoC file and enable in board files arm64: dts: ti: k3-j721e: disable "mcu_cpsw" in SoC file and enable it in board file arm64: dts: ti: k3-j7200: disable "mcu_cpsw" in SoC file and enable in board file arm64: dts: ti: k3-am65: disable "mcu_cpsw" in SoC file and enable in board file arm64: dts: ti: k3-am62: disable "cpsw3g" in SoC file and enable in board file arm64: dts: ti: k3-am62p5-sk: Set wakeup-source system-states arm64: dts: ti: k3-am62a7-sk: Set wakeup-source system-states arm64: dts: ti: k3-am62-lp-sk: Set wakeup-source system-states arm64: dts: ti: k3-am62p: Define possible system states arm64: dts: ti: k3-am62a: Define possible system states arm64: dts: ti: k3-am62: Define possible system states arm64: dts: ti: k3-am62p-j722s-common-main: move audio_refclk here arm64: dts: ti: k3-*: Replace rgmii-rxid with rgmii-id for CPSW ports arm64: dts: ti: k3-am642-tqma64xxl: add boot phase tags ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21Merge tag 'socfpga_dts_updates_for_v6.19' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into soc/dt SoCFPGA DTS updates for v6.19 - Add 4-bit SPI bus width(n5x, stratix10, agilex and agilex5) - Agilex5 updates: - Add GMAC0 for NAND daughter card - Add SMMU support - Add VGIC maintenance interrupt - Add L2 and L3 cache - Add support for the 013b board - Add I3C support - Add support for the Enclustra Mercury+ SA1 SoM based on Cyclone5 - Add support for Agilex3 board(a variant of the Agilex5 board) - dt-bindings update: - Document iommu in cdns,hp-nfc, snps,dw-axi-dmac and Agilex5 - Document Enclustra Mercury SA1 and AA1 boards - Document Agilex5 013b board - Document Agilex3 board - Fix dtbs_check warnings: - stratix10-swvp - Agilex(NAND and Clock manager) - Move sdmmc-ecc to base DTSI file(Stratix10) * tag 'socfpga_dts_updates_for_v6.19' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux: (35 commits) arm64: dts: socfpga: agilex5: update qspi partitions for 013b board arm64: dts: socfpga: add Agilex3 board dt-bindings: intel: Add Agilex3 SoCFPGA board arm64: dts: intel: agilex5: Add Altera compatible for I3C controllers arm64: dts: socfpga: Add Agilex5 SVC node with memory region dt-bindings: firmware: svc: Add IOMMU support for Agilex5 arm64: dts: socfpga: agilex5: Add SMMU-V3-PMCG nodes arm64: dts: socfpga: agilex5: Add L2 and L3 cache arm64: dts: socfpga: agilex5: fix CHECK_DTBS warning for NAND arm64: dts: socfpga: agilex5: add support for 013b board dt-bindings: intel: Add Agilex5 SoCFPGA 013b board arm64: dts: socfpga: agilex5: add VGIC maintenance interrupt arm64: dts: socfpga: agilex: fix dtbs_check warning for NAND arm64: dts: socfpga: agilex: fix dtbs_check warning for clock manager arm64: dts: socfpga: stratix10-swvp: fix dtbs_check warnings swvp arm64: dts: socfpga: move sdmmc-ecc to the base DTSI file ARM: dts: socfpga: add Enclustra SoM dts files dt-bindings: altera: removal of generic PE1 dts ARM: dts: socfpga: removal of generic PE1 dts dt-bindings: altera: add Mercury AA1 variants ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21Merge tag 'imx-dt64-6.19' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt i.MX arm64 device tree changes for 6.19: - New board support: Protonic PRT8ML, Toradex SMARC iMX95, Skov Rev.C HDMI, i.MX 95 Verdin Evaluation KitPHYTEC phyBOARD-Segin-i.MX91 board, Skov i.MX8MP variant - A series from Alexander Stein to clean up and improve imx95-tqma9596sa board support - Add MicIn routing support for mba8mx boards - A couple of patch sets from Frank Li to clean up dt-schema warnings and add more device support for imx8dxl and imx8qxp boards - A series from Ioana Ciornei to add FPGA based GPIO controller and SFP+ cages for layerscape boards - A change from Jan Petrous to add GMAC Ethernet for S32G2 EVB, RDB2 and S32G3 RDB3 boards - A series from Markus Niebel to improve imx95-tqma9596sa board support - A couple of changes from Martin Kepplinger-Novaković to enable cpuidle cooling device support for imx8mp - A series from Max Krummenacher to clean up todo and add thermal support for imx8-apalis board - A series from Primoz Fiser to add USB vbus regulators, jtag and pwm-fan overlay for imx93-phyboard - A couple of series from Richard Zhu to add supports-clkreq property and vpcie3v3aux regulator for PCIe M.2 device - A series from Stefano Radaelli to add WiFi, BT, PMIC, WM8904 audio, and ADS7846 touchscreen support for imx93-var-som - A series from Tim Harvey to make some cleanups for imx8mm-venice boards - A change from Xu Yang to add DDR Perf Monitor support for i.MX94 - Other small and random changes * tag 'imx-dt64-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (122 commits) arm64: dts: freescale: add Toradex SMARC iMX95 arm64: dts: freescale: tqma9352: Add vcc-supply for spi-nor arm64: dts: mb-smarc-2: Add MicIn routing arm64: dts: mba8xx: Add MicIn routing arm64: dts: mba8mx: Add MicIn routing arm64: dts: imx8mp: make 'dsp' node depend on 'aips5' arm64: dts: imx8mp: convert 'aips5' to 'aipstz5' arm64: dts: imx8mp-skov: add Rev.C HDMI support arm64: dts: imx8mp: Add missing LED enumerators for DH electronics i.MX8M Plus DHCOM on PDK2 arm64: dts: freescale: Add GMAC Ethernet for S32G2 EVB and RDB2 and S32G3 RDB3 arm64: dts: imx8qm-apalis: add pwm used by the backlight arm64: dts: imx95-tqma9596sa-mb-smarc-2: add aliases for SPI arm64: dts: imx95-tqma9596sa-mb-smarc-2: remove superfluous line arm64: dts: imx95-tqma9596sa-mb-smarc-2: mark LPUART1 as reserved arm64: dts: imx95-tqma9596sa-mb-smarc-2: Add MicIn routing arm64: dts: imx95-tqma9596sa: add EEPROM pagesize arm64: dts: imx95-tqma9596sa: whitespace fixes arm64: dts: imx95-tqma9596sa: add gpio bus recovery for i2c arm64: dts: imx95-tqma9596sa: remove superfluous pinmux for usdhci arm64: dts: imx95-tqma9596sa: remove superfluous pinmux for i2c ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21drm/xe/guc: Fix resource leak in xe_guc_ct_init_noalloc()Shuicheng Lin
xe_guc_ct_init_noalloc() allocates the CT workqueue and other helpers before it tries to initialize ct->lock. If drmm_mutex_init() fails we currently bail out without releasing those resources because the guc_ct_fini() hasn’t been registered yet. Since destroy_workqueue() in guc_ct_fini() may flush the workqueue, which in turn can take the ct lock, the initialization sequence is restructured to first initialize the ct->lock, then set up all CT state, and finally register guc_ct_fini(). v2: guc_ct_fini() does take ct lock. (Matt) v3: move primelockdep() together with drmm_mutex_init(). (Lucas) Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs") Cc: Lucas De Marchi <lucas.demarchi@intel.com> Cc: Matthew Brost <matthew.brost@intel.com> Signed-off-by: Shuicheng Lin <shuicheng.lin@intel.com> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com> Link: https://patch.msgid.link/20251110184522.1581001-2-shuicheng.lin@intel.com Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com>
2025-11-21Merge tag 'imx-dt-6.19' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux into soc/dt i.MX ARM device tree changes for 6.19: - A bunch of dt-schema warning cleanup patches from Frank Li - A couple of imx6dl-yapp4 board update from Michal Vokáč to enable pwm-beeper and model the RGB LED as a single multi-led part - Enable PMIC RTC on imx53-qsrb board - Correct rtc compatible for imx6q-evi board - Add sy7636 support for e70k02 board - Replace license text comment with SPDX identifier for imx53-usbarmory board - Add I2S audio support for imx28-amarula-rmm board * tag 'imx-dt-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/shawnguo/linux: (29 commits) ARM: dts: imx6qdl: make VAR-SOM SoM SoC-agnostic ARM: dts: imx6dl-yapp4: Model the RGB LED as a single multi-led part ARM: dts: imx6dl-yapp43: Enable pwm-beeper on boards with speaker ARM: dts: imx: e70k02: add sy7636 ARM: dts: imx28-amarula-rmm: add I2S audio ARM: dts: imx: add vdd-supply and vddio-supply for fsl,mpl3115 ARM: dts: imx7ulp: remove bias-pull-up ARM: dts: remove undocumented clock-names for ov5642 ARM: dts: add device_type for memory node ARM: dts: Add bus type for parallel ov5640 ARM: dts: imx6q-cm-fx6.dts: add supplies for wm8731 ARM: dts: imx6qdl-skov-cpu fix typo interrupt ARM: dts: imx: remove redundant linux,phandle ARM: dts: imx6ull-dhcom-pdk2: rename power-supply to vcc-supply for touchscreen ARM: dts: imx: add power-supply for lcd panel ARM: dts: imx6qdl-nitrogen6_max: rename i2c<n>mux to i2c ARM: dts: imx6ull-phytec-tauri: remove extra space before jedec,spi-nor ARM: dts: imx6q-utilite-pro: add missing required property for pci ARM: dts: imx6-tbs2910: rename ir_recv to ir-receiver ARM: dts: imx6: remove pinctrl-name if pinctrl-0 doesn't exist ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21Merge tag 'sunxi-dt-for-6.19' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt Allwinner device tree changes for 6.19 The A523 family gains support for I2S and SPDIF audio interfaces, as well as the GMAC200 Ethernet controller. The H616 gains support for the NAND controller. * tag 'sunxi-dt-for-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux: arm64: dts: allwinner: a523: Add SPDIF TX pin on PB and PI pins arm64: dts: allwinner: a523: Add I2S2 pins on PI pin group arm64: dts: allwinner: a523: Add device nodes for I2S controllers arm64: dts: allwinner: a523: Add device node for SPDIF block arm64: dts: allwinner: a523: Add DMA controller device nodes dt-bindings: dma: allwinner,sun50i-a64-dma: Add compatibles for A523 arm64: dts: allwinner: h616: add NAND controller arm64: dts: allwinner: t527: orangepi-4a: Enable Ethernet port arm64: dts: allwinner: t527: avaota-a1: enable second Ethernet port arm64: dts: allwinner: a527: cubie-a5e: Enable second Ethernet port arm64: dts: allwinner: a523: Add GMAC200 ethernet controller Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21Merge tag 'tegra-for-6.19-arm64-dt' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt arm64: tegra: Device tree changes for v6.19-rc1 This contains a bunch of additions and improvements for older devices. Tegra210 devices now have empty reserved-memory nodes to improve inter- operability with certain bootloaders. These chips now also support more multimedia engines. A new variant of the Jetson Nano is also added. Jetson TX2 sees some improvements. PCI endpoint mode is improved for Tegra234 so that reset interrupts are properly routed. A new RTC device is added starting with Orin. Rounding things off is a flurry of small fixes for DT validation and USB OTG mode. * tag 'tegra-for-6.19-arm64-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: (25 commits) arm64: tegra: Remove OTG ID GPIO from Jetson TX2 NX arm64: tegra: Set USB Micro-B port to OTG mode on P3450 arm64: tegra: Add NVJPG node for Tegra210 platforms arm64: tegra: Add Tegra210 NVJPG power-domain node arm64: tegra: Add interrupts for Tegra234 USB wake events arm64: tegra: Add reserved-memory node for P2180 arm64: tegra: Add reserved-memory node for P3450 arm64: tegra: Enable NVDEC and NVENC on Tegra210 arm64: tegra: Fix APB DMA controller node name arm64: tegra: Add default GIC address cells on Tegra210 arm64: tegra: Add default GIC address cells on Tegra194 arm64: tegra: Add default GIC address cells on Tegra186 arm64: tegra: Add default GIC address cells on Tegra132 arm64: tegra: Add OPP tables on Tegra210 arm64: tegra: Add interconnect properties for Tegra210 arm64: tegra: Add ACTMON on Tegra210 arm64: tegra: Add device-tree node for NVVRS RTC arm64: tegra: Move avdd-dsi-csi-supply into CSI node arm64: tegra: Drop redundant clock and reset names from TSEC node arm64: tegra: Move HDA into the correct bus ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21Merge tag 'tegra-for-6.19-arm-dt' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt ARM: tegra: Device tree changes for v6.19-rc1 Add more host1x devices on Tegra114 and Tegra124, as well as CSI for Tegra20 and Tegra30. Support for the Xiaomi Mi Pad is also added. * tag 'tegra-for-6.19-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: ARM: tegra: Add device-tree for Xiaomi Mi Pad (A0101) ARM: tegra: add CSI nodes for Tegra20 and Tegra30 ARM: tegra: Add missing HOST1X device nodes on Tegra124 ARM: tegra: Add missing HOST1X device nodes on Tegra114 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21hwmon: (vt1211) Convert macros to functions to avoid TOCTOUGui-Dong Han
The macros IN_FROM_REG, TEMP_FROM_REG, and RPM_FROM_REG evaluate their arguments multiple times. These macros are used in lockless show functions involving shared driver data, leading to Time-of-Check to Time-of-Use race conditions. For example, RPM_FROM_REG checks if a value is 0 or 255, and then uses it in a division. If the value is modified by another thread to 0 after the check but before the division, it causes a divide-by-zero error. Convert these macros to static functions. This guarantees that arguments are evaluated only once (pass-by-value), fixing the race conditions. Adhere to the principle of minimal changes by only converting the specific macros involved in these lockless contexts. Link: https://lore.kernel.org/all/CALbr=LYJ_ehtp53HXEVkSpYoub+XYSTU8Rg=o1xxMJ8=5z8B-g@mail.gmail.com/ Signed-off-by: Gui-Dong Han <hanguidong02@gmail.com> Link: https://lore.kernel.org/r/20251120041331.1917570-1-hanguidong02@gmail.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2025-11-21Merge tag 'tegra-for-6.19-dt-bindings' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt dt-bindings: Changes for v6.19-rc1 Document various new IPs on older chips, as well as some existing developer kits that were missing compatible strings. Add power domain IDs on Tegra264 and wake-up support for the XUSB controller on Tegra234. * tag 'tegra-for-6.19-dt-bindings' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: dt-bindings: usb: Add wake-up support for Tegra234 XUSB host controller dt-bindings: devfreq: tegra30-actmon: Add Tegra124 fallback for Tegra210 dt-bindings: display: tegra: Document Tegra20 and Tegra30 CSI dt-bindings: display: tegra: document EPP, ISP, MPE and TSEC for Tegra114+ dt-bindings: arm: tegra: Document Jetson Nano Devkits dt-bindings: power: Add power domain IDs for Tegra264 Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21Merge tag 'renesas-dts-for-v6.19-tag2' of ↵Arnd Bergmann
git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt Renesas DTS updates for v6.19 (take two) - Add Imagination Technologies PowerVR Series 7XE GE7800 GPU support for the R-Car M3-N and V3U SoCs, - Add Ethernet support for the RZ/T2H and RZ/N2H SoCs and their evaluation boards, - Add ADC support for the RZ/N1D SoC, - Add thermal, NMI pushbutton, and RTC support for the RZ/V2H SoC and the RZ/V2H EVK development board, - Add USB2.0 support for the RZ/G3S SoC and the RZ/G3S SMARC Carrier II board. * tag 'renesas-dts-for-v6.19-tag2' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: arm64: dts: renesas: rzt2h-n2h-evk: Enable Ethernet support arm64: dts: renesas: r9a09g057h44-rzv2h-evk: Enable RTC arm64: dts: renesas: r9a09g057: Add RTC node arm64: dts: renesas: r9a09g057h44-rzv2h-evk: Add NMI pushbutton support arm64: dts: renesas: rzg3s-smarc: Enable USB support arm64: dts: renesas: r9a08g045: Add USB support arm64: dts: renesas: r9a09g057: Add TSU nodes ARM: dts: renesas: r9a06g032: Add the ADC device arm64: dts: renesas: r9a09g087: Add GMAC nodes arm64: dts: renesas: r9a09g077: Add GMAC nodes arm64: dts: renesas: r9a09g087: Add ETHSS node arm64: dts: renesas: r9a09g077: Add ETHSS node arm64: dts: renesas: r8a779a0: Add GE7800 GPU node arm64: dts: renesas: r8a77965: Add GE7800 GPU node dt-bindings: clock: r8a779a0: Add ZG core clock Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21Merge tag 'spacemit-dt-for-6.19-1' of https://github.com/spacemit-com/linux ↵Arnd Bergmann
into soc/dt RISC-V SpacemiT DT changes for 6.19 - Add Uart and I2C nodes - Add P1 PMIC nodes - Add MusePi Pro board support - Add OrangePi R2S board support - Enable eeprom for BPI-F3 - Enable QSPI on BPI-F3 - Enable Ethernet and PDMA on OrangePi RV2 * tag 'spacemit-dt-for-6.19-1' of https://github.com/spacemit-com/linux: riscv: dts: spacemit: define all missing I2C controller nodes riscv: dts: spacemit: reorder i2c2 node riscv: dts: spacemit: Add OrangePi R2S board device tree dt-bindings: riscv: spacemit: Add OrangePi R2S board riscv: dts: spacemit: enable K1 SoC QSPI on BPI-F3 riscv: dts: spacemit: add MusePi Pro board device tree dt-bindings: riscv: spacemit: add MusePi Pro board riscv: dts: spacemit: add Ethernet and PDMA to OrangePi RV2 riscv: dts: spacemit: add i2c aliases on BPI-F3 riscv: dts: spacemit: add 24c02 eeprom on BPI-F3 riscv: dts: spacemit: enable the i2c2 adapter on BPI-F3 riscv: dts: spacemit: define regulator constraints riscv: dts: spacemit: define fixed regulators riscv: dts: spacemit: enable the i2c8 adapter riscv: dts: spacemit: add UART pinctrl combinations Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21Merge tag 'mtk-dts64-for-v6.19' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/dt MediaTek ARM64 Device Tree updates This adds support for new boards and variants based on different already supported MediaTek SoCs, and improves support for current boards. In particular: - New machines: - MT7988 BananaPi R4 Pro eMMC and SD router board with support for both Key-M and Key-E M.2 slots through DTB Overlays - MT8370 Grinn GenioSBC-510 (GenioSOM-510 + GenioBoard Edge AI) - MT8390 Grinn GenioSBC-700 (GenioSOM-700 + GenioBoard Edge AI) - New variant: MT8395 MediaTek Genio 1200 EVK with UFS ...preparation for new SoCs (MT8196 Kompanio Ultra, a clone of the MT6991 Dimensity 9400, and MT6878 Dimensity 7300) with the addition of GCE/PIO definitions ...improvements for already supported SoCs and machines: - MT7622/7981b/7986a/7988a gain support for reading SoC UUID from eFuse, used to generate a persistent MAC address on boards that don't have any factory-assigned addresses. - MT7986 BananaPi R3 gets changes to its default fan PWM speed to improve compatibility with cheaper fans (usually coming with the heatsink+fan combos) - The MT7981b OpenWRT One router sees general support improvements with the enablement of its UART-0 console and correct pinmuxing for the same, addition of reserved memory for Trusted Firmware A, its SPI NOR Flash (for recovery system, WiFi eeprom data and ETH MAC address from factory), and board LEDs. - MT8365 gets support for its Mali G52 MC1 GPU, which gets enabled in the MediaTek Genio 350 EVK board ...and a dt-bindings warning fix for MT8183 machines through trivial changes to rename the audiosys and afe nodes to reflect bindings. * tag 'mtk-dts64-for-v6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: (27 commits) arm64: dts: mediatek: mt7981b-openwrt-one: Enable software leds arm64: dts: mediatek: mt7981b-openwrt-one: Enable SPI NOR arm64: dts: mediatek: mt7988a-bpi-r4pro: Add mmc overlays arm64: dts: mediatek: mt7988a-bpi-r4-pro: Add PCIe overlays arm64: dts: mediatek: mt7988: Add devicetree for BananaPi R4 Pro arm64: dts: mediatek: mt7988: Disable 2.5G phy and enable at board layer dt-bindings: arm: mediatek: add BPI-R4 Pro board arm64: dts: mediatek: Add GCE header for MT8196 arm64: dts: mediatek: mt7981b: Add reserved memory for TF-A arm64: dts: mediatek: mt7981b: Configure UART0 pinmux arm64: dts: mediatek: mt8365-evk: Enable GPU support arm64: dts: mediatek: mt8365: Add GPU support arm64: dts: mediatek: mt8395-genio-1200-evk: Describe CPU supplies arm64: dts: mediatek: Add MT6878 pinmux macro header file arm64: dts: mediatek: mt7986-bpi-r3: Change fan PWM value for mid speed arm64: dts: mediatek: mt8370-grinn-genio-510-sbc: Add Grinn GenioSBC-510 arm64: dts: mediatek: mt8390-genio-700-evk: Add Grinn GenioSBC-700 arm64: dts: mediatek: mt7988a: add 'soc-uuid' cell to efuse arm64: dts: mediatek: mt7981b: add 'soc-uuid' cell to efuse arm64: dts: mediatek: mt7986a: add 'soc-uuid' cell to efuse ... Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21Merge tag 'mtk-dts32-for-v6.19' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/dt MediaTek ARM32 Device Tree updates This performs a cleanup of the MT6582 devicetrees and adds support for secondary cores bringup on this SoC. This also introduces basic support for a new machine, the MT6582 Alcatel "yarisxl" Pop C7 (OT-7041D) smartphone, with support for booting into a initramfs with UART console output. * tag 'mtk-dts32-for-v6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/mediatek/linux: ARM: dts: mediatek: drop wrong syscon hifsys compatible for MT2701/7623 ARM: dts: mediatek: add basic support for Alcatel yarisxl board dt-bindings: arm: mediatek: Add MT6582 yarisxl ARM: dts: mediatek: mt6582: add enable-method property to cpus ARM: dts: mediatek: mt6582: add clock-names property to uart nodes ARM: dts: mediatek: mt6582: add mt6582 compatible to timer ARM: dts: mediatek: mt6582: remove compatible property from root node ARM: dts: mediatek: mt6582: sort nodes and properties ARM: dts: mediatek: mt6582: move MMIO devices under soc node Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21Merge tag 'samsung-dt64-6.19' of ↵Arnd Bergmann
https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/dt Samsung DTS ARM64 changes for v6.19 1. ExynosAutov920: - Add more clock controller nodes. 2. Google GS101: - PMIC clock - Mark ACPM (Alive Clock and Power Manager) firmware node as clock provider and use its clocks. Add also Devicetree binding headers with clock its clock indices used in DTS (kept as separate branch). - Add more SYSREG (syscon) regions. - Correct several blocks address space sizes and APM SYSREG's starting address. 3. Exynos7870: - Enable display over DSI and several display planels. - Few cleanups. * tag 'samsung-dt64-6.19' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: arm64: dts: exynos7870-j6lte: enable display panel support arm64: dts: exynos7870-a2corelte: enable display panel support arm64: dts: exynos7870-on7xelte: enable display panel support arm64: dts: exynos7870: add DSI support arm64: dts: exynos: gs101: fix sysreg_apm reg property arm64: dts: exynos: gs101: fix clock module unit reg sizes arm64: dts: exynos: gs101: add sysreg_misc and sysreg_hsi0 nodes arm64: dts: exynos: gs101: add OPPs arm64: dts: exynos: gs101: add CPU clocks arm64: dts: exynos: gs101: add #clock-cells to the ACPM protocol node dt-bindings: firmware: google,gs101-acpm-ipc: add ACPM clocks arm64: dts: exynos: gs101-pixel-common: add node for s2mpg10 / clock arm64: dts: exynos990: Add sysreg nodes for PERIC0 and PERIC1 arm64: dts: exynosautov920: add CMU_MFC clock DT nodes arm64: dts: exynosautov920: add CMU_M2M clock DT nodes arm64: dts: exynos7870-on7xelte: add bus-width to mmc0 node arm64: dts: exynos7870-j6lte: add bus-width to mmc0 node arm64: dts: exynos7870-a2corelte: add bus-width to mmc0 node Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-11-21platform/x86: ayaneo-ec: Add suspend hookAntheas Kapenekakis
The Ayaneo EC resets after hibernation, losing the charge control state. Add a small PM hook to restore this state on hibernation resume. The fan speed is also lost during hibernation, but since hibernation failures are common with this class of devices, setting a low fan speed when the userspace program controlling the fan will potentially not take over could cause the device to overheat, so it is not restored. Reviewed-by: Armin Wolf <W_Armin@gmx.de> Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev> Link: https://patch.msgid.link/20251119174505.597218-7-lkml@antheas.dev Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-11-21platform/x86: ayaneo-ec: Move Ayaneo devices from oxpec to ayaneo-ecAntheas Kapenekakis
Currently, the oxpec driver contains Ayaneo devices. Move them to the new ayaneo-ec driver, which is dedicated to them. As this driver supports charge inhibition for Ayaneo, add support for it for the AIR, AIR 1S, AB05-Medoncino, AIR Pro, and Kun, referenced from the out-of-tree ayaneo-platform driver. In addition, update the readmes of oxpec to reflect this change. Link: https://github.com/ShadowBlip/ayaneo-platform Tested-by: Derek J. Clark <derekjohn.clark@gmail.com> Reviewed-by: Armin Wolf <W_Armin@gmx.de> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev> Link: https://patch.msgid.link/20251119174505.597218-6-lkml@antheas.dev Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-11-21platform/x86: ayaneo-ec: Add controller power and modules attributesAntheas Kapenekakis
The Ayaneo 3 features hot-swappable controller modules. The ejection and management is done through HID. However, after ejecting the modules, the controller needs to be power cycled via the EC to re-initialize. For this, the EC provides a variable that holds whether the left or right modules are connected, and a power control register to turn the controller on or off. After ejecting the modules, the controller should be turned off. Then, after both modules are reinserted, the controller may be powered on again to re-initialize. This patch introduces two new sysfs attributes: - `controller_modules`: a read-only attribute that indicates whether the left and right modules are connected (none, left, right, both). - `controller_power`: a read-write attribute that allows the user to turn the controller on or off (with '1'/'0'). Therefore, after ejection is complete, userspace can power off the controller, then wait until both modules have been reinserted (`controller_modules` will return 'both') to turn on the controller. Reviewed-by: Armin Wolf <W_Armin@gmx.de> Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev> Link: https://patch.msgid.link/20251119174505.597218-5-lkml@antheas.dev Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-11-21platform/x86: ayaneo-ec: Add charge control supportAntheas Kapenekakis
Ayaneo devices support charge inhibition via the EC. This inhibition only works while the device is powered on, and resets between restarts. However, it is maintained across suspend/resume cycles. The EC does not support charge threshold control. Instead, userspace software on Windows manually toggles charge inhibition depending on battery level. Reviewed-by: Armin Wolf <W_Armin@gmx.de> Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev> Link: https://patch.msgid.link/20251119174505.597218-4-lkml@antheas.dev Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
2025-11-21platform/x86: ayaneo-ec: Add hwmon supportAntheas Kapenekakis
Add hwmon single fan sensor reads and control for Ayaneo devices. The register and method of access is the same for all devices. Reviewed-by: Armin-Wolf <W_Armin@gmx.de> Signed-off-by: Antheas Kapenekakis <lkml@antheas.dev> Link: https://patch.msgid.link/20251119174505.597218-3-lkml@antheas.dev Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>