Re: [RFC PATCH 4/7] irqchip/apple-aic: Add support for Apple AIC

From: Arnd Bergmann
Date: Thu Jan 21 2021 - 05:49:45 EST

On Thu, Jan 21, 2021 at 10:48 AM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote:
> Hi Mohamed,
> thanks for your patch!
> On Wed, Jan 20, 2021 at 2:31 PM Mohamed Mediouni
> <mohamed.mediouni@xxxxxxxxxxxx> wrote:
> > +properties:
> > + compatible:
> > + items:
> > + - const: apple,aic
> However weird it may seem, Apple is not in the file
> Documentation/devicetree/bindings/vendor-prefixes.yaml
> (I think it's weird because I remember clearly that they have been
> using device tree for PPC since ages.)
> Could you add this 2-liner to that file and send it directly to
> DT binding maintainers as a single patch as a preparation?

Choosing the vendor prefix here is going to be a little tricky
and non-obvious.


Traditionally, it should have been the stock ticker symbol of the
company (clearly only publicly traded companies would be able
to produce a Unix capable computer, right?), but there were
already inconsistent: IBM used "ibm" (in small letters), Sun
used "SUNW" (in capitals) but in 2007 changed the stock ticker
symbol to "JAVA", obviously without changing the firmware bindings.

Apple traditionally used "AAPL" (also in caps) in the device tree,
and there is one remnant of that in the M1 device tree, in the form
of the "AAPL,phandle" property in each node, which corresponds
to our "linux,phandle". (phandles were introduced as properties in
both of the flattened DT formats, .dtb and apple's own format).
There are also "AAPL,unit-string properties and some device_type
strings (AAPL,display-crossbar, AAPL,atc-dpxbar, ...) in the M1 DT,
and the CPU nodes (and only those) use "apple" in small letters
as in "apple,icestorm","ARM,v8". The other nodes tend to not have
a vendor prefix, but a lot use a subsystem name as the prefix, such
as compatible="gpio,t8101" or compatible="tempsensor,t8020".

Since Apple are already using both the "AAPL" and the "apple"
prefix themselves, I have a bad feeling about reusing either of
them for defining the bindings that we add to
linux/Documentation/devicetree/bindings. The question is: if
not "apple", what else should we use here?