From: "Rafael J. Wysocki" <rjw@rjwysocki.net>
To: ksummit-discuss@lists.linuxfoundation.org
Cc: "dvhart@dvhart.com" <dvhart@dvhart.com>,
"Rafael J. Wysocki" <rafael.j.wysocki@intel.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: Re: [Ksummit-discuss] [TECH TOPIC] Driver model/resources, ACPI, DT, etc (sigh)
Date: Mon, 05 May 2014 13:37 +0200 [thread overview]
Message-ID: <5033239.oF19PZOQnr@vostro.rjw.lan> (raw)
In-Reply-To: <1399279156.20388.32.camel@pasglop>
On Monday, May 05, 2014 06:39:16 PM Benjamin Herrenschmidt wrote:
> On Sun, 2014-05-04 at 10:18 -0700, Olof Johansson wrote:
> >
> > Also, even if we do a common API with different backends, there will
> > need to be some knowledge somewhere about custom bindings and what they mean,
> > how to translate them and how the different descriptions correlate.
> > I personally think we're best off putting that in the drivers, instead of
> > making some part of the driver core aware of a bunch of quirks/hooks for
> > various devices.
>
> I tend to agree.
>
> In the end, there is no silver bullet, however, it would make things easier
> of the drivers could be structured such that for most things, when they need
> a piece of information they use a single accessor to get named properties,
> and if needed, they can have a single conversion function that converts ACPI
> "stuff" into these (provided the ACPI extension for passing properties isn't
> present, or possibly for translating "keys" between the bindings etc...).
>
> IE. A single point of translation is less messy imho than sprinkling things
> all over the driver, and we *will* need translation.
Precisely.
> Now for standard stuff such as MMIO ranges etc... we all agree I believe to
> stick to the existing Linux struct resource & co and have the parsing happen
> at the core level, but for everything else, the trick is to see what we can
> do to make driver life easier.
>
> They *will* have to deal with the dual world, we can't completely hide it,
> but we can make it less painful via good practices.
Probably.
> The other option is to have both the DT representation and the ACPI
> representation reach the drivers and leave it to the them (the drivers) to get
> through two different functions at probe time to "translates" that into a
> "3rd" driver private one (a structure, in a way akin to the old platform data
> but of course completely local to the driver scope).
>
> I know of the drawbacks but for many drivers who already just pick these
> things up at probe time just to copy/encode them into their driver private
> structure, that's a fairly workable and simple approach.
It may be workable from an individual driver point of view, but not from
a framework perspective. At least duplication of code has to be avoided.
Thanks!
--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
next prev parent reply other threads:[~2014-05-05 11:20 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
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 [this message]
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=5033239.oF19PZOQnr@vostro.rjw.lan \
--to=rjw@rjwysocki.net \
--cc=dvhart@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