Re: [PATCH linux-next v1 2/4] clk: renesas: Add binding document for AVB Counter Clock

From: Stephen Boyd
Date: Tue Nov 27 2018 - 16:59:24 EST


Quoting Jiada Wang (2018-11-21 23:06:10)
> On 2018/11/04 12:14, Stephen Boyd wrote:
> > Quoting Jiada Wang (2018-10-31 05:00:49)
> >> On 2018/10/30 3:29, Stephen Boyd wrote:
> >>> Quoting jiada_wang@xxxxxxxxxx (2018-10-25 00:23:47)
> >>>> +Required Properties:
> >>>> + - compatible: Must be "renesas,clk-avb"
> >>>> + - reg: Base address and length of the memory resource used by the AVB
> >>>> + - #clock-cells: Must be 1
> >>>> +
> >>>> +Example
> >>>> +-------
> >>>> +
> >>>> + clk_avb: avb-clock@ec5a011c {
> >>>> + compatible = "renesas,clk-avb";
> >>>> + reg = <0 0xec5a011c 0 0x24>;
> >>> This is an odd register offset. Is this just one clk inside of a larger
> >>> clk controller?
> >>>
> >> Yes, avb_counter clock is part of Audio Clock Generator reg: <0
> >> 0xec5a0000 0 0x140>,
> >> but "adg" has already been declared in R-Car GEN2/GEN3 SoC .dtsi file,
> >> with reg: <0 0xec5a0000 0 0x100>,
> >> which leaves <0 0xec5a0100 0 0x140> currently not used by any module.
> >>
> > So why can't we expand the register size in the dts file and update the
> > audio clock generator driver to register this avb clock too? Presumably
> > the mapping is large enough to cover the clk registers already so it is
> > more of a formality to expand the register size than a requirement.
> I am working on ver2 to expend register size to cover <0 0xec5a0100 0 0x140>
> in audio clock generator (ADG) driver, but as provider of newly added
> "AVB_COUNTER" clock,
> ADG driver also uses these clocks if necessary, so it keeps itself BUSY,
> and cause ADG driver can't be unloaded.
> my question is, is such use case allowed? (clock provider is also client
> of clocks).

Yes, a clock provider can also be a client of clocks.