All of lore.kernel.org
 help / color / mirror / Atom feed
From: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
To: Mark Brown <broonie@kernel.org>
Cc: Andy Shevchenko <andy.shevchenko@gmail.com>,
	Daniel Scally <djrscally@gmail.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Platform Driver <platform-driver-x86@vger.kernel.org>,
	Hans de Goede <hdegoede@redhat.com>,
	Mark Gross <mgross@linux.intel.com>,
	Maximilian Luz <luzmaximilian@gmail.com>,
	Liam Girdwood <lgirdwood@gmail.com>,
	kieran.bingham@ideasonboard.com
Subject: Re: [RFC PATCH 0/2] Add software node support to regulator framework
Date: Wed, 14 Jul 2021 20:18:13 +0300	[thread overview]
Message-ID: <YO8cVWNmUvU/LKGi@pendragon.ideasonboard.com> (raw)
In-Reply-To: <20210714165948.GG4719@sirena.org.uk>

On Wed, Jul 14, 2021 at 05:59:48PM +0100, Mark Brown wrote:
> 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.

It's only one data point, but we're seeing adoption of the ACPI
DT-in-DSD for camera. It's still not pretty of course.

> > 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 :(

I feel your pain. On the camera side, we have a case of an I2C
controller that has a PCI driver in the kernel used when dealing with
the camera sensor, and an AML "driver" used by an I2C GPIO expander,
completely modelled in the DSDT. Both poke the same PCI registers of the
I2C controller. I tried to get information from Intel on how this was
meant to be handled, but I think the people responsible for the design
have been exfiltrated to Guantanamo, or are expiating their sins in a
monastery lost in a mountain.

Once travel will be easier again, we'll plot a take over of the world in
a bar. Dealing with ACPI requires lots of whisky :-)

-- 
Regards,

Laurent Pinchart

  reply	other threads:[~2021-07-14 17:18 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-08 22:42 [RFC PATCH 0/2] Add software node support to regulator framework Daniel Scally
2021-07-08 22:42 ` [RFC PATCH 1/2] regulator: Add support for software node connections Daniel Scally
2021-07-09  2:17   ` kernel test robot
2021-07-09 17:26   ` Mark Brown
2021-07-08 22:42 ` [RFC PATCH 2/2] platform/surface: Add Surface Go 2 board file Daniel Scally
2021-07-09 17:40   ` Mark Brown
2021-07-09 17:04 ` [RFC PATCH 0/2] Add software node support to regulator framework Mark Brown
2021-07-10 22:48   ` Daniel Scally
2021-07-12 14:15     ` Mark Brown
2021-07-12 16:55       ` Laurent Pinchart
2021-07-12 17:32         ` Mark Brown
2021-07-11  9:37   ` Andy Shevchenko
2021-07-12 12:42     ` Mark Brown
2021-07-12 13:01       ` Andy Shevchenko
2021-07-12 13:34         ` Mark Brown
2021-07-12 16:08           ` Andy Shevchenko
2021-07-12 17:01             ` Mark Brown
2021-07-12 23:32               ` Daniel Scally
2021-07-13 15:24                 ` Mark Brown
2021-07-13 15:42                   ` Laurent Pinchart
2021-07-13 16:02                     ` Mark Brown
2021-07-13 16:06                       ` Laurent Pinchart
2021-07-13 18:24                         ` Mark Brown
2021-07-13 15:55                   ` Andy Shevchenko
2021-07-13 18:18                     ` Mark Brown
2021-07-13 19:46                       ` Andy Shevchenko
2021-07-14 16:05                         ` Mark Brown
2021-07-14  7:25                       ` Laurent Pinchart
2021-07-14 16:59                         ` Mark Brown
2021-07-14 17:18                           ` Laurent Pinchart [this message]
2021-07-14 17:28                             ` Mark Brown
2021-07-14 17:41                               ` Laurent Pinchart
2021-07-14 19:18                                 ` Mark Brown
2021-07-14 21:53                                   ` Laurent Pinchart
2021-07-13 22:06                   ` Daniel Scally
2021-07-10 22:28 ` Laurent Pinchart
2021-07-10 22:54   ` Daniel Scally
2021-07-11 16:55     ` Laurent Pinchart
2021-07-12  8:13       ` Daniel Scally
2021-07-12 11:50         ` Laurent Pinchart
2021-07-12 13:23         ` Mark Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YO8cVWNmUvU/LKGi@pendragon.ideasonboard.com \
    --to=laurent.pinchart@ideasonboard.com \
    --cc=andy.shevchenko@gmail.com \
    --cc=broonie@kernel.org \
    --cc=djrscally@gmail.com \
    --cc=hdegoede@redhat.com \
    --cc=kieran.bingham@ideasonboard.com \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luzmaximilian@gmail.com \
    --cc=mgross@linux.intel.com \
    --cc=platform-driver-x86@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.