Re: [PATCH 05/13] clk: qcom: apcs-msm8916: get parent clock names from DT
From: Stephen Boyd
Date: Fri Dec 28 2018 - 17:28:59 EST
Quoting Jorge Ramirez (2018-12-26 01:20:07)
> On 12/18/18 15:35, Niklas Cassel wrote:
> > On Mon, Dec 17, 2018 at 03:37:43PM -0800, Stephen Boyd wrote:
> >> Quoting Jorge Ramirez-Ortiz (2018-12-17 01:46:22)
> >>> Allow accessing the parent clock names required for the driver
> >>> operation by using the device tree node.
> >>>
> >>> This permits extending the driver to other platforms without having to
> >>> modify its source code.
> >>>
> >>> For backwards compatibility leave previous values as default.
> >>
> >> Why do we need to maintain backwards compatibility? Isn't is required
> >> that the nodes have clocks properties?
> >>
> >
> > Hello Stephen,
> >
> >
> > This is the existing DT nodes for msm8916:
> >
> > a53pll: clock@b016000 {
> > compatible = "qcom,msm8916-a53pll";
> > reg = <0xb016000 0x40>;
> > #clock-cells = <0>;
> > };
> >
> > apcs: mailbox@b011000 {
> > compatible = "qcom,msm8916-apcs-kpss-global", "syscon";
> > reg = <0xb011000 0x1000>;
> > #mbox-cells = <1>;
> > clocks = <&a53pll>;
> > #clock-cells = <0>;
> > };
> >
> >
> > This is the (suggested) DT nodes for qcs404:
> >
> > apcs_hfpll: clock-controller@0b016000 {
> > compatible = "qcom,hfpll";
> > reg = <0x0b016000 0x30>;
> > #clock-cells = <0>;
> > clock-output-names = "apcs_hfpll";
> > clocks = <&xo_board>;
> > clock-names = "xo";
> > };
> >
> > apcs_glb: mailbox@b011000 {
> > compatible = "qcom,qcs404-apcs-apps-global", "syscon";
> > reg = <0x0b011000 0x1000>;
> > #mbox-cells = <1>;
> > clocks = <&gcc GCC_GPLL0_AO_OUT_MAIN>, <&apcs_hfpll>;
> > clock-names = "aux", "pll";
> > #clock-cells = <0>;
> > };
> >
> > qcs404 specifies two clocks, with an accompanied clock-name for each clock.
> >
> > msm8916 specifies a single clock, without an accompanied clock-name.
> >
> > It is possible to append clock-names = "pll" for the existing clock,
> > as well as to define the aux clock in the apcs node in the msm8916 DT:
> > clocks = <&gcc GPLL0_VOTE>;
> > clock-names = "aux";
> >
> > However, since the DT is treated as an ABI, the existing DT for msm8916 must
> > still work, so I don't think that it is possible to ignore having backwards
> > compability in the apcs clock driver.
>
>
> so where are we with this?
>
> do we remove backwards compatibility (see below] for v2 or is the DT
> really an ABI and therefore the patch under review is good as is?
>
Breaking compatibility is up to the platform maintainers. If anything, I
would make the DTS and driver changes in parallel and then remove the
driver's backwards compatibility logic later on.