Re: [PATCH v4 07/16] clk: qcom: gcc-ipq806x: drop hardcoded pxo and cxo source clk
From: Bjorn Andersson
Date: Thu Feb 24 2022 - 11:31:15 EST
On Thu 24 Feb 07:50 PST 2022, Ansuel Smith wrote:
> On Wed, Feb 23, 2022 at 09:50:14PM -0600, Bjorn Andersson wrote:
> > On Thu 17 Feb 17:56 CST 2022, Ansuel Smith wrote:
> >
> > > We now define these clk in dts. Drop pxo and cxo hardcoded in the gcc
> > > probe function.
> > >
> >
> > As noted on the previous patch, this breaks booting with existing dtbs.
> > So I would like to split this with 1-2 releases in between to avoid any
> > problems.
> >
> > Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
> >
> > on the change though.
> >
> > Regards,
> > Bjorn
> >
>
> Should I change this and register these clks only if they are not present?
>
The .fw_name will match against clock-names to resolve a phandle to
e.g. &pxo_board and if not found should fall back to matching by .name
and finding these clocks. So I don't see a conflict in keeping them
around.
Once we know that the dts change is in place I think we should merge
this as is.
Regards,
Bjorn
> > > Signed-off-by: Ansuel Smith <ansuelsmth@xxxxxxxxx>
> > > ---
> > > drivers/clk/qcom/gcc-ipq806x.c | 11 +----------
> > > 1 file changed, 1 insertion(+), 10 deletions(-)
> > >
> > > diff --git a/drivers/clk/qcom/gcc-ipq806x.c b/drivers/clk/qcom/gcc-ipq806x.c
> > > index f6db7247835e..a4bf78fe8678 100644
> > > --- a/drivers/clk/qcom/gcc-ipq806x.c
> > > +++ b/drivers/clk/qcom/gcc-ipq806x.c
> > > @@ -3119,23 +3119,14 @@ MODULE_DEVICE_TABLE(of, gcc_ipq806x_match_table);
> > >
> > > static int gcc_ipq806x_probe(struct platform_device *pdev)
> > > {
> > > - struct device *dev = &pdev->dev;
> > > struct regmap *regmap;
> > > int ret;
> > >
> > > - ret = qcom_cc_register_board_clk(dev, "cxo_board", "cxo", 25000000);
> > > - if (ret)
> > > - return ret;
> > > -
> > > - ret = qcom_cc_register_board_clk(dev, "pxo_board", "pxo", 25000000);
> > > - if (ret)
> > > - return ret;
> > > -
> > > ret = qcom_cc_probe(pdev, &gcc_ipq806x_desc);
> > > if (ret)
> > > return ret;
> > >
> > > - regmap = dev_get_regmap(dev, NULL);
> > > + regmap = dev_get_regmap(&pdev->dev, NULL);
> > > if (!regmap)
> > > return -ENODEV;
> > >
> > > --
> > > 2.34.1
> > >
>
> --
> Ansuel