linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] clk: imx: imx_register_uart_clocks update
@ 2023-01-04 11:00 Peng Fan (OSS)
  2023-01-04 11:00 ` [PATCH 1/4] clk: imx: avoid memory leak Peng Fan (OSS)
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Peng Fan (OSS) @ 2023-01-04 11:00 UTC (permalink / raw)
  To: abelvesa, abel.vesa, mturquette, sboyd, shawnguo, s.hauer, kernel,
	festevam
  Cc: linux-imx, linux-clk, linux-arm-kernel, linux-kernel, aford173,
	Peng Fan

From: Peng Fan <peng.fan@nxp.com>

This patchset is to cleanup the imx_register_uart_clocks usage, and
use this API for i.MX93 clk driver.

Peng Fan (4):
  clk: imx: avoid memory leak
  clk: imx: get stdout clk count from device tree
  clk: imx: remove clk_count of imx_register_uart_clocks
  clk: imx: imx93: invoke imx_register_uart_clocks

 drivers/clk/imx/clk-imx25.c   |  2 +-
 drivers/clk/imx/clk-imx27.c   |  2 +-
 drivers/clk/imx/clk-imx35.c   |  2 +-
 drivers/clk/imx/clk-imx5.c    |  6 +++---
 drivers/clk/imx/clk-imx6q.c   |  2 +-
 drivers/clk/imx/clk-imx6sl.c  |  2 +-
 drivers/clk/imx/clk-imx6sll.c |  2 +-
 drivers/clk/imx/clk-imx6sx.c  |  2 +-
 drivers/clk/imx/clk-imx7d.c   |  2 +-
 drivers/clk/imx/clk-imx7ulp.c |  4 ++--
 drivers/clk/imx/clk-imx8mm.c  |  2 +-
 drivers/clk/imx/clk-imx8mn.c  |  2 +-
 drivers/clk/imx/clk-imx8mp.c  |  2 +-
 drivers/clk/imx/clk-imx8mq.c  |  2 +-
 drivers/clk/imx/clk-imx8ulp.c |  2 +-
 drivers/clk/imx/clk-imx93.c   |  2 ++
 drivers/clk/imx/clk.c         | 17 ++++++++++++-----
 drivers/clk/imx/clk.h         |  4 ++--
 18 files changed, 34 insertions(+), 25 deletions(-)

-- 
2.37.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [PATCH 1/4] clk: imx: avoid memory leak
  2023-01-04 11:00 [PATCH 0/4] clk: imx: imx_register_uart_clocks update Peng Fan (OSS)
@ 2023-01-04 11:00 ` Peng Fan (OSS)
  2023-01-04 11:00 ` [PATCH 2/4] clk: imx: get stdout clk count from device tree Peng Fan (OSS)
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Peng Fan (OSS) @ 2023-01-04 11:00 UTC (permalink / raw)
  To: abelvesa, abel.vesa, mturquette, sboyd, shawnguo, s.hauer, kernel,
	festevam
  Cc: linux-imx, linux-clk, linux-arm-kernel, linux-kernel, aford173,
	Peng Fan

From: Peng Fan <peng.fan@nxp.com>

In case imx_register_uart_clocks return early, the imx_uart_clocks
memory will be no freed. So execute kfree always to avoid memory leak.

Fixes: 379c9a24cc23 ("clk: imx: Fix reparenting of UARTs not associated with stdout")
Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 drivers/clk/imx/clk.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/clk/imx/clk.c b/drivers/clk/imx/clk.c
index b636cc099d96..5b73a477f11f 100644
--- a/drivers/clk/imx/clk.c
+++ b/drivers/clk/imx/clk.c
@@ -205,9 +205,10 @@ static int __init imx_clk_disable_uart(void)
 			clk_disable_unprepare(imx_uart_clocks[i]);
 			clk_put(imx_uart_clocks[i]);
 		}
-		kfree(imx_uart_clocks);
 	}
 
+	kfree(imx_uart_clocks);
+
 	return 0;
 }
 late_initcall_sync(imx_clk_disable_uart);
-- 
2.37.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 2/4] clk: imx: get stdout clk count from device tree
  2023-01-04 11:00 [PATCH 0/4] clk: imx: imx_register_uart_clocks update Peng Fan (OSS)
  2023-01-04 11:00 ` [PATCH 1/4] clk: imx: avoid memory leak Peng Fan (OSS)
@ 2023-01-04 11:00 ` Peng Fan (OSS)
  2023-01-04 11:00 ` [PATCH 3/4] clk: imx: remove clk_count of imx_register_uart_clocks Peng Fan (OSS)
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Peng Fan (OSS) @ 2023-01-04 11:00 UTC (permalink / raw)
  To: abelvesa, abel.vesa, mturquette, sboyd, shawnguo, s.hauer, kernel,
	festevam
  Cc: linux-imx, linux-clk, linux-arm-kernel, linux-kernel, aford173,
	Peng Fan

From: Peng Fan <peng.fan@nxp.com>

Currently the clk_count is specified by API users, but this
parameter is wrongly used, for example, i.MX8M clk driver use 4,
however the uart device tree node only use 2 clock entries. So
let using of_clk_get_parent_count to get the exact clock count.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 drivers/clk/imx/clk.c | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/clk/imx/clk.c b/drivers/clk/imx/clk.c
index 5b73a477f11f..df810f0ee16d 100644
--- a/drivers/clk/imx/clk.c
+++ b/drivers/clk/imx/clk.c
@@ -167,6 +167,8 @@ __setup_param("earlyprintk", imx_keep_uart_earlyprintk,
 
 void imx_register_uart_clocks(unsigned int clk_count)
 {
+	unsigned int num __maybe_unused;
+
 	imx_enabled_uart_clocks = 0;
 
 /* i.MX boards use device trees now.  For build tests without CONFIG_OF, do nothing */
@@ -174,14 +176,18 @@ void imx_register_uart_clocks(unsigned int clk_count)
 	if (imx_keep_uart_clocks) {
 		int i;
 
-		imx_uart_clocks = kcalloc(clk_count, sizeof(struct clk *), GFP_KERNEL);
-		if (!imx_uart_clocks)
+		num = of_clk_get_parent_count(of_stdout);
+		if (!num)
 			return;
 
 		if (!of_stdout)
 			return;
 
-		for (i = 0; i < clk_count; i++) {
+		imx_uart_clocks = kcalloc(num, sizeof(struct clk *), GFP_KERNEL);
+		if (!imx_uart_clocks)
+			return;
+
+		for (i = 0; i < num; i++) {
 			imx_uart_clocks[imx_enabled_uart_clocks] = of_clk_get(of_stdout, i);
 
 			/* Stop if there are no more of_stdout references */
-- 
2.37.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 3/4] clk: imx: remove clk_count of imx_register_uart_clocks
  2023-01-04 11:00 [PATCH 0/4] clk: imx: imx_register_uart_clocks update Peng Fan (OSS)
  2023-01-04 11:00 ` [PATCH 1/4] clk: imx: avoid memory leak Peng Fan (OSS)
  2023-01-04 11:00 ` [PATCH 2/4] clk: imx: get stdout clk count from device tree Peng Fan (OSS)
@ 2023-01-04 11:00 ` Peng Fan (OSS)
  2023-01-04 11:00 ` [PATCH 4/4] clk: imx: imx93: invoke imx_register_uart_clocks Peng Fan (OSS)
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Peng Fan (OSS) @ 2023-01-04 11:00 UTC (permalink / raw)
  To: abelvesa, abel.vesa, mturquette, sboyd, shawnguo, s.hauer, kernel,
	festevam
  Cc: linux-imx, linux-clk, linux-arm-kernel, linux-kernel, aford173,
	Peng Fan

From: Peng Fan <peng.fan@nxp.com>

The clk count has been get with of_clk_get_parent_count, there is
no need to pass clk_count from users.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 drivers/clk/imx/clk-imx25.c   | 2 +-
 drivers/clk/imx/clk-imx27.c   | 2 +-
 drivers/clk/imx/clk-imx35.c   | 2 +-
 drivers/clk/imx/clk-imx5.c    | 6 +++---
 drivers/clk/imx/clk-imx6q.c   | 2 +-
 drivers/clk/imx/clk-imx6sl.c  | 2 +-
 drivers/clk/imx/clk-imx6sll.c | 2 +-
 drivers/clk/imx/clk-imx6sx.c  | 2 +-
 drivers/clk/imx/clk-imx7d.c   | 2 +-
 drivers/clk/imx/clk-imx7ulp.c | 4 ++--
 drivers/clk/imx/clk-imx8mm.c  | 2 +-
 drivers/clk/imx/clk-imx8mn.c  | 2 +-
 drivers/clk/imx/clk-imx8mp.c  | 2 +-
 drivers/clk/imx/clk-imx8mq.c  | 2 +-
 drivers/clk/imx/clk-imx8ulp.c | 2 +-
 drivers/clk/imx/clk.c         | 2 +-
 drivers/clk/imx/clk.h         | 4 ++--
 17 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/drivers/clk/imx/clk-imx25.c b/drivers/clk/imx/clk-imx25.c
index 66192fe0a898..cc013b343e62 100644
--- a/drivers/clk/imx/clk-imx25.c
+++ b/drivers/clk/imx/clk-imx25.c
@@ -218,7 +218,7 @@ static int __init __mx25_clocks_init(void __iomem *ccm_base)
 	 */
 	clk_set_parent(clk[cko_sel], clk[ipg]);
 
-	imx_register_uart_clocks(6);
+	imx_register_uart_clocks();
 
 	return 0;
 }
diff --git a/drivers/clk/imx/clk-imx27.c b/drivers/clk/imx/clk-imx27.c
index 56a5fc402b10..5d177125728d 100644
--- a/drivers/clk/imx/clk-imx27.c
+++ b/drivers/clk/imx/clk-imx27.c
@@ -165,7 +165,7 @@ static void __init _mx27_clocks_init(unsigned long fref)
 
 	clk_prepare_enable(clk[IMX27_CLK_EMI_AHB_GATE]);
 
-	imx_register_uart_clocks(7);
+	imx_register_uart_clocks();
 
 	imx_print_silicon_rev("i.MX27", mx27_revision());
 }
diff --git a/drivers/clk/imx/clk-imx35.c b/drivers/clk/imx/clk-imx35.c
index 0fe5ac210156..7dcbaea3fea3 100644
--- a/drivers/clk/imx/clk-imx35.c
+++ b/drivers/clk/imx/clk-imx35.c
@@ -235,7 +235,7 @@ static void __init _mx35_clocks_init(void)
 	 */
 	clk_prepare_enable(clk[scc_gate]);
 
-	imx_register_uart_clocks(4);
+	imx_register_uart_clocks();
 
 	imx_print_silicon_rev("i.MX35", mx35_revision());
 }
diff --git a/drivers/clk/imx/clk-imx5.c b/drivers/clk/imx/clk-imx5.c
index e4493846454d..b82044911603 100644
--- a/drivers/clk/imx/clk-imx5.c
+++ b/drivers/clk/imx/clk-imx5.c
@@ -358,7 +358,7 @@ static void __init mx50_clocks_init(struct device_node *np)
 	r = clk_round_rate(clk[IMX5_CLK_USBOH3_PER_GATE], 54000000);
 	clk_set_rate(clk[IMX5_CLK_USBOH3_PER_GATE], r);
 
-	imx_register_uart_clocks(5);
+	imx_register_uart_clocks();
 }
 CLK_OF_DECLARE(imx50_ccm, "fsl,imx50-ccm", mx50_clocks_init);
 
@@ -464,7 +464,7 @@ static void __init mx51_clocks_init(struct device_node *np)
 	val |= 1 << 23;
 	writel(val, MXC_CCM_CLPCR);
 
-	imx_register_uart_clocks(3);
+	imx_register_uart_clocks();
 }
 CLK_OF_DECLARE(imx51_ccm, "fsl,imx51-ccm", mx51_clocks_init);
 
@@ -609,6 +609,6 @@ static void __init mx53_clocks_init(struct device_node *np)
 	r = clk_round_rate(clk[IMX5_CLK_USBOH3_PER_GATE], 54000000);
 	clk_set_rate(clk[IMX5_CLK_USBOH3_PER_GATE], r);
 
-	imx_register_uart_clocks(5);
+	imx_register_uart_clocks();
 }
 CLK_OF_DECLARE(imx53_ccm, "fsl,imx53-ccm", mx53_clocks_init);
diff --git a/drivers/clk/imx/clk-imx6q.c b/drivers/clk/imx/clk-imx6q.c
index de36f58d551c..da71e064531e 100644
--- a/drivers/clk/imx/clk-imx6q.c
+++ b/drivers/clk/imx/clk-imx6q.c
@@ -974,6 +974,6 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)
 			       hws[IMX6QDL_CLK_PLL3_USB_OTG]->clk);
 	}
 
-	imx_register_uart_clocks(2);
+	imx_register_uart_clocks();
 }
 CLK_OF_DECLARE(imx6q, "fsl,imx6q-ccm", imx6q_clocks_init);
diff --git a/drivers/clk/imx/clk-imx6sl.c b/drivers/clk/imx/clk-imx6sl.c
index 277365970320..47b8667cfa3f 100644
--- a/drivers/clk/imx/clk-imx6sl.c
+++ b/drivers/clk/imx/clk-imx6sl.c
@@ -440,6 +440,6 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node)
 	clk_set_parent(hws[IMX6SL_CLK_LCDIF_AXI_SEL]->clk,
 		       hws[IMX6SL_CLK_PLL2_PFD2]->clk);
 
-	imx_register_uart_clocks(2);
+	imx_register_uart_clocks();
 }
 CLK_OF_DECLARE(imx6sl, "fsl,imx6sl-ccm", imx6sl_clocks_init);
diff --git a/drivers/clk/imx/clk-imx6sll.c b/drivers/clk/imx/clk-imx6sll.c
index 1c9351649eab..2fa70bf35e45 100644
--- a/drivers/clk/imx/clk-imx6sll.c
+++ b/drivers/clk/imx/clk-imx6sll.c
@@ -340,7 +340,7 @@ static void __init imx6sll_clocks_init(struct device_node *ccm_node)
 
 	of_clk_add_hw_provider(np, of_clk_hw_onecell_get, clk_hw_data);
 
-	imx_register_uart_clocks(5);
+	imx_register_uart_clocks();
 
 	/* Lower the AHB clock rate before changing the clock source. */
 	clk_set_rate(hws[IMX6SLL_CLK_AHB]->clk, 99000000);
diff --git a/drivers/clk/imx/clk-imx6sx.c b/drivers/clk/imx/clk-imx6sx.c
index b378531240e6..7cf86707bc39 100644
--- a/drivers/clk/imx/clk-imx6sx.c
+++ b/drivers/clk/imx/clk-imx6sx.c
@@ -548,6 +548,6 @@ static void __init imx6sx_clocks_init(struct device_node *ccm_node)
 	clk_set_parent(hws[IMX6SX_CLK_QSPI1_SEL]->clk, hws[IMX6SX_CLK_PLL2_BUS]->clk);
 	clk_set_parent(hws[IMX6SX_CLK_QSPI2_SEL]->clk, hws[IMX6SX_CLK_PLL2_BUS]->clk);
 
-	imx_register_uart_clocks(2);
+	imx_register_uart_clocks();
 }
 CLK_OF_DECLARE(imx6sx, "fsl,imx6sx-ccm", imx6sx_clocks_init);
diff --git a/drivers/clk/imx/clk-imx7d.c b/drivers/clk/imx/clk-imx7d.c
index d681b6c4b29a..2b77d1fc7bb9 100644
--- a/drivers/clk/imx/clk-imx7d.c
+++ b/drivers/clk/imx/clk-imx7d.c
@@ -882,7 +882,7 @@ static void __init imx7d_clocks_init(struct device_node *ccm_node)
 	hws[IMX7D_USB1_MAIN_480M_CLK] = imx_clk_hw_fixed_factor("pll_usb1_main_clk", "osc", 20, 1);
 	hws[IMX7D_USB_MAIN_480M_CLK] = imx_clk_hw_fixed_factor("pll_usb_main_clk", "osc", 20, 1);
 
-	imx_register_uart_clocks(7);
+	imx_register_uart_clocks();
 
 }
 CLK_OF_DECLARE(imx7d, "fsl,imx7d-ccm", imx7d_clocks_init);
diff --git a/drivers/clk/imx/clk-imx7ulp.c b/drivers/clk/imx/clk-imx7ulp.c
index 208a0ab80d5e..f4a48a42637f 100644
--- a/drivers/clk/imx/clk-imx7ulp.c
+++ b/drivers/clk/imx/clk-imx7ulp.c
@@ -176,7 +176,7 @@ static void __init imx7ulp_clk_pcc2_init(struct device_node *np)
 
 	of_clk_add_hw_provider(np, of_clk_hw_onecell_get, clk_data);
 
-	imx_register_uart_clocks(2);
+	imx_register_uart_clocks();
 }
 CLK_OF_DECLARE(imx7ulp_clk_pcc2, "fsl,imx7ulp-pcc2", imx7ulp_clk_pcc2_init);
 
@@ -223,7 +223,7 @@ static void __init imx7ulp_clk_pcc3_init(struct device_node *np)
 
 	of_clk_add_hw_provider(np, of_clk_hw_onecell_get, clk_data);
 
-	imx_register_uart_clocks(7);
+	imx_register_uart_clocks();
 }
 CLK_OF_DECLARE(imx7ulp_clk_pcc3, "fsl,imx7ulp-pcc3", imx7ulp_clk_pcc3_init);
 
diff --git a/drivers/clk/imx/clk-imx8mm.c b/drivers/clk/imx/clk-imx8mm.c
index cb44e8148e53..b618892170f2 100644
--- a/drivers/clk/imx/clk-imx8mm.c
+++ b/drivers/clk/imx/clk-imx8mm.c
@@ -609,7 +609,7 @@ static int imx8mm_clocks_probe(struct platform_device *pdev)
 		goto unregister_hws;
 	}
 
-	imx_register_uart_clocks(4);
+	imx_register_uart_clocks();
 
 	return 0;
 
diff --git a/drivers/clk/imx/clk-imx8mn.c b/drivers/clk/imx/clk-imx8mn.c
index af256ade554f..a042ed3a9d6c 100644
--- a/drivers/clk/imx/clk-imx8mn.c
+++ b/drivers/clk/imx/clk-imx8mn.c
@@ -602,7 +602,7 @@ static int imx8mn_clocks_probe(struct platform_device *pdev)
 		goto unregister_hws;
 	}
 
-	imx_register_uart_clocks(4);
+	imx_register_uart_clocks();
 
 	return 0;
 
diff --git a/drivers/clk/imx/clk-imx8mp.c b/drivers/clk/imx/clk-imx8mp.c
index a57d877d393d..3253589851ff 100644
--- a/drivers/clk/imx/clk-imx8mp.c
+++ b/drivers/clk/imx/clk-imx8mp.c
@@ -723,7 +723,7 @@ static int imx8mp_clocks_probe(struct platform_device *pdev)
 
 	of_clk_add_hw_provider(np, of_clk_hw_onecell_get, clk_hw_data);
 
-	imx_register_uart_clocks(4);
+	imx_register_uart_clocks();
 
 	return 0;
 }
diff --git a/drivers/clk/imx/clk-imx8mq.c b/drivers/clk/imx/clk-imx8mq.c
index 2bcaec19a999..4bd65879fcd3 100644
--- a/drivers/clk/imx/clk-imx8mq.c
+++ b/drivers/clk/imx/clk-imx8mq.c
@@ -601,7 +601,7 @@ static int imx8mq_clocks_probe(struct platform_device *pdev)
 		goto unregister_hws;
 	}
 
-	imx_register_uart_clocks(4);
+	imx_register_uart_clocks();
 
 	return 0;
 
diff --git a/drivers/clk/imx/clk-imx8ulp.c b/drivers/clk/imx/clk-imx8ulp.c
index 8eb1af2d6429..a07df3b44703 100644
--- a/drivers/clk/imx/clk-imx8ulp.c
+++ b/drivers/clk/imx/clk-imx8ulp.c
@@ -385,7 +385,7 @@ static int imx8ulp_clk_pcc3_init(struct platform_device *pdev)
 	if (ret)
 		return ret;
 
-	imx_register_uart_clocks(1);
+	imx_register_uart_clocks();
 
 	/* register the pcc3 reset controller */
 	return imx8ulp_pcc_reset_init(pdev, base, pcc3_resets, ARRAY_SIZE(pcc3_resets));
diff --git a/drivers/clk/imx/clk.c b/drivers/clk/imx/clk.c
index df810f0ee16d..4f7db3c9e144 100644
--- a/drivers/clk/imx/clk.c
+++ b/drivers/clk/imx/clk.c
@@ -165,7 +165,7 @@ __setup_param("earlycon", imx_keep_uart_earlycon,
 __setup_param("earlyprintk", imx_keep_uart_earlyprintk,
 	      imx_keep_uart_clocks_param, 0);
 
-void imx_register_uart_clocks(unsigned int clk_count)
+void imx_register_uart_clocks(void)
 {
 	unsigned int num __maybe_unused;
 
diff --git a/drivers/clk/imx/clk.h b/drivers/clk/imx/clk.h
index 689b3ad927c0..c4c73477e772 100644
--- a/drivers/clk/imx/clk.h
+++ b/drivers/clk/imx/clk.h
@@ -12,9 +12,9 @@ extern bool mcore_booted;
 void imx_check_clocks(struct clk *clks[], unsigned int count);
 void imx_check_clk_hws(struct clk_hw *clks[], unsigned int count);
 #ifndef MODULE
-void imx_register_uart_clocks(unsigned int clk_count);
+void imx_register_uart_clocks(void);
 #else
-static inline void imx_register_uart_clocks(unsigned int clk_count)
+static inline void imx_register_uart_clocks(void)
 {
 }
 #endif
-- 
2.37.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [PATCH 4/4] clk: imx: imx93: invoke imx_register_uart_clocks
  2023-01-04 11:00 [PATCH 0/4] clk: imx: imx_register_uart_clocks update Peng Fan (OSS)
                   ` (2 preceding siblings ...)
  2023-01-04 11:00 ` [PATCH 3/4] clk: imx: remove clk_count of imx_register_uart_clocks Peng Fan (OSS)
@ 2023-01-04 11:00 ` Peng Fan (OSS)
  2023-01-09 10:59 ` [PATCH 0/4] clk: imx: imx_register_uart_clocks update Abel Vesa
  2023-01-29 17:48 ` Abel Vesa
  5 siblings, 0 replies; 7+ messages in thread
From: Peng Fan (OSS) @ 2023-01-04 11:00 UTC (permalink / raw)
  To: abelvesa, abel.vesa, mturquette, sboyd, shawnguo, s.hauer, kernel,
	festevam
  Cc: linux-imx, linux-clk, linux-arm-kernel, linux-kernel, aford173,
	Peng Fan

From: Peng Fan <peng.fan@nxp.com>

Invoke imx_register_uart_clocks to keep uart clk on when earlycon
specified.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
---
 drivers/clk/imx/clk-imx93.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/clk/imx/clk-imx93.c b/drivers/clk/imx/clk-imx93.c
index e464d9e71fbc..8d0974db6bfd 100644
--- a/drivers/clk/imx/clk-imx93.c
+++ b/drivers/clk/imx/clk-imx93.c
@@ -326,6 +326,8 @@ static int imx93_clocks_probe(struct platform_device *pdev)
 		goto unregister_hws;
 	}
 
+	imx_register_uart_clocks();
+
 	return 0;
 
 unregister_hws:
-- 
2.37.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/4] clk: imx: imx_register_uart_clocks update
  2023-01-04 11:00 [PATCH 0/4] clk: imx: imx_register_uart_clocks update Peng Fan (OSS)
                   ` (3 preceding siblings ...)
  2023-01-04 11:00 ` [PATCH 4/4] clk: imx: imx93: invoke imx_register_uart_clocks Peng Fan (OSS)
@ 2023-01-09 10:59 ` Abel Vesa
  2023-01-29 17:48 ` Abel Vesa
  5 siblings, 0 replies; 7+ messages in thread
From: Abel Vesa @ 2023-01-09 10:59 UTC (permalink / raw)
  To: Peng Fan (OSS)
  Cc: abelvesa, mturquette, sboyd, shawnguo, s.hauer, kernel, festevam,
	linux-imx, linux-clk, linux-arm-kernel, linux-kernel, aford173,
	Peng Fan

On 23-01-04 19:00:28, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> This patchset is to cleanup the imx_register_uart_clocks usage, and
> use this API for i.MX93 clk driver.

Whole series LGTM.

Reviewed-by: Abel Vesa <abel.vesa@linaro.org>

> 
> Peng Fan (4):
>   clk: imx: avoid memory leak
>   clk: imx: get stdout clk count from device tree
>   clk: imx: remove clk_count of imx_register_uart_clocks
>   clk: imx: imx93: invoke imx_register_uart_clocks
> 
>  drivers/clk/imx/clk-imx25.c   |  2 +-
>  drivers/clk/imx/clk-imx27.c   |  2 +-
>  drivers/clk/imx/clk-imx35.c   |  2 +-
>  drivers/clk/imx/clk-imx5.c    |  6 +++---
>  drivers/clk/imx/clk-imx6q.c   |  2 +-
>  drivers/clk/imx/clk-imx6sl.c  |  2 +-
>  drivers/clk/imx/clk-imx6sll.c |  2 +-
>  drivers/clk/imx/clk-imx6sx.c  |  2 +-
>  drivers/clk/imx/clk-imx7d.c   |  2 +-
>  drivers/clk/imx/clk-imx7ulp.c |  4 ++--
>  drivers/clk/imx/clk-imx8mm.c  |  2 +-
>  drivers/clk/imx/clk-imx8mn.c  |  2 +-
>  drivers/clk/imx/clk-imx8mp.c  |  2 +-
>  drivers/clk/imx/clk-imx8mq.c  |  2 +-
>  drivers/clk/imx/clk-imx8ulp.c |  2 +-
>  drivers/clk/imx/clk-imx93.c   |  2 ++
>  drivers/clk/imx/clk.c         | 17 ++++++++++++-----
>  drivers/clk/imx/clk.h         |  4 ++--
>  18 files changed, 34 insertions(+), 25 deletions(-)
> 
> -- 
> 2.37.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH 0/4] clk: imx: imx_register_uart_clocks update
  2023-01-04 11:00 [PATCH 0/4] clk: imx: imx_register_uart_clocks update Peng Fan (OSS)
                   ` (4 preceding siblings ...)
  2023-01-09 10:59 ` [PATCH 0/4] clk: imx: imx_register_uart_clocks update Abel Vesa
@ 2023-01-29 17:48 ` Abel Vesa
  5 siblings, 0 replies; 7+ messages in thread
From: Abel Vesa @ 2023-01-29 17:48 UTC (permalink / raw)
  To: Peng Fan (OSS)
  Cc: abelvesa, mturquette, sboyd, shawnguo, s.hauer, kernel, festevam,
	linux-imx, linux-clk, linux-arm-kernel, linux-kernel, aford173,
	Peng Fan

On 23-01-04 19:00:28, Peng Fan (OSS) wrote:
> From: Peng Fan <peng.fan@nxp.com>
> 
> This patchset is to cleanup the imx_register_uart_clocks usage, and
> use this API for i.MX93 clk driver.
> 
> Peng Fan (4):
>   clk: imx: avoid memory leak
>   clk: imx: get stdout clk count from device tree
>   clk: imx: remove clk_count of imx_register_uart_clocks
>   clk: imx: imx93: invoke imx_register_uart_clocks

Applied all.

Thanks.

> 
>  drivers/clk/imx/clk-imx25.c   |  2 +-
>  drivers/clk/imx/clk-imx27.c   |  2 +-
>  drivers/clk/imx/clk-imx35.c   |  2 +-
>  drivers/clk/imx/clk-imx5.c    |  6 +++---
>  drivers/clk/imx/clk-imx6q.c   |  2 +-
>  drivers/clk/imx/clk-imx6sl.c  |  2 +-
>  drivers/clk/imx/clk-imx6sll.c |  2 +-
>  drivers/clk/imx/clk-imx6sx.c  |  2 +-
>  drivers/clk/imx/clk-imx7d.c   |  2 +-
>  drivers/clk/imx/clk-imx7ulp.c |  4 ++--
>  drivers/clk/imx/clk-imx8mm.c  |  2 +-
>  drivers/clk/imx/clk-imx8mn.c  |  2 +-
>  drivers/clk/imx/clk-imx8mp.c  |  2 +-
>  drivers/clk/imx/clk-imx8mq.c  |  2 +-
>  drivers/clk/imx/clk-imx8ulp.c |  2 +-
>  drivers/clk/imx/clk-imx93.c   |  2 ++
>  drivers/clk/imx/clk.c         | 17 ++++++++++++-----
>  drivers/clk/imx/clk.h         |  4 ++--
>  18 files changed, 34 insertions(+), 25 deletions(-)
> 
> -- 
> 2.37.1
> 

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-01-29 17:49 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-04 11:00 [PATCH 0/4] clk: imx: imx_register_uart_clocks update Peng Fan (OSS)
2023-01-04 11:00 ` [PATCH 1/4] clk: imx: avoid memory leak Peng Fan (OSS)
2023-01-04 11:00 ` [PATCH 2/4] clk: imx: get stdout clk count from device tree Peng Fan (OSS)
2023-01-04 11:00 ` [PATCH 3/4] clk: imx: remove clk_count of imx_register_uart_clocks Peng Fan (OSS)
2023-01-04 11:00 ` [PATCH 4/4] clk: imx: imx93: invoke imx_register_uart_clocks Peng Fan (OSS)
2023-01-09 10:59 ` [PATCH 0/4] clk: imx: imx_register_uart_clocks update Abel Vesa
2023-01-29 17:48 ` Abel Vesa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).