Re: [PATCH v3 1/2] dt-bindings: pwm: Add Xilinx AXI Timer
From: Rob Herring <robh@kernel.org>
Date: 2021-05-13 20:43:41
Also in:
linux-arm-kernel, linux-pwm, lkml
On Thu, May 13, 2021 at 10:28 AM Sean Anderson [off-list ref] wrote:
On 5/13/21 10:33 AM, Sean Anderson wrote: > > > On 5/12/21 10:16 PM, Rob Herring wrote: > > On Tue, May 11, 2021 at 03:12:37PM -0400, Sean Anderson wrote: > >> This adds a binding for the Xilinx LogiCORE IP AXI Timer. This device is > >> a "soft" block, so it has many parameters which would not be > >> configurable in most hardware. This binding is usually automatically > >> generated by Xilinx's tools, so the names and values of some properties > >> must be kept as they are. Replacement properties have been provided for > >> new device trees. > > > > Because you have some tool generating properties is not a reason we have > > to accept them upstream. > > These properties are already in arch/microblaze/boot/dts/system.dts and > in the devicetree supplied to Linux by qemu. Removing these properties > will break existing setups, which I would like to avoid.
Already in use in upstream dts files is different than just 'automatically generated' by vendor tools.
> > > 'deprecated' is for what *we* have deprecated. > > Ok. I will remove that then. > > > > > In this case, I don't really see the point in defining new properties > > just to have bool. > > I don't either, but it was requested, by Michal... Err, your comment on the original bindings was > Can't all these be boolean?
With no other context, yes that's what I would ask. Now you've given me some context, between using the existing ones and 2 sets of properties to maintain, I choose the former.
And Michal commented
> I think in this case you should described what it is used by current
> driver in Microblaze and these options are required. The rest are by
> design optional.
> If you want to change them to different value then current binding
> should be deprecated and have any transition time with code alignment.
So that is what I tried to accomplish with this revision. I also tried
allowing something like
xlnx,one-timer-only = <0>; /* two timers */
xlnx,one-timer-only = <1>; /* one timer */
xlnx,one-timer-only; /* one timer */
/* property absent means two timers */
but I was unable to figure out how to express this with json-schema. I
don't think it's the best design either...json-schema would certainly let you, but generally we don't want properties to have more than 1 type. Rob