[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <0f784354-c5ca-4436-b5fd-b1744414bc3d@linaro.org>
Date: Wed, 22 May 2024 09:46:03 +0200
From: Neil Armstrong <neil.armstrong@...aro.org>
To: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
Vinod Koul <vkoul@...nel.org>, Kishon Vijay Abraham I <kishon@...nel.org>,
Rob Herring <robh@...nel.org>, Krzysztof Kozlowski <krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>
Cc: linux-arm-msm@...r.kernel.org, linux-phy@...ts.infradead.org,
linux-kernel@...r.kernel.org,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
devicetree@...r.kernel.org
Subject: Re: [PATCH 1/2] phy: qcom: qmp-pcie: restore compatibility with
existing DTs
On 21/05/2024 22:30, Dmitry Baryshkov wrote:
> Existing device trees specify only a single clock-output-name for the
> PCIe PHYs. The function phy_aux_clk_register() expects a second entry in
> that property. When it doesn't find it, it returns an error, thus
> failing the probe of the PHY and thus breaking support for the
> corresponding PCIe host.
>
> Follow the approach of the combo USB+DT PHY and generate the name for
> the AUX clocks instead of requiring it in DT.
>
> Fixes: 583ca9ccfa80 ("phy: qcom: qmp-pcie: register second optional PHY AUX clock")
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
> ---
> drivers/phy/qualcomm/phy-qcom-qmp-pcie.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c b/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
> index 6c796723c8f5..b4767b8cc014 100644
> --- a/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
> +++ b/drivers/phy/qualcomm/phy-qcom-qmp-pcie.c
> @@ -3730,14 +3730,11 @@ static int phy_aux_clk_register(struct qmp_pcie *qmp, struct device_node *np)
> {
> struct clk_fixed_rate *fixed = &qmp->aux_clk_fixed;
> struct clk_init_data init = { };
> - int ret;
> + char name[64];
>
> - ret = of_property_read_string_index(np, "clock-output-names", 1, &init.name);
> - if (ret) {
> - dev_err(qmp->dev, "%pOFn: No clock-output-names index 1\n", np);
> - return ret;
> - }
> + snprintf(name, sizeof(name), "%s::pipe_aux_clk", dev_name(qmp->dev));
Should be "::phy_aux_clk"
>
> + init.name = name;
> init.ops = &clk_fixed_rate_ops;
>
> fixed->fixed_rate = qmp->cfg->aux_clock_rate;
>
With that:
Reviewed-by: Neil Armstrong <neil.armstrong@...aro.org>
Thanks,
Neil
Powered by blists - more mailing lists