Re: [PATCH v4 3/8] dt-bindings: clock: Add Marvell PXA1908 clock bindings

From: Conor Dooley
Date: Tue Aug 08 2023 - 16:31:24 EST


On Tue, Aug 08, 2023 at 12:41:22PM +0200, Duje Mihanović wrote:
> On Tuesday, August 8, 2023 9:49:49 AM CEST Conor Dooley wrote:
> > On Mon, Aug 07, 2023 at 05:42:37PM +0200, Duje Mihanović wrote:
> > > diff --git a/include/dt-bindings/clock/marvell,pxa1908.h
> > > b/include/dt-bindings/clock/marvell,pxa1908.h new file mode 100644
> > > index 000000000000..0c1f328bf534
> > > --- /dev/null
> > > +++ b/include/dt-bindings/clock/marvell,pxa1908.h
> > > +#define PXA1908_CLK_PLL4VCODIV3 38
> > > +#define PXA1908_MPMU_NR_CLKS 38
> > >
> > > +#define PXA1908_CLK_TWSI3 18
> > > +#define PXA1908_APBC_NR_CLKS 50
> > >
> > > +#define PXA1908_CLK_AICER 3
> > > +#define PXA1908_APBCP_NR_CLKS 50
> > >
> > > +#define PXA1908_CLK_DVC_DFC_DEBUG 16
> > > +#define PXA1908_APMU_NR_CLKS 50
> >
> > How are these "NR_CLKS" things helpful to the binding?
>
> They are used by the clock driver when calling mmp_clk_init which then uses
> that as the size of a struct clk array it allocates. In retrospect, 50 for
> each block may be too much as from what I can tell by reading the
> mmp_register_* functions (number of clocks + 1) for each block should be
> enough, anything less than that causes a null pointer dereference sometime
> during clock initialization.

I think you might have misread my question, I'm not really interested in
the implementation detail of the driver. If these are not used in
devicetree, remove them - otherwise they are being needlessly added to
the ABI.

Attachment: signature.asc
Description: PGP signature