summaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)Author
2026-03-24pinctrl: mediatek: Add missing bind callback for several SoCsJulien Stephan
Commit f4df9f53b7a9 ("pinctrl: mediatek: Bind gpio while binding pinctrl") refactored pinctrl-mtk-common.c and the SoC-specific drivers to register the gpiochip during the bind phase instead of probe. As part of this change, each SoC driver must implement a bind callback. The drivers recently added for mt8188, mt8189, mt8195 and mt8365 do not define this callback, which prevents the gpiochip from being registered properly. Add the missing bind callback to these drivers. Signed-off-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: remove CLK_PARENT_XTALDavid Lechner
Remove the CLK_PARENT_XTAL flag and related code. These have no more users. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8518: convert CLK_XTAL to CLK_PAD_CLK26MDavid Lechner
Replace all uses of CLK_XTAL with CLK_PAD_CLK26M. This avoids declaring the same parent clock two different ways and will eventually let us remove CLK_PARENT_XTAL completely. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8516: convert CLK_XTAL to CLK_PAD_CLK26MDavid Lechner
Replace all uses of CLK_XTAL with CLK_PAD_CLK26M. This avoids declaring the same parent clock two different ways and will eventually let us remove CLK_PARENT_XTAL completely. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8512: convert CLK_XTAL to CLK_PAD_CLK26MDavid Lechner
Replace all uses of CLK_XTAL with CLK_PAD_CLK26M. This avoids declaring the same parent clock two different ways and will eventually let us remove CLK_PARENT_XTAL completely. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8365: convert CLK_XTAL to CLK_PAD_CLK26MDavid Lechner
Replace all uses of CLK_XTAL with CLK_PAD_CLK26M. This avoids declaring the same parent clock two different ways and will eventually let us remove CLK_PARENT_XTAL completely. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8195: convert CLK_XTAL to CLK_PAD_CLK26MDavid Lechner
Replace all uses of CLK_XTAL with CLK_PAD_CLK26M. This avoids declaring the same parent clock two different ways and will eventually let us remove CLK_PARENT_XTAL completely. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8188: convert CLK_XTAL to CLK_PAD_CLK26MDavid Lechner
Replace all uses of CLK_XTAL with CLK_PAD_CLK26M. This avoids declaring the same parent clock two different ways and will eventually let us remove CLK_PARENT_XTAL completely. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8183: convert CLK_XTAL to CLK_PAD_CLK26MDavid Lechner
Replace all uses of CLK_XTAL with CLK_PAD_CLK26M. This avoids declaring the same parent clock two different ways and will eventually let us remove CLK_PARENT_XTAL completely. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt7988: convert CLK_XTAL to CLK_PAD_CLK40MDavid Lechner
Replace all uses of CLK_XTAL with CLK_PAD_CLK40M. This will eventually let us remove CLK_PARENT_XTAL completely. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt7987: convert CLK_XTAL to CLK_PAD_CLK40MDavid Lechner
Replace all uses of CLK_XTAL with CLK_PAD_CLK40M. This will eventually let us remove CLK_PARENT_XTAL completely. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt7986: convert CLK_XTAL to CLK_PAD_CLK40MDavid Lechner
Replace all uses of CLK_XTAL with CLK_PAD_CLK40M. This will eventually let us remove CLK_PARENT_XTAL completely. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt7981: convert CLK_XTAL to CLK_PAD_CLK40MDavid Lechner
Replace all uses of CLK_XTAL with CLK_PAD_CLK40M. This will eventually let us remove CLK_PARENT_XTAL completely. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt7629: convert CLK_XTAL to CLK_PAD_CLK40MDavid Lechner
Replace all uses of CLK_XTAL with CLK_PAD_CLK40M. This will eventually let us remove CLK_PARENT_XTAL completely. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt7623: convert CLK_XTAL to CLK_PAD_CLK26MDavid Lechner
Replace all uses of CLK_XTAL with CLK_PAD_CLK26M. This avoids declaring the same parent clock two different ways and will eventually let us remove CLK_PARENT_XTAL completely. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt7622: convert CLK_XTAL to CLK_PAD_CLK25MDavid Lechner
Replace all uses of CLK_XTAL with CLK_PAD_CLK25M. This avoids declaring the same parent clock two different ways and will eventually let us remove CLK_PARENT_XTAL completely. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: replace xtal2_rate with struct mtk_parentDavid Lechner
Replace the hard-coded xtal rate for PLL parents with struct mtk_parent. This avoids declaring the same clock rate in multiple places and will allow future drivers to use an arbitrary clock. The variable is renamed to something that better indicate what the field is actually used for. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8195: use ext_clock_ratesDavid Lechner
Convert the mt8195 clock driver to use ext_clock_rates. Now that we have the ext_clock_rates feature and also mux clock parents have been converted to struct mtk_parent, we can remove the hack of adding "missing" topckgen clocks. Instead we can use the proper parents. The topckgen ID map is still needed though because the upstream dt-bindings didn't use the conventional number ordering by clock type for these. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260309-clk-mtk-mt8188-drop-extra-top-clocks-v1-2-6ee4743a8465@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8188: use ext_clock_ratesDavid Lechner
Convert the mt8188 clock driver to use ext_clock_rates. Now that we have the ext_clock_rates feature and also mux clock parents have been converted to struct mtk_parent, we can remove the hack of adding "missing" topckgen clocks. Instead we can use the proper parents. The topckgen ID map is still needed though because the upstream dt-bindings didn't use the conventional number ordering by clock type for these. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260309-clk-mtk-mt8188-drop-extra-top-clocks-v1-1-6ee4743a8465@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8365: drop topckgen mapDavid Lechner
Drop the clock ID map for MT8365 TOPCKGEN clocks. Previously, we didn't have the EXT clock feature, so we needed the map. Now we can replace it with the new feature to avoid the map. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: refactor duplicate *_mux_get_rate()David Lechner
Refactor two identical functions for getting mux clock rates. The functions are renamed and moved to the section of the code that contains other common functions. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-16-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: remove CLK_PARENT_MIXED flagDavid Lechner
Remove CLK_PARENT_MIXED and all dead code paths related to it. All mux clocks have been converted to use struct mtk_parent (the parent_flags field of the parent/parent_flags union). Use of this struct was indicated by CLK_PARENT_MIXED. Now, this is always the case and we can drop the flag and the union. All MUX_MIXED* macros are change to use the equivalent MUX* macros since we no longer need to set the flag. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-15-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: remove use of CLK_BYPASS_XTAL flagDavid Lechner
Remove the CLK_BYPASS_XTAL flag completely. It was a bit of a hack that was meant to handle mux clocks that had mixed parents (e.g. XTAL and TOPCKGEN). The idea was that if you didn't have CLK_XTAL as a parent, then you were supposed to add the CLK_BYPASS_XTAL flag to the clock tree. There are likely a number of drivers missing this since it is not intuitive. In the meantime, we have introduced the CLK_PARENT_MIXED flag which handles this more robustly. All of the affected drivers (the ones without CLK_BYPASS_XTAL) have been updated to use CLK_PARENT_MIXED, so the CLK_BYPASS_XTAL flag is no longer needed on other drivers. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-14-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8518: convert to struct mtk_parentDavid Lechner
Convert all parent clock arrays to use struct mtk_parent. This will allow us to simplify core code later by having only one possible data type for mux parent arrays. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-13-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8516: convert to struct mtk_parentDavid Lechner
Convert all parent clock arrays to use struct mtk_parent. This will allow us to simplify core code later by having only one possible data type for mux parent arrays. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-12-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8512: convert to struct mtk_parentDavid Lechner
Convert all parent clock arrays to use struct mtk_parent. This will allow us to simplify core code later by having only one possible data type for mux parent arrays. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-11-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8365: convert to struct mtk_parentDavid Lechner
Convert all parent clock arrays to use struct mtk_parent. This will allow us to simplify core code later by having only one possible data type for mux parent arrays. Reviewed-by: Macpaul Lin <[email protected]> Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-10-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8195: convert to struct mtk_parentDavid Lechner
Convert all parent clock arrays to use struct mtk_parent. This will allow us to simplify core code later by having only one possible data type for mux parent arrays. Reviewed-by: Macpaul Lin <[email protected]> Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-9-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8188: convert to struct mtk_parentDavid Lechner
Convert all parent clock arrays to use struct mtk_parent. This will allow us to simplify core code later by having only one possible data type for mux parent arrays. Reviewed-by: Macpaul Lin <[email protected]> Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-8-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt8183: convert to struct mtk_parentDavid Lechner
Convert all parent clock arrays to use struct mtk_parent. This will allow us to simplify core code later by having only one possible data type for mux parent arrays. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-7-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt7988: convert to struct mtk_parentDavid Lechner
Convert all parent clock arrays to use struct mtk_parent. This will allow us to simplify core code later by having only one possible data type for mux parent arrays. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-6-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt7987: convert to struct mtk_parentDavid Lechner
Convert all parent clock arrays to use struct mtk_parent. This will allow us to simplify core code later by having only one possible data type for mux parent arrays. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-5-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt7981: convert to struct mtk_parentDavid Lechner
Convert all parent clock arrays to use struct mtk_parent. This will allow us to simplify core code later by having only one possible data type for mux parent arrays. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-4-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt7629: convert to struct mtk_parentDavid Lechner
Convert all parent clock arrays to use struct mtk_parent. This will allow us to simplify core code later by having only one possible data type for mux parent arrays. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-3-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt7623: convert to struct mtk_parentDavid Lechner
Convert all parent clock arrays to use struct mtk_parent. This will allow us to simplify core code later by having only one possible data type for mux parent arrays. Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-2-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24clk: mediatek: mt7622: convert to struct mtk_parentDavid Lechner
Convert all parent clock arrays to use struct mtk_parent. This will allow us to simplify core code later by having only one possible data type for mux parent arrays. Reviewed-by: Macpaul Lin <[email protected]> Reviewed-by: Julien Stephan <[email protected]> Link: https://patch.msgid.link/20260317-clk-mtk-unify-mux-parents-v3-1-a4760f5b0a80@baylibre.com Signed-off-by: David Lechner <[email protected]>
2026-03-24watchdog: qcom: stop watchdog by defaultCasey Connolly
Prevent the Qualcomm watchdog from autostarting and ensure it's stopped when the driver probed. In some cases the watchdog is left running by a previous bootloader stage. Disable autostart so it isn't left running when we boot into the OS, this behaviour can be changed by enabling autostart in the board defconfig. Reviewed-by: Stefan Roese <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Reviewed-by: Tom Rini <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-03-24qcom: rpmh: don't error for SLEEP requestsCasey Connolly
Just stub out non-active votes, if we return an error the caller may propagate it and not send its active vote. Since we don't suspend there's no risk of us entering a broken state due to missing votes. Link: https://patch.msgid.link/20260320-casey-qcom-rpmh-serial-fixes-v1-2-b81d05832eec@linaro.org Signed-off-by: Casey Connolly <[email protected]>
2026-03-24serial: msm-geni: allow invalid clockCasey Connolly
Pre-relocation we may not have a clock but it's usually been enabled for us already, or worst case we will enable it after relocation. Erroring out in this case will almost always cause U-Boot to hang pre-relocation which is undesirable and may be hard to debug. Link: https://patch.msgid.link/20260320-casey-qcom-rpmh-serial-fixes-v1-1-b81d05832eec@linaro.org Signed-off-by: Casey Connolly <[email protected]>
2026-03-24power: regulator: qcom: Correct dependenecies for DM_REGULATOR_QCOM_USB_VBUSTom Rini
The DM_REGULATOR_QCOM_USB_VBUS functionality can only work with DM_PMIC enabled as well, so express this dependency in Kconfig. Signed-off-by: Tom Rini <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-03-24phy: qcom: qusb2: Add QCS615 QUSB2 PHY supportBalaji Selvanathan
Add support for QCS615 QUSB2 PHY by introducing platform-specific initialization table and register layout. The implementation reuses the IPQ6018 register layout and defines QCS615-specific tuning parameters for proper USB PHY operation. Taken from Linux commit 8adbf20e0502 ("phy: qcom-qusb2: Add support for QCS615") Signed-off-by: Balaji Selvanathan <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-03-24clk: qcom: qcs615: Add GCC_AHB2PHY_WEST_CLK clock supportBalaji Selvanathan
Add GCC_AHB2PHY_WEST_CLK gate clock definition to the QCS615 clock driver. This clock is required for proper PHY operation and eliminates clock-related warnings during USB initialization. Signed-off-by: Balaji Selvanathan <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Reviewed-by: Neil Armstrong <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-03-24clk: qcom: qcs615: Add GCC_USB3_PRIM_CLKREF_CLK supportBalaji Selvanathan
Add support for GCC_USB3_PRIM_CLKREF_CLK to the QCS615 clock driver. This clock is referenced in the device tree USB node but was not implemented in U-Boot, causing "Clock 152 not found" warnings during fastboot run. Signed-off-by: Balaji Selvanathan <[email protected]> Reviewed-by: Sumit Garg <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Casey Connolly <[email protected]>
2026-03-23Merge tag 'fsl-qoriq-next-2026-03-23' of ↵Tom Rini
https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq into next CI: https://source.denx.de/u-boot/custodians/u-boot-fsl-qoriq/-/pipelines/29614 - Kconfig update for SCMI_FIRMWARE - Add SCMI pinctrl driver
2026-03-23timer: Correct Kconfig entry for XILINX_TIMERTom Rini
As exposed by "make randconfig", we have an issue with the dependencies for XILINX_TIMER. This symbol is a case where we have one that covers both main U-Boot and SPL. In this case, we need to select SPL_REGMAP not when SPL is enabled but rather when SPL_TIMER is enabled (and in turn, SPL_DM). Signed-off-by: Tom Rini <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-03-23net: zynq_gem: Add support for dma-coherent flagMichal Simek
When dma-coherent DT property is passed there is no need to do any cache operations. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/10c7a40364162cc8d3c82cb3e64e043f49a5153e.1772437409.git.michal.simek@amd.com
2026-03-23net: zynq_gem: clear TXSR transfer completePadmarao Begari
The Zynq GEM TX status register retains the transfer‑complete bit until it is explicitly cleared. The current flow waits for transfer‑complete but never clears it, so on the next send the wait loop returns immediately because transfer‑complete is already high. This causes the driver to report TX completion before the new DMA transfer has actually finished, which breaks back‑to‑back transmissions. This issue causes timeouts during LWIP TFTP transfers when cache coherency is enabled. Fix this by explicitly clearing transfer‑complete (write‑to‑clear) after the wait completes, so each transmit starts with a clean TXSR. Co-developed-by: Harini Katakam <[email protected]> Signed-off-by: Harini Katakam <[email protected]> Co-developed-by: Michal Simek <[email protected]> Signed-off-by: Padmarao Begari <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/f354680d43fba0f590a6fae693848e5bf7114ba5.1772437409.git.michal.simek@amd.com
2026-03-23net: zynq_gem: Disable broadcast packetsMichal Simek
There is no reason to react on broadcast packets that's why just ignore them not to waste cycles on packets which are not for the platform. Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/6e10793b7d72668343756edb66221f1415570250.1772437409.git.michal.simek@amd.com
2026-03-23spi: cadence_qspi: pulse controller reset at probePadmarao Begari
The driver previously only deasserted the optional bulk reset, leaving the controller in whatever state earlier stages left it and risking failed probes or bad transfers. Assert the reset first, wait 10 µs, and then deassert so the OSPI block starts from a known state. Signed-off-by: Padmarao Begari <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]
2026-03-23spi: cadence_qspi: Disable the DAC mode in indirect readVenkatesh Yadav Abbarapu
Hang has been observed on QEMU, as it starts with indac read and fills sram, but after dma is triggered, it tries dac read instead (based on priority) which gets blocked. Disable the DAC mode in indirect DMA read and enable back for writes as DAC mode is used. Signed-off-by: Venkatesh Yadav Abbarapu <[email protected]> Tested-by: Padmarao Begari <[email protected]> Signed-off-by: Michal Simek <[email protected]> Link: https://lore.kernel.org/r/[email protected]