From: Mark Brown <broonie@kernel.org>
To: Darren Vincent Hart <darren@dvhart.com>
Cc: ksummit-discuss@lists.linuxfoundation.org,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
Subject: Re: [Ksummit-discuss] [TECH TOPIC] Driver model/resources, ACPI, DT, etc (sigh)
Date: Fri, 23 May 2014 18:21:38 +0100 [thread overview]
Message-ID: <20140523172138.GF22111@sirena.org.uk> (raw)
In-Reply-To: <1400309542.9575.203.camel@wasp-deb.dvhart.com>
[-- Attachment #1: Type: text/plain, Size: 3364 bytes --]
On Fri, May 16, 2014 at 11:52:22PM -0700, Darren Vincent Hart wrote:
> On Sat, 2014-05-17 at 14:09 +0100, Mark Brown wrote:
> > On Fri, May 16, 2014 at 08:57:59PM -0700, Darren Vincent Hart wrote:
> > > On Tue, 2014-05-13 at 13:11 +0100, Mark Brown wrote:
> Can you elaborate on the issues you're trying to call out regarding
> active versus passive ACPI?
As far as I can tell a big part of what people see themselves getting
from ACPI is the ability to use the executable methods to handle
hardware updates without software updates, including things you can't do
by just changing the data you supply to the system. Device drivers can
do things to play nicely with this, such as assuming that configuration
in the device when they start is sane and should be preserved unless
they know what they're doing, but in a data only model it's generally
safer to just discard any such configuration and get the hardware into a
known good state by resetting it or similar (this is the most common
pattern that has a practical impact which I'm aware of). Things like
configuring the features on a new variant of a device for example, or
turning on a previously unsupported feature.
In the embedded case it's generally relatively straightforward to add a
new property, add the code to handle it and rebuild the world. If
updating the OS isn't an option that gets a lot more tricky and doing
things via firmware methods more sensible.
> At the individual driver level, it is trivial. However, there are
> thousands of drivers, and as we discussed above, many of the integrators
> of these things don't do any driver development. Making those drivers
> available to ACPI based platforms then becomes a large task in
> aggregate.
> The property abstraction layer being discussed is aimed at making that
> aggregate task as small as possible - partly via new backends as you
> describe.
OK, but then can't ACPI just present via the OF APIs rather than
requiring us to go and search and replace all the property parsing code?
> > The thing I'm less clear on is if there are going to be problems down
> > the line with people trying to do things that they currently do with
> > ACPI like hide details of new board versions causing conflicts with code
> > that assumes the firmware is just providing data.
> OK, this goes back to your concerns on active/passive ACPI I guess?
Yes.
> I believe our best weapon against (new) nasty firmware hacks is to
> provide a flexible mechanism with excellent documentation and examples
> that make it easier to follow them than to contrive some gross
> workaround.
> In the past, this is something that ACPI has been lacking. When I first
> started looking into this, I kept asking for a Manual, and all I would
> get was a Specification.
> As part of the ACPI properties update to the specification, we are also
> preparing independent documentation for how to use it.
That should help, though obviously documentation is not always consulted
with the frequency and dilligency that one may desire (and to be fair
it's not always very discoverable). However a part of my worry is that
given what at least some people are trying to achieve the things they
get up to aren't that tasteless, they just happen to have different aims
and use cases to the embedded one.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2014-05-23 17:22 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-02 21:42 Olof Johansson
2014-05-03 0:05 ` Rafael J. Wysocki
2014-05-03 2:02 ` Mark Brown
2014-05-04 12:28 ` Rafael J. Wysocki
2014-05-05 8:45 ` Benjamin Herrenschmidt
2014-05-05 19:06 ` Mark Brown
2014-05-06 12:22 ` Rafael J. Wysocki
2014-05-12 21:59 ` Mark Brown
2014-05-12 22:03 ` Rafael J. Wysocki
2014-05-13 7:34 ` Arnd Bergmann
2014-05-13 10:47 ` Rafael J. Wysocki
2014-05-13 12:11 ` Mark Brown
2014-05-13 13:08 ` Arnd Bergmann
2014-05-13 19:31 ` Mark Brown
2014-05-13 19:53 ` Arnd Bergmann
2014-05-13 21:19 ` Rafael J. Wysocki
2014-05-14 13:04 ` Mark Brown
2014-05-15 12:05 ` Rafael J. Wysocki
2014-05-17 1:11 ` Darren Vincent Hart
2014-05-19 0:02 ` Rafael J. Wysocki
2014-05-17 13:24 ` Mark Brown
2014-05-18 23:56 ` Rafael J. Wysocki
2014-05-23 17:33 ` Mark Brown
2014-05-26 21:19 ` Linus Walleij
2014-05-26 21:55 ` Rafael J. Wysocki
2014-05-13 20:02 ` Olof Johansson
2014-05-17 3:57 ` Darren Vincent Hart
2014-05-17 13:09 ` Mark Brown
2014-05-17 6:52 ` Darren Vincent Hart
2014-05-23 17:21 ` Mark Brown [this message]
2014-05-03 15:14 ` Arnd Bergmann
2014-05-04 11:14 ` Catalin Marinas
2014-05-04 17:18 ` Olof Johansson
2014-05-04 17:27 ` Guenter Roeck
2014-05-04 22:02 ` Rafael J. Wysocki
2014-05-05 2:44 ` Pantelis Antoniou
2014-05-05 11:22 ` Rafael J. Wysocki
2014-05-05 2:52 ` Pantelis Antoniou
2014-05-05 4:21 ` Guenter Roeck
2014-05-05 23:05 ` Pantelis Antoniou
2014-05-04 21:33 ` Rafael J. Wysocki
2014-05-05 8:43 ` Benjamin Herrenschmidt
2014-05-05 11:32 ` Rafael J. Wysocki
2014-05-05 11:31 ` Benjamin Herrenschmidt
2014-05-06 12:18 ` Rafael J. Wysocki
2014-05-06 13:35 ` Arnd Bergmann
2014-05-08 0:16 ` Rafael J. Wysocki
2014-05-12 6:21 ` Benjamin Herrenschmidt
2014-05-13 21:14 ` Olof Johansson
2014-05-13 21:40 ` Rafael J. Wysocki
2014-05-13 21:28 ` Olof Johansson
2014-05-13 21:51 ` Rafael J. Wysocki
2014-05-17 3:22 ` Darren Vincent Hart
2014-05-14 12:06 ` Arnd Bergmann
2014-05-14 12:25 ` Mark Brown
2014-05-18 16:34 ` Linus Walleij
2014-05-14 12:31 ` Rafael J. Wysocki
2014-05-17 3:02 ` Darren Vincent Hart
2014-05-17 2:57 ` Darren Vincent Hart
2014-05-18 16:31 ` Linus Walleij
2014-05-05 15:09 ` Rob Herring
2014-05-05 16:02 ` Jason Cooper
2014-05-05 16:41 ` Thomas Petazzoni
2014-05-05 22:55 ` Benjamin Herrenschmidt
2014-05-17 2:32 ` Darren Vincent Hart
2014-05-05 8:39 ` Benjamin Herrenschmidt
2014-05-05 11:37 ` Rafael J. Wysocki
2014-05-07 11:05 ` David Woodhouse
2014-05-07 13:06 ` Rafael J. Wysocki
2014-05-08 3:27 ` Benjamin Herrenschmidt
2014-05-17 2:05 ` Darren Vincent Hart
2014-05-17 1:54 ` Darren Vincent Hart
2014-05-17 23:03 ` Benjamin Herrenschmidt
2014-05-18 20:28 ` Linus Walleij
2014-05-18 16:12 ` Darren Vincent Hart
2014-05-19 20:53 ` Rafael J. Wysocki
2014-05-04 10:56 ` Catalin Marinas
2014-05-04 12:19 ` Rafael J. Wysocki
2014-05-04 17:23 ` Olof Johansson
2014-05-04 21:58 ` Rafael J. Wysocki
2014-05-06 2:41 ` Linus Walleij
2014-05-06 11:41 ` Rafael J. Wysocki
2014-05-08 11:36 ` Linus Walleij
2014-05-08 12:08 ` Rafael J. Wysocki
2014-05-17 4:39 ` Darren Vincent Hart
2014-05-17 4:33 ` Darren Vincent Hart
2014-05-03 0:23 ` Darren Hart
2014-05-05 16:58 ` Linus Walleij
2014-05-06 5:02 ` Darren Hart
2014-05-17 0:32 ` Darren Vincent Hart
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=20140523172138.GF22111@sirena.org.uk \
--to=broonie@kernel.org \
--cc=darren@dvhart.com \
--cc=gregkh@linuxfoundation.org \
--cc=ksummit-discuss@lists.linuxfoundation.org \
--cc=rafael.j.wysocki@intel.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox