* [PATCH 1/2] clk: imx: Remove __init for imx_register_uart_clocks() API
@ 2019-06-19 7:12 Anson.Huang
2019-06-19 7:12 ` [PATCH 2/2] clk: imx8mq: Keep uart clocks on during system boot Anson.Huang
2019-06-24 1:44 ` [PATCH 1/2] clk: imx: Remove __init for imx_register_uart_clocks() API Shawn Guo
0 siblings, 2 replies; 3+ messages in thread
From: Anson.Huang @ 2019-06-19 7:12 UTC (permalink / raw)
To: mturquette, sboyd, shawnguo, s.hauer, kernel, festevam,
abel.vesa, ccaione, leonard.crestez, aisheng.dong, linux-clk,
linux-arm-kernel, linux-kernel
Cc: Linux-imx
From: Anson Huang <Anson.Huang@nxp.com>
Some of i.MX SoCs' clock driver use platform driver model,
and they need to call imx_register_uart_clocks() API, so
imx_register_uart_clocks() API should NOT be in .init section.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
drivers/clk/imx/clk.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/clk/imx/clk.c b/drivers/clk/imx/clk.c
index f241189..76457b2 100644
--- a/drivers/clk/imx/clk.c
+++ b/drivers/clk/imx/clk.c
@@ -123,8 +123,8 @@ void imx_cscmr1_fixup(u32 *val)
return;
}
-static int imx_keep_uart_clocks __initdata;
-static struct clk ** const *imx_uart_clocks __initdata;
+static int imx_keep_uart_clocks;
+static struct clk ** const *imx_uart_clocks;
static int __init imx_keep_uart_clocks_param(char *str)
{
@@ -137,7 +137,7 @@ __setup_param("earlycon", imx_keep_uart_earlycon,
__setup_param("earlyprintk", imx_keep_uart_earlyprintk,
imx_keep_uart_clocks_param, 0);
-void __init imx_register_uart_clocks(struct clk ** const clks[])
+void imx_register_uart_clocks(struct clk ** const clks[])
{
if (imx_keep_uart_clocks) {
int i;
--
2.7.4
_______________________________________________
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] 3+ messages in thread
* [PATCH 2/2] clk: imx8mq: Keep uart clocks on during system boot
2019-06-19 7:12 [PATCH 1/2] clk: imx: Remove __init for imx_register_uart_clocks() API Anson.Huang
@ 2019-06-19 7:12 ` Anson.Huang
2019-06-24 1:44 ` [PATCH 1/2] clk: imx: Remove __init for imx_register_uart_clocks() API Shawn Guo
1 sibling, 0 replies; 3+ messages in thread
From: Anson.Huang @ 2019-06-19 7:12 UTC (permalink / raw)
To: mturquette, sboyd, shawnguo, s.hauer, kernel, festevam,
abel.vesa, ccaione, leonard.crestez, aisheng.dong, linux-clk,
linux-arm-kernel, linux-kernel
Cc: Linux-imx
From: Anson Huang <Anson.Huang@nxp.com>
Call imx_register_uart_clocks() API to keep uart clocks enabled
when earlyprintk or earlycon is active.
Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
drivers/clk/imx/clk-imx8mq.c | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/drivers/clk/imx/clk-imx8mq.c b/drivers/clk/imx/clk-imx8mq.c
index 5fbc2a7..d407a07 100644
--- a/drivers/clk/imx/clk-imx8mq.c
+++ b/drivers/clk/imx/clk-imx8mq.c
@@ -272,6 +272,14 @@ static const char * const imx8mq_clko2_sels[] = {"osc_25m", "sys2_pll_200m", "sy
static struct clk_onecell_data clk_data;
+static struct clk ** const uart_clks[] = {
+ &clks[IMX8MQ_CLK_UART1_ROOT],
+ &clks[IMX8MQ_CLK_UART2_ROOT],
+ &clks[IMX8MQ_CLK_UART3_ROOT],
+ &clks[IMX8MQ_CLK_UART4_ROOT],
+ NULL
+};
+
static int imx8mq_clocks_probe(struct platform_device *pdev)
{
struct device *dev = &pdev->dev;
@@ -555,6 +563,8 @@ static int imx8mq_clocks_probe(struct platform_device *pdev)
err = of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
WARN_ON(err);
+ imx_register_uart_clocks(uart_clks);
+
return err;
}
--
2.7.4
_______________________________________________
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] 3+ messages in thread
* Re: [PATCH 1/2] clk: imx: Remove __init for imx_register_uart_clocks() API
2019-06-19 7:12 [PATCH 1/2] clk: imx: Remove __init for imx_register_uart_clocks() API Anson.Huang
2019-06-19 7:12 ` [PATCH 2/2] clk: imx8mq: Keep uart clocks on during system boot Anson.Huang
@ 2019-06-24 1:44 ` Shawn Guo
1 sibling, 0 replies; 3+ messages in thread
From: Shawn Guo @ 2019-06-24 1:44 UTC (permalink / raw)
To: Anson.Huang
Cc: aisheng.dong, abel.vesa, ccaione, sboyd, mturquette,
linux-kernel, linux-clk, Linux-imx, kernel, leonard.crestez,
festevam, s.hauer, linux-arm-kernel
On Wed, Jun 19, 2019 at 03:12:39PM +0800, Anson.Huang@nxp.com wrote:
> From: Anson Huang <Anson.Huang@nxp.com>
>
> Some of i.MX SoCs' clock driver use platform driver model,
> and they need to call imx_register_uart_clocks() API, so
> imx_register_uart_clocks() API should NOT be in .init section.
>
> Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Applied both, thanks.
_______________________________________________
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] 3+ messages in thread
end of thread, other threads:[~2019-06-24 1:44 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-19 7:12 [PATCH 1/2] clk: imx: Remove __init for imx_register_uart_clocks() API Anson.Huang
2019-06-19 7:12 ` [PATCH 2/2] clk: imx8mq: Keep uart clocks on during system boot Anson.Huang
2019-06-24 1:44 ` [PATCH 1/2] clk: imx: Remove __init for imx_register_uart_clocks() API Shawn Guo
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).