Message ID | DU0PR01MB9382F1AC496F22A20C074BDE9DDC2@DU0PR01MB9382.eurprd01.prod.exchangelabs.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v2] clk: imx8qxp: Defer instead of failing probe | expand |
> Subject: [PATCH v2] clk: imx8qxp: Defer instead of failing probe > > When of_clk_parent_fill is ran without all the parent clocks having > been probed then the probe function will return -EINVAL, making it so > that the probe isn't attempted again. As fw_devlink is on by default > this does not usually happen, but if fw_devlink is disabled then it is > very possible that the parent clock will be probed after the lpcg first > attempt. > > Signed-off-by: Diogo Silva <diogo.pais@ttcontrol.com> Reviewed-by: Peng Fan <peng.fan@nxp.com>
On 24-07-02 08:10:44, Diogo Manuel Pais Silva wrote: > When of_clk_parent_fill is ran without all the parent clocks having been probed then the probe function will return -EINVAL, making it so that the probe isn't attempted again. As fw_devlink is on by default this does not usually happen, but if fw_devlink is disabled then it is very possible that the parent clock will be probed after the lpcg first attempt. > > Signed-off-by: Diogo Silva <diogo.pais@ttcontrol.com> This patch doesn't apply cleanly. Please respin. Thanks! > --- > v2: change from dev_warn to dev_err_probe > --- > drivers/clk/imx/clk-imx8qxp-lpcg.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/clk/imx/clk-imx8qxp-lpcg.c b/drivers/clk/imx/clk-imx8qxp-lpcg.c > index d0ccaa040225..7bd9b745edbe 100644 > --- a/drivers/clk/imx/clk-imx8qxp-lpcg.c > +++ b/drivers/clk/imx/clk-imx8qxp-lpcg.c > @@ -225,8 +225,8 @@ static int imx_lpcg_parse_clks_from_dt(struct platform_device *pdev, > > ret = of_clk_parent_fill(np, parent_names, count); > if (ret != count) { > - dev_err(&pdev->dev, "failed to get clock parent names\n"); > - return count; > + return dev_err_probe(&pdev->dev, -EPROBE_DEFER, > + "failed to get all clock parent names\n"); > } > > ret = of_property_read_string_array(np, "clock-output-names", > -- > 2.34.1
diff --git a/drivers/clk/imx/clk-imx8qxp-lpcg.c b/drivers/clk/imx/clk-imx8qxp-lpcg.c index d0ccaa040225..7bd9b745edbe 100644 --- a/drivers/clk/imx/clk-imx8qxp-lpcg.c +++ b/drivers/clk/imx/clk-imx8qxp-lpcg.c @@ -225,8 +225,8 @@ static int imx_lpcg_parse_clks_from_dt(struct platform_device *pdev, ret = of_clk_parent_fill(np, parent_names, count); if (ret != count) { - dev_err(&pdev->dev, "failed to get clock parent names\n"); - return count; + return dev_err_probe(&pdev->dev, -EPROBE_DEFER, + "failed to get all clock parent names\n"); } ret = of_property_read_string_array(np, "clock-output-names",
When of_clk_parent_fill is ran without all the parent clocks having been probed then the probe function will return -EINVAL, making it so that the probe isn't attempted again. As fw_devlink is on by default this does not usually happen, but if fw_devlink is disabled then it is very possible that the parent clock will be probed after the lpcg first attempt. Signed-off-by: Diogo Silva <diogo.pais@ttcontrol.com> --- v2: change from dev_warn to dev_err_probe --- drivers/clk/imx/clk-imx8qxp-lpcg.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -- 2.34.1 CONFIDENTIALITY: The contents of this e-mail are confidential and intended only for the above addressee(s). If you are not the intended recipient, or the person responsible for delivering it to the intended recipient, copying or delivering it to anyone else or using it in any unauthorized manner is prohibited and may be unlawful. If you receive this e-mail by mistake, please notify the sender and the systems administrator at straymail@tttech.com immediately.