Re: [PATCH v3 02/16] phy: qcom-qmp: Adapt to clk_bulk_* APIs

From: Vivek Gautam
Date: Tue Dec 19 2017 - 21:37:23 EST


Hi Manu,


On Tue, Nov 21, 2017 at 2:53 PM, Manu Gautam <mgautam@xxxxxxxxxxxxxx> wrote:
> From: Vivek Gautam <vivek.gautam@xxxxxxxxxxxxxx>
>
> Move from using array of clocks to clk_bulk_* APIs that
> are available now.
>
> Signed-off-by: Vivek Gautam <vivek.gautam@xxxxxxxxxxxxxx>
> Signed-off-by: Manu Gautam <mgautam@xxxxxxxxxxxxxx>
> ---
> drivers/phy/qualcomm/phy-qcom-qmp.c | 50 ++++++++++++-------------------------
> 1 file changed, 16 insertions(+), 34 deletions(-)
>
> diff --git a/drivers/phy/qualcomm/phy-qcom-qmp.c b/drivers/phy/qualcomm/phy-qcom-qmp.c
> index 76acaec..90794dd 100644
> --- a/drivers/phy/qualcomm/phy-qcom-qmp.c
> +++ b/drivers/phy/qualcomm/phy-qcom-qmp.c

[snip]

> @@ -998,29 +992,17 @@ static int qcom_qmp_phy_reset_init(struct device *dev)
> static int qcom_qmp_phy_clk_init(struct device *dev)
> {
> struct qcom_qmp *qmp = dev_get_drvdata(dev);
> - int ret, i;
> + int num = qmp->cfg->num_clks;
> + int i;
>
> - qmp->clks = devm_kcalloc(dev, qmp->cfg->num_clks,
> - sizeof(*qmp->clks), GFP_KERNEL);
> + qmp->clks = devm_kcalloc(dev, num, sizeof(*qmp->clks), GFP_KERNEL);
> if (!qmp->clks)
> return -ENOMEM;
>
> - for (i = 0; i < qmp->cfg->num_clks; i++) {
> - struct clk *_clk;
> - const char *name = qmp->cfg->clk_list[i];
> -
> - _clk = devm_clk_get(dev, name);
> - if (IS_ERR(_clk)) {
> - ret = PTR_ERR(_clk);
> - if (ret != -EPROBE_DEFER)
> - dev_err(dev, "failed to get %s clk, %d\n",
> - name, ret);
> - return ret;
> - }
> - qmp->clks[i] = _clk;
> - }
> + for (i = 0; i < num; i++)
> + qmp->clks->id = qmp->cfg->clk_list[i];

I think i missed this one while rebasing.
We need to use index with this. Should be:
qmp->clks[i]->id = qmp->cfg->clk_list[i];


Regards
Vivek


--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation