Re: [RFC 1/2] clk: dt: binding for basic divider clock

From: Stephen Boyd
Date: Tue Mar 14 2017 - 21:07:20 EST


On 03/14, Markus Mayer wrote:
> From: Mike Turquette <mturquette@xxxxxxxxxx>
>
> Devicetree binding for the basic clock divider, plus the setup function
> to register the clock. Based on the existing fixed-clock binding.
>
> Tero Kristo contributed helpful bug fixes to this patch.
>
> Signed-off-by: Mike Turquette <mturquette@xxxxxxxxxx>
> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx>
> Reviewed-by: Heiko Stuebner <heiko@xxxxxxxxx>
> Signed-off-by: Markus Mayer <mmayer@xxxxxxxxxxxx>

These sorts of details should go into C code. Is there any
difficulty in writing a driver to do so? So far we've avoided
adding the generic divider, multiplier, mux, bindings because
those usually need some register level details that we've been
reluctant to add to DT.

That's because if something is wrong with these register level
details or we need to make some policy updates, e.g. favor this
divider over another, we can't really do that with a DT update.
So we really want to see DT nodes have some hardware specific
compatible string, and also put the logic for the driver into the
code so that it can be easily fixed and updated after the fact.

The DTS file is there to tell us "I have a divider from company X
here and it's connected to this and that" and the driver is there
to do the work of driving that piece of hardware so it works
properly.

--
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project