On Wed, Oct 19, 2022 at 1:16 PM Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote: > On Wed, Oct 19, 2022 at 12:56:31PM +0200, Linus Walleij wrote: > > On Tue, Oct 18, 2022 at 2:32 PM Andy Shevchenko > > > I was wondering if we can use the approach that ACPI chose for itself, > > > i.e. the separate data that can be filled by the corresponding driver > > > and then GPIO OF common code may use it. In that case each driver knows > > > the exact list of compatible strings and associated quirks. > > > > I actually deliverately chose the other way around, to centralize all quirks, > > so that drivers look nice and simple and the ugly historical errors of the > > device tree be hidden away in gpiolib-of.c. > > This makes sense if and only if we may guarantee no quirks will appear in the > future. So, it may be true for DT, but I'm quite skeptical about ACPI... Right, the idea is to stop more idiomatic DT bindings from coming into existance by review and formal verification of the reviewed bindings by using YAML schemas. ACPI is somewhat lacking public review of "bindings" and DSDT tables, and I don't know if there is some counterpart to the schema validation, so that makes for more new bugs. But maybe ACPI has some tricks up its sleeve that I don't know about. To me it seems like bugs in ACPI are discovered by developers after the devices are already produced :/ There are bindings and device trees which lack public review too, most notably Apple Mac, so especially for them we are redefining new bindings and who knows, maybe Apple will pick them up eventually! Yours, Linus Walleij