[v1] clk: imx6ul: fix "failed to get parent" error
Commit Message
On some configuration we may get following error:
[ 0.000000] imx:clk-gpr-mux: failed to get parent (-EINVAL)
This happens if selector is configured to not supported value. To avoid
this warnings add dummy parents for not supported values.
Fixes: 4e197ee880c2 ("clk: imx6ul: add ethernet refclock mux support")
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
drivers/clk/imx/clk-imx6ul.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
Comments
Am 10.03.23 um 17:45 schrieb Oleksij Rempel:
> On some configuration we may get following error:
> [ 0.000000] imx:clk-gpr-mux: failed to get parent (-EINVAL)
>
> This happens if selector is configured to not supported value. To avoid
> this warnings add dummy parents for not supported values.
>
> Fixes: 4e197ee880c2 ("clk: imx6ul: add ethernet refclock mux support")
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reported-by: Stefan Wahren <stefan.wahren@i2se.com>
Tested-by: Stefan Wahren <stefan.wahren@i2se.com>
> Subject: [PATCH v1] clk: imx6ul: fix "failed to get parent" error
>
> On some configuration we may get following error:
> [ 0.000000] imx:clk-gpr-mux: failed to get parent (-EINVAL)
>
> This happens if selector is configured to not supported value. To avoid this
> warnings add dummy parents for not supported values.
>
> Fixes: 4e197ee880c2 ("clk: imx6ul: add ethernet refclock mux support")
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
[Peng Fan]
Reviewed-by: Peng Fan <peng.fan@nxp.com>
> ---
> drivers/clk/imx/clk-imx6ul.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/clk/imx/clk-imx6ul.c b/drivers/clk/imx/clk-imx6ul.c index
> 2836adb817b7..e3696a88b5a3 100644
> --- a/drivers/clk/imx/clk-imx6ul.c
> +++ b/drivers/clk/imx/clk-imx6ul.c
> @@ -95,14 +95,16 @@ static const struct clk_div_table video_div_table[] = {
> { }
> };
>
> -static const char * enet1_ref_sels[] = { "enet1_ref_125m",
> "enet1_ref_pad", };
> +static const char * enet1_ref_sels[] = { "enet1_ref_125m",
> +"enet1_ref_pad", "dummy", "dummy"};
> static const u32 enet1_ref_sels_table[] =
> { IMX6UL_GPR1_ENET1_TX_CLK_DIR,
> - IMX6UL_GPR1_ENET1_CLK_SEL };
> + IMX6UL_GPR1_ENET1_CLK_SEL, 0,
> +
> IMX6UL_GPR1_ENET1_TX_CLK_DIR | IMX6UL_GPR1_ENET1_CLK_SEL };
> static const u32 enet1_ref_sels_table_mask =
> IMX6UL_GPR1_ENET1_TX_CLK_DIR |
> IMX6UL_GPR1_ENET1_CLK_SEL;
> -static const char * enet2_ref_sels[] = { "enet2_ref_125m",
> "enet2_ref_pad", };
> +static const char * enet2_ref_sels[] = { "enet2_ref_125m",
> +"enet2_ref_pad", "dummy", "dummy"};
> static const u32 enet2_ref_sels_table[] =
> { IMX6UL_GPR1_ENET2_TX_CLK_DIR,
> - IMX6UL_GPR1_ENET2_CLK_SEL };
> + IMX6UL_GPR1_ENET2_CLK_SEL, 0,
> +
> IMX6UL_GPR1_ENET2_TX_CLK_DIR | IMX6UL_GPR1_ENET2_CLK_SEL };
> static const u32 enet2_ref_sels_table_mask =
> IMX6UL_GPR1_ENET2_TX_CLK_DIR |
> IMX6UL_GPR1_ENET2_CLK_SEL;
>
> --
> 2.30.2
Quoting Oleksij Rempel (2023-03-10 08:45:23)
> On some configuration we may get following error:
> [ 0.000000] imx:clk-gpr-mux: failed to get parent (-EINVAL)
>
> This happens if selector is configured to not supported value. To avoid
> this warnings add dummy parents for not supported values.
>
> Fixes: 4e197ee880c2 ("clk: imx6ul: add ethernet refclock mux support")
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> ---
Applied to clk-fixes
@@ -95,14 +95,16 @@ static const struct clk_div_table video_div_table[] = {
{ }
};
-static const char * enet1_ref_sels[] = { "enet1_ref_125m", "enet1_ref_pad", };
+static const char * enet1_ref_sels[] = { "enet1_ref_125m", "enet1_ref_pad", "dummy", "dummy"};
static const u32 enet1_ref_sels_table[] = { IMX6UL_GPR1_ENET1_TX_CLK_DIR,
- IMX6UL_GPR1_ENET1_CLK_SEL };
+ IMX6UL_GPR1_ENET1_CLK_SEL, 0,
+ IMX6UL_GPR1_ENET1_TX_CLK_DIR | IMX6UL_GPR1_ENET1_CLK_SEL };
static const u32 enet1_ref_sels_table_mask = IMX6UL_GPR1_ENET1_TX_CLK_DIR |
IMX6UL_GPR1_ENET1_CLK_SEL;
-static const char * enet2_ref_sels[] = { "enet2_ref_125m", "enet2_ref_pad", };
+static const char * enet2_ref_sels[] = { "enet2_ref_125m", "enet2_ref_pad", "dummy", "dummy"};
static const u32 enet2_ref_sels_table[] = { IMX6UL_GPR1_ENET2_TX_CLK_DIR,
- IMX6UL_GPR1_ENET2_CLK_SEL };
+ IMX6UL_GPR1_ENET2_CLK_SEL, 0,
+ IMX6UL_GPR1_ENET2_TX_CLK_DIR | IMX6UL_GPR1_ENET2_CLK_SEL };
static const u32 enet2_ref_sels_table_mask = IMX6UL_GPR1_ENET2_TX_CLK_DIR |
IMX6UL_GPR1_ENET2_CLK_SEL;