[Ksummit-2013-discuss] ARM topic: Is DT on ARM the solution, or is there something better?

Nicolas Pitre nicolas.pitre at linaro.org
Thu Oct 24 12:27:29 EDT 2013


On Thu, 24 Oct 2013, David Woodhouse wrote:

> 
> >
> > On Thu, 2013-10-24 at 13:10 +0000, David Woodhouse wrote:
> >
> >> Note that you are not describing a normal "DT scenario" here. You are
> >> describing a case in which we screwed up
> >
> > AKA "real world"
> 
> No. Absolutely not. That was a screwup, and it needs to be *rare*. The
> excuses you present for it are crappy and uunacceptable.

Let's get real please.  It is just too easy for DT reviewers in their 
ivory tower to shot down submissions because the bindings are not to 
their liking.

The world out there is not stable.  Things change.  Hardware is revised 
all the time.  Software change to cope.  And even when the hardware is 
stable, new software solutions come about to improve things.  That's the 
point of _soft_ware, isn't it?  Flexibility is needed in order to scale.

"DT only describe the hardware" is often brought up as if that was the 
ultimate argument for its "stability".  But descriptions, even hardware 
descriptions, may be subjective i.e. two humans might describe it 
differently.  Incidentally DT bindings are created by humans and are 
therefore imperfect and suboptimal most of the time.

We used to have very lenient reviews on new DT bindings.  Sure some of 
them were bad.  The recent reaction to that was to go 180 degrees and 
accept only near perfect bindings.  But the cure is now hurting more 
than the initial problem.

Sure, the world would be so much better if DT bindings could be optimal 
on the first shot.  But asking that DT bindings remain stable when the 
world around them is not is asking for the impossible.

So IMHO the failure with DT right now is actually the expectations that 
come with it.  Those expectations are not realistic.

Special cases are the norm, whether you like it or not.  In fact we all 
hate special cases because they make what would otherwise be a very 
straight forward and elegant process rather messy.  This is why a 
process needs to concern itself with special cases since this is where a 
process is even more helpful.

So instead of trying to enforce even more stability in the DT bindings 
with stricter rules, I think that the process should instead concern 
itself with better ways to _allow_ and _facilitate_ binding updates.  
This is much more likely to scale, and result in a better system in the 
end.

And since there is so many changes one can bring to ultimately describe 
some piece of hardware, the DT bindings will naturally reach a stable 
state eventually. But that cannot be known in advance when that will be.


Nicolas



More information about the linux-arm-kernel mailing list