Re: [RFC PATCH 0/2] Add software node support to regulator framework

Mark Brown
2021-07-14T17:00:27Z

[-- Attachment #1: Type: text/plain, Size: 1966 bytes --]

On Wed, Jul 14, 2021 at 10:25:02AM +0300, Laurent Pinchart wrote:
> On Tue, Jul 13, 2021 at 07:18:37PM +0100, Mark Brown wrote:

> > Like I said in the other mail fwnode is a nice hack for systems that are
> > using ACPI but have hardware that's doing something totally outside the
> > ACPI model to allow them to reuse work that's been done for DT, it's not
> > a universal solution to the lack of appropriate support for describing
> > modern systems in ACPI.

> fwnode, as an abstraction of ACPI and OF, is quite useful for camera
> sensor drivers for instance. They need to read firmware properties (for
> instance to identify whether a camera is located on the front or back of
> the device, or to what port of the SoC it's connected), and being able
> to do so without duplicating OF and ACPI code in drivers is useful.

I'd still say that's a bit of a hack, it's the sort of area where ACPI
just has absolutely no handling at all and so picking up the DT bindings
will work effectively although it results in something that's really not
at all idiomatic for ACPI since idiomatic DT and idiomatic ACPI don't
really look like each other and AIUI this stuff isn't getting adopted
for actual firmware (as opposed to swnodes) outside of the embedded x86
space.

> swnode, on the other hand, is indeed more of a workaround for a
> more-often-than-not broken ACPI implementation. It's ironic to think
> that x86 ACPI-based systems, touted as being superior to ARM, are now in
> a worst state than OF-based systems.

The unfortunate thing is that ACPI is super limited in what systems it
models, making assumptions that only really work for fairly simple
server class systems. Outside of that the models it's offering just
can't cope with actual hardware yet people still insist on building
those systems with ACPI system descriptions so you end up with huge
piles of platform quirks. Audio support for modern x86 laptops is just
an endless procession of quirks :(

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]