RE: [PATCH V3 3/4] clk: imx: Add support for i.MX8MN clock driver

From: Stephen Boyd
Date: Mon Jun 10 2019 - 11:18:50 EST


Quoting Anson Huang (2019-06-08 02:58:18)
> Hi, Stephen
>
> > -----Original Message-----
> > From: Stephen Boyd <sboyd@xxxxxxxxxx>
> > Sent: Saturday, June 8, 2019 2:01 AM
> > To: bjorn.andersson@xxxxxxxxxx; catalin.marinas@xxxxxxx;
> > devicetree@xxxxxxxxxxxxxxx; dinguyen@xxxxxxxxxx;
> > enric.balletbo@xxxxxxxxxxxxx; festevam@xxxxxxxxx;
> > horms+renesas@xxxxxxxxxxxx; jagan@xxxxxxxxxxxxxxxxxxxx;
> > kernel@xxxxxxxxxxxxxx; l.stach@xxxxxxxxxxxxxx; linux-arm-
> > kernel@xxxxxxxxxxxxxxxxxxx; linux-clk@xxxxxxxxxxxxxxx; linux-
> > kernel@xxxxxxxxxxxxxxx; mark.rutland@xxxxxxx;
> > maxime.ripard@xxxxxxxxxxx; mturquette@xxxxxxxxxxxx; olof@xxxxxxxxx;
> > robh+dt@xxxxxxxxxx; s.hauer@pengutronix .de <s.hauer@xxxxxxxxxxxxxx>;
> > shawnguo@xxxxxxxxxx; will.deacon@xxxxxxx; Abel Vesa
> > <abel.vesa@xxxxxxx>; Aisheng Dong <aisheng.dong@xxxxxxx>; Anson
> > Huang <anson.huang@xxxxxxx>; Jacky Bai <ping.bai@xxxxxxx>; Leonard
> > Crestez <leonard.crestez@xxxxxxx>
> > Cc: dl-linux-imx <linux-imx@xxxxxxx>
> > Subject: RE: [PATCH V3 3/4] clk: imx: Add support for i.MX8MN clock driver
> >
> > Quoting Anson Huang (2019-06-06 17:50:28)
> > >
> > > I will use devm_platform_ioremap_resource() instead of ioremap(), and
> > > can you be more specific about devmified clk registration?
> > >
> >
> > I mean using things like devm_clk_hw_register().
>
> Sorry, I am still a little confused, all the clock register(clk_register()) are via each different
> clock types like imx_clk_gate4/imx_clk_pll14xx, if using clk_hw_register, means we need
> to re-write the clock driver using different clk register method, that will make the driver
> completely different from i.mx8mq/i.mx8mm, they are actually same series of SoC as i.mx8mn,
> it will introduce many confusion, is my understanding correct? And is it OK to just keep what
> it is and make them all aligned?
>

Ok, the problem I'm trying to point out is that clk registrations need
to be undone, i.e. clk_unregister() needs to be called, when the driver
fails to probe. devm_*() is one way to do this, but if you have other
ways of removing all the registered clks then that works too. Makes
sense?