From: Greg Kroah-Hartman Date: Sat, 17 Jan 2026 15:17:01 +0000 (+0100) Subject: drop some clk patches X-Git-Tag: v6.6.121~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=40a1a9c75332c72f3b44a716a842eece52e5477a;p=thirdparty%2Fkernel%2Fstable-queue.git drop some clk patches --- diff --git a/queue-5.10/clk-renesas-r9a06g032-export-function-to-set-dmamux.patch b/queue-5.10/clk-renesas-r9a06g032-export-function-to-set-dmamux.patch deleted file mode 100644 index 433466b72d..0000000000 --- a/queue-5.10/clk-renesas-r9a06g032-export-function-to-set-dmamux.patch +++ /dev/null @@ -1,111 +0,0 @@ -From f8e16eebf617cd521687a5287495858a5c7853fa Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 27 Apr 2022 11:56:48 +0200 -Subject: clk: renesas: r9a06g032: Export function to set dmamux - -From: Miquel Raynal - -[ Upstream commit 885525c1e7e27ea6207d648a8db20dfbbd9e4238 ] - -The dmamux register is located within the system controller. - -Without syscon, we need an extra helper in order to give write access to -this register to a dmamux driver. - -Signed-off-by: Miquel Raynal -Acked-by: Stephen Boyd -Reviewed-by: Geert Uytterhoeven -Acked-by: Geert Uytterhoeven -Link: https://lore.kernel.org/r/20220427095653.91804-5-miquel.raynal@bootlin.com -Signed-off-by: Vinod Koul -Stable-dep-of: f8def051bbcf ("clk: renesas: r9a06g032: Fix memory leak in error path") -Signed-off-by: Sasha Levin ---- - drivers/clk/renesas/r9a06g032-clocks.c | 35 ++++++++++++++++++- - include/linux/soc/renesas/r9a06g032-sysctrl.h | 11 ++++++ - 2 files changed, 45 insertions(+), 1 deletion(-) - create mode 100644 include/linux/soc/renesas/r9a06g032-sysctrl.h - -diff --git a/drivers/clk/renesas/r9a06g032-clocks.c b/drivers/clk/renesas/r9a06g032-clocks.c -index 285f6ac25372d..65cd6ed68923e 100644 ---- a/drivers/clk/renesas/r9a06g032-clocks.c -+++ b/drivers/clk/renesas/r9a06g032-clocks.c -@@ -20,9 +20,12 @@ - #include - #include - #include -+#include - #include - #include - -+#define R9A06G032_SYSCTRL_DMAMUX 0xA0 -+ - struct r9a06g032_gate { - u16 gate, reset, ready, midle, - scon, mirack, mistat; -@@ -315,6 +318,30 @@ struct r9a06g032_priv { - void __iomem *reg; - }; - -+static struct r9a06g032_priv *sysctrl_priv; -+ -+/* Exported helper to access the DMAMUX register */ -+int r9a06g032_sysctrl_set_dmamux(u32 mask, u32 val) -+{ -+ unsigned long flags; -+ u32 dmamux; -+ -+ if (!sysctrl_priv) -+ return -EPROBE_DEFER; -+ -+ spin_lock_irqsave(&sysctrl_priv->lock, flags); -+ -+ dmamux = readl(sysctrl_priv->reg + R9A06G032_SYSCTRL_DMAMUX); -+ dmamux &= ~mask; -+ dmamux |= val & mask; -+ writel(dmamux, sysctrl_priv->reg + R9A06G032_SYSCTRL_DMAMUX); -+ -+ spin_unlock_irqrestore(&sysctrl_priv->lock, flags); -+ -+ return 0; -+} -+EXPORT_SYMBOL_GPL(r9a06g032_sysctrl_set_dmamux); -+ - /* register/bit pairs are encoded as an uint16_t */ - static void - clk_rdesc_set(struct r9a06g032_priv *clocks, -@@ -961,7 +988,13 @@ static int __init r9a06g032_clocks_probe(struct platform_device *pdev) - if (error) - return error; - -- return r9a06g032_add_clk_domain(dev); -+ error = r9a06g032_add_clk_domain(dev); -+ if (error) -+ return error; -+ -+ sysctrl_priv = clocks; -+ -+ return 0; - } - - static const struct of_device_id r9a06g032_match[] = { -diff --git a/include/linux/soc/renesas/r9a06g032-sysctrl.h b/include/linux/soc/renesas/r9a06g032-sysctrl.h -new file mode 100644 -index 0000000000000..066dfb15cbddd ---- /dev/null -+++ b/include/linux/soc/renesas/r9a06g032-sysctrl.h -@@ -0,0 +1,11 @@ -+/* SPDX-License-Identifier: GPL-2.0 */ -+#ifndef __LINUX_SOC_RENESAS_R9A06G032_SYSCTRL_H__ -+#define __LINUX_SOC_RENESAS_R9A06G032_SYSCTRL_H__ -+ -+#ifdef CONFIG_CLK_R9A06G032 -+int r9a06g032_sysctrl_set_dmamux(u32 mask, u32 val); -+#else -+static inline int r9a06g032_sysctrl_set_dmamux(u32 mask, u32 val) { return -ENODEV; } -+#endif -+ -+#endif /* __LINUX_SOC_RENESAS_R9A06G032_SYSCTRL_H__ */ --- -2.51.0 - diff --git a/queue-5.10/clk-renesas-r9a06g032-fix-memory-leak-in-error-path.patch b/queue-5.10/clk-renesas-r9a06g032-fix-memory-leak-in-error-path.patch index 5dd86d905a..b3215b9ed5 100644 --- a/queue-5.10/clk-renesas-r9a06g032-fix-memory-leak-in-error-path.patch +++ b/queue-5.10/clk-renesas-r9a06g032-fix-memory-leak-in-error-path.patch @@ -23,14 +23,12 @@ Link: https://patch.msgid.link/20251030061603.1954-1-vulab@iscas.ac.cn Signed-off-by: Geert Uytterhoeven Signed-off-by: Sasha Levin --- - drivers/clk/renesas/r9a06g032-clocks.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) + drivers/clk/renesas/r9a06g032-clocks.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) -diff --git a/drivers/clk/renesas/r9a06g032-clocks.c b/drivers/clk/renesas/r9a06g032-clocks.c -index b3fd97615fc4c..9807fd0adb6c3 100644 --- a/drivers/clk/renesas/r9a06g032-clocks.c +++ b/drivers/clk/renesas/r9a06g032-clocks.c -@@ -969,9 +969,9 @@ static int __init r9a06g032_clocks_probe(struct platform_device *pdev) +@@ -917,9 +917,10 @@ static int __init r9a06g032_clocks_probe if (IS_ERR(mclk)) return PTR_ERR(mclk); @@ -40,9 +38,7 @@ index b3fd97615fc4c..9807fd0adb6c3 100644 + clocks->reg = devm_of_iomap(dev, np, 0, NULL); + if (IS_ERR(clocks->reg)) + return PTR_ERR(clocks->reg); - - r9a06g032_init_h2mode(clocks); - --- -2.51.0 - ++ + for (i = 0; i < ARRAY_SIZE(r9a06g032_clocks); ++i) { + const struct r9a06g032_clkdesc *d = &r9a06g032_clocks[i]; + const char *parent_name = d->source ? diff --git a/queue-5.10/series b/queue-5.10/series index 5943e71f59..205ac7424e 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -61,8 +61,6 @@ rdma-rtrs-server-fix-error-handling-in-get_or_create.patch macintosh-mac_hid-fix-race-condition-in-mac_hid_togg.patch wifi-cw1200-fix-potential-memory-leak-in-cw1200_bh_r.patch nbd-defer-config-unlock-in-nbd_genl_connect.patch -clk-renesas-r9a06g032-export-function-to-set-dmamux.patch -soc-renesas-r9a06g032-sysctrl-handle-h2mode-setting-.patch clk-renesas-r9a06g032-fix-memory-leak-in-error-path.patch lib-vsprintf-check-pointer-before-dereferencing-in-t.patch ocfs2-relax-bug-to-ocfs2_error-in-__ocfs2_move_exten.patch diff --git a/queue-5.10/soc-renesas-r9a06g032-sysctrl-handle-h2mode-setting-.patch b/queue-5.10/soc-renesas-r9a06g032-sysctrl-handle-h2mode-setting-.patch deleted file mode 100644 index b37bf52a07..0000000000 --- a/queue-5.10/soc-renesas-r9a06g032-sysctrl-handle-h2mode-setting-.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 2b777dc02f2e40c536b1a3663863d429992f4be9 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 5 Jan 2023 16:22:54 +0100 -Subject: soc: renesas: r9a06g032-sysctrl: Handle h2mode setting based on USBF - presence - -From: Herve Codina - -[ Upstream commit e9fee814b054e4f6f2faf3d9c1944869fe41c9dd ] - -The CFG_USB[H2MODE] allows to switch the USB configuration. The -configuration supported are: - - One host and one device -or - - Two hosts - -Set CFG_USB[H2MODE] based on the USBF controller (USB device) -availability. - -Signed-off-by: Herve Codina -Reviewed-by: Geert Uytterhoeven -Link: https://lore.kernel.org/r/20230105152257.310642-3-herve.codina@bootlin.com -Signed-off-by: Greg Kroah-Hartman -Stable-dep-of: f8def051bbcf ("clk: renesas: r9a06g032: Fix memory leak in error path") -Signed-off-by: Sasha Levin ---- - drivers/clk/renesas/r9a06g032-clocks.c | 28 ++++++++++++++++++++++++++ - 1 file changed, 28 insertions(+) - -diff --git a/drivers/clk/renesas/r9a06g032-clocks.c b/drivers/clk/renesas/r9a06g032-clocks.c -index 65cd6ed68923e..b3fd97615fc4c 100644 ---- a/drivers/clk/renesas/r9a06g032-clocks.c -+++ b/drivers/clk/renesas/r9a06g032-clocks.c -@@ -24,6 +24,8 @@ - #include - #include - -+#define R9A06G032_SYSCTRL_USB 0x00 -+#define R9A06G032_SYSCTRL_USB_H2MODE (1<<1) - #define R9A06G032_SYSCTRL_DMAMUX 0xA0 - - struct r9a06g032_gate { -@@ -918,6 +920,29 @@ static void r9a06g032_clocks_del_clk_provider(void *data) - of_clk_del_provider(data); - } - -+static void __init r9a06g032_init_h2mode(struct r9a06g032_priv *clocks) -+{ -+ struct device_node *usbf_np = NULL; -+ u32 usb; -+ -+ while ((usbf_np = of_find_compatible_node(usbf_np, NULL, -+ "renesas,rzn1-usbf"))) { -+ if (of_device_is_available(usbf_np)) -+ break; -+ } -+ -+ usb = readl(clocks->reg + R9A06G032_SYSCTRL_USB); -+ if (usbf_np) { -+ /* 1 host and 1 device mode */ -+ usb &= ~R9A06G032_SYSCTRL_USB_H2MODE; -+ of_node_put(usbf_np); -+ } else { -+ /* 2 hosts mode */ -+ usb |= R9A06G032_SYSCTRL_USB_H2MODE; -+ } -+ writel(usb, clocks->reg + R9A06G032_SYSCTRL_USB); -+} -+ - static int __init r9a06g032_clocks_probe(struct platform_device *pdev) - { - struct device *dev = &pdev->dev; -@@ -947,6 +972,9 @@ static int __init r9a06g032_clocks_probe(struct platform_device *pdev) - clocks->reg = of_iomap(np, 0); - if (WARN_ON(!clocks->reg)) - return -ENOMEM; -+ -+ r9a06g032_init_h2mode(clocks); -+ - for (i = 0; i < ARRAY_SIZE(r9a06g032_clocks); ++i) { - const struct r9a06g032_clkdesc *d = &r9a06g032_clocks[i]; - const char *parent_name = d->source ? --- -2.51.0 - diff --git a/queue-5.15/clk-renesas-r9a06g032-export-function-to-set-dmamux.patch b/queue-5.15/clk-renesas-r9a06g032-export-function-to-set-dmamux.patch deleted file mode 100644 index 7f93fd7628..0000000000 --- a/queue-5.15/clk-renesas-r9a06g032-export-function-to-set-dmamux.patch +++ /dev/null @@ -1,111 +0,0 @@ -From 03cbaaa923499a558cc771f966367d16709760a9 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Wed, 27 Apr 2022 11:56:48 +0200 -Subject: clk: renesas: r9a06g032: Export function to set dmamux - -From: Miquel Raynal - -[ Upstream commit 885525c1e7e27ea6207d648a8db20dfbbd9e4238 ] - -The dmamux register is located within the system controller. - -Without syscon, we need an extra helper in order to give write access to -this register to a dmamux driver. - -Signed-off-by: Miquel Raynal -Acked-by: Stephen Boyd -Reviewed-by: Geert Uytterhoeven -Acked-by: Geert Uytterhoeven -Link: https://lore.kernel.org/r/20220427095653.91804-5-miquel.raynal@bootlin.com -Signed-off-by: Vinod Koul -Stable-dep-of: f8def051bbcf ("clk: renesas: r9a06g032: Fix memory leak in error path") -Signed-off-by: Sasha Levin ---- - drivers/clk/renesas/r9a06g032-clocks.c | 35 ++++++++++++++++++- - include/linux/soc/renesas/r9a06g032-sysctrl.h | 11 ++++++ - 2 files changed, 45 insertions(+), 1 deletion(-) - create mode 100644 include/linux/soc/renesas/r9a06g032-sysctrl.h - -diff --git a/drivers/clk/renesas/r9a06g032-clocks.c b/drivers/clk/renesas/r9a06g032-clocks.c -index 3e43ae8480ddf..9f42d46ce6192 100644 ---- a/drivers/clk/renesas/r9a06g032-clocks.c -+++ b/drivers/clk/renesas/r9a06g032-clocks.c -@@ -20,9 +20,12 @@ - #include - #include - #include -+#include - #include - #include - -+#define R9A06G032_SYSCTRL_DMAMUX 0xA0 -+ - struct r9a06g032_gate { - u16 gate, reset, ready, midle, - scon, mirack, mistat; -@@ -315,6 +318,30 @@ struct r9a06g032_priv { - void __iomem *reg; - }; - -+static struct r9a06g032_priv *sysctrl_priv; -+ -+/* Exported helper to access the DMAMUX register */ -+int r9a06g032_sysctrl_set_dmamux(u32 mask, u32 val) -+{ -+ unsigned long flags; -+ u32 dmamux; -+ -+ if (!sysctrl_priv) -+ return -EPROBE_DEFER; -+ -+ spin_lock_irqsave(&sysctrl_priv->lock, flags); -+ -+ dmamux = readl(sysctrl_priv->reg + R9A06G032_SYSCTRL_DMAMUX); -+ dmamux &= ~mask; -+ dmamux |= val & mask; -+ writel(dmamux, sysctrl_priv->reg + R9A06G032_SYSCTRL_DMAMUX); -+ -+ spin_unlock_irqrestore(&sysctrl_priv->lock, flags); -+ -+ return 0; -+} -+EXPORT_SYMBOL_GPL(r9a06g032_sysctrl_set_dmamux); -+ - /* register/bit pairs are encoded as an uint16_t */ - static void - clk_rdesc_set(struct r9a06g032_priv *clocks, -@@ -962,7 +989,13 @@ static int __init r9a06g032_clocks_probe(struct platform_device *pdev) - if (error) - return error; - -- return r9a06g032_add_clk_domain(dev); -+ error = r9a06g032_add_clk_domain(dev); -+ if (error) -+ return error; -+ -+ sysctrl_priv = clocks; -+ -+ return 0; - } - - static const struct of_device_id r9a06g032_match[] = { -diff --git a/include/linux/soc/renesas/r9a06g032-sysctrl.h b/include/linux/soc/renesas/r9a06g032-sysctrl.h -new file mode 100644 -index 0000000000000..066dfb15cbddd ---- /dev/null -+++ b/include/linux/soc/renesas/r9a06g032-sysctrl.h -@@ -0,0 +1,11 @@ -+/* SPDX-License-Identifier: GPL-2.0 */ -+#ifndef __LINUX_SOC_RENESAS_R9A06G032_SYSCTRL_H__ -+#define __LINUX_SOC_RENESAS_R9A06G032_SYSCTRL_H__ -+ -+#ifdef CONFIG_CLK_R9A06G032 -+int r9a06g032_sysctrl_set_dmamux(u32 mask, u32 val); -+#else -+static inline int r9a06g032_sysctrl_set_dmamux(u32 mask, u32 val) { return -ENODEV; } -+#endif -+ -+#endif /* __LINUX_SOC_RENESAS_R9A06G032_SYSCTRL_H__ */ --- -2.51.0 - diff --git a/queue-5.15/clk-renesas-r9a06g032-fix-memory-leak-in-error-path.patch b/queue-5.15/clk-renesas-r9a06g032-fix-memory-leak-in-error-path.patch index 691fced54b..9cea7101b6 100644 --- a/queue-5.15/clk-renesas-r9a06g032-fix-memory-leak-in-error-path.patch +++ b/queue-5.15/clk-renesas-r9a06g032-fix-memory-leak-in-error-path.patch @@ -1,4 +1,4 @@ -From 320095778cbcdbe31f82c86f862a77e639872922 Mon Sep 17 00:00:00 2001 +From 965e0e8f4f387e39aa13db221113f665d925ff30 Mon Sep 17 00:00:00 2001 From: Sasha Levin Date: Thu, 30 Oct 2025 14:16:03 +0800 Subject: clk: renesas: r9a06g032: Fix memory leak in error path @@ -22,15 +22,14 @@ Reviewed-by: Geert Uytterhoeven Link: https://patch.msgid.link/20251030061603.1954-1-vulab@iscas.ac.cn Signed-off-by: Geert Uytterhoeven Signed-off-by: Sasha Levin +Signed-off-by: Greg Kroah-Hartman --- - drivers/clk/renesas/r9a06g032-clocks.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) + drivers/clk/renesas/r9a06g032-clocks.c | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) -diff --git a/drivers/clk/renesas/r9a06g032-clocks.c b/drivers/clk/renesas/r9a06g032-clocks.c -index e46280059db79..7ee8443a38041 100644 --- a/drivers/clk/renesas/r9a06g032-clocks.c +++ b/drivers/clk/renesas/r9a06g032-clocks.c -@@ -970,9 +970,9 @@ static int __init r9a06g032_clocks_probe(struct platform_device *pdev) +@@ -918,9 +918,10 @@ static int __init r9a06g032_clocks_probe if (IS_ERR(mclk)) return PTR_ERR(mclk); @@ -40,9 +39,7 @@ index e46280059db79..7ee8443a38041 100644 + clocks->reg = devm_of_iomap(dev, np, 0, NULL); + if (IS_ERR(clocks->reg)) + return PTR_ERR(clocks->reg); - - r9a06g032_init_h2mode(clocks); - --- -2.51.0 - ++ + for (i = 0; i < ARRAY_SIZE(r9a06g032_clocks); ++i) { + const struct r9a06g032_clkdesc *d = &r9a06g032_clocks[i]; + const char *parent_name = d->source ? diff --git a/queue-5.15/series b/queue-5.15/series index bfd69fb0e2..5a16579bba 100644 --- a/queue-5.15/series +++ b/queue-5.15/series @@ -90,8 +90,6 @@ coresight-etm4x-use-trace-filtering-controls-dynamic.patch coresight-etm4x-add-isb-before-reading-the-trcstatr.patch coresight-etm4x-extract-the-trace-unit-controlling.patch coresight-etm4x-add-context-synchronization-before-e.patch -clk-renesas-r9a06g032-export-function-to-set-dmamux.patch -soc-renesas-r9a06g032-sysctrl-handle-h2mode-setting-.patch clk-renesas-r9a06g032-fix-memory-leak-in-error-path.patch lib-vsprintf-check-pointer-before-dereferencing-in-t.patch ocfs2-relax-bug-to-ocfs2_error-in-__ocfs2_move_exten.patch diff --git a/queue-5.15/soc-renesas-r9a06g032-sysctrl-handle-h2mode-setting-.patch b/queue-5.15/soc-renesas-r9a06g032-sysctrl-handle-h2mode-setting-.patch deleted file mode 100644 index cd0d5726bf..0000000000 --- a/queue-5.15/soc-renesas-r9a06g032-sysctrl-handle-h2mode-setting-.patch +++ /dev/null @@ -1,85 +0,0 @@ -From 2bcf0fd9833c87ff340cba986995cf3b3f230dc9 Mon Sep 17 00:00:00 2001 -From: Sasha Levin -Date: Thu, 5 Jan 2023 16:22:54 +0100 -Subject: soc: renesas: r9a06g032-sysctrl: Handle h2mode setting based on USBF - presence - -From: Herve Codina - -[ Upstream commit e9fee814b054e4f6f2faf3d9c1944869fe41c9dd ] - -The CFG_USB[H2MODE] allows to switch the USB configuration. The -configuration supported are: - - One host and one device -or - - Two hosts - -Set CFG_USB[H2MODE] based on the USBF controller (USB device) -availability. - -Signed-off-by: Herve Codina -Reviewed-by: Geert Uytterhoeven -Link: https://lore.kernel.org/r/20230105152257.310642-3-herve.codina@bootlin.com -Signed-off-by: Greg Kroah-Hartman -Stable-dep-of: f8def051bbcf ("clk: renesas: r9a06g032: Fix memory leak in error path") -Signed-off-by: Sasha Levin ---- - drivers/clk/renesas/r9a06g032-clocks.c | 28 ++++++++++++++++++++++++++ - 1 file changed, 28 insertions(+) - -diff --git a/drivers/clk/renesas/r9a06g032-clocks.c b/drivers/clk/renesas/r9a06g032-clocks.c -index 9f42d46ce6192..e46280059db79 100644 ---- a/drivers/clk/renesas/r9a06g032-clocks.c -+++ b/drivers/clk/renesas/r9a06g032-clocks.c -@@ -24,6 +24,8 @@ - #include - #include - -+#define R9A06G032_SYSCTRL_USB 0x00 -+#define R9A06G032_SYSCTRL_USB_H2MODE (1<<1) - #define R9A06G032_SYSCTRL_DMAMUX 0xA0 - - struct r9a06g032_gate { -@@ -919,6 +921,29 @@ static void r9a06g032_clocks_del_clk_provider(void *data) - of_clk_del_provider(data); - } - -+static void __init r9a06g032_init_h2mode(struct r9a06g032_priv *clocks) -+{ -+ struct device_node *usbf_np = NULL; -+ u32 usb; -+ -+ while ((usbf_np = of_find_compatible_node(usbf_np, NULL, -+ "renesas,rzn1-usbf"))) { -+ if (of_device_is_available(usbf_np)) -+ break; -+ } -+ -+ usb = readl(clocks->reg + R9A06G032_SYSCTRL_USB); -+ if (usbf_np) { -+ /* 1 host and 1 device mode */ -+ usb &= ~R9A06G032_SYSCTRL_USB_H2MODE; -+ of_node_put(usbf_np); -+ } else { -+ /* 2 hosts mode */ -+ usb |= R9A06G032_SYSCTRL_USB_H2MODE; -+ } -+ writel(usb, clocks->reg + R9A06G032_SYSCTRL_USB); -+} -+ - static int __init r9a06g032_clocks_probe(struct platform_device *pdev) - { - struct device *dev = &pdev->dev; -@@ -948,6 +973,9 @@ static int __init r9a06g032_clocks_probe(struct platform_device *pdev) - clocks->reg = of_iomap(np, 0); - if (WARN_ON(!clocks->reg)) - return -ENOMEM; -+ -+ r9a06g032_init_h2mode(clocks); -+ - for (i = 0; i < ARRAY_SIZE(r9a06g032_clocks); ++i) { - const struct r9a06g032_clkdesc *d = &r9a06g032_clocks[i]; - const char *parent_name = d->source ? --- -2.51.0 -