From: Alexander Holler <holler-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
To: Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Cc: Grant Likely
<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
Jon Loeliger <jdl-CYoMK+44s/E@public.gmane.org>,
Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
Russell King <linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org>,
Greg Kroah-Hartman
<gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org>,
Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>
Subject: Re: [RFC PATCH 0/9] dt: dependencies (for deterministic driver initialization order based on the DT)
Date: Tue, 26 Aug 2014 14:00:40 +0200 [thread overview]
Message-ID: <53FC76E8.5050009@ahsoftware.de> (raw)
In-Reply-To: <20140826114718.GB641@ulmo>
Am 26.08.2014 13:47, schrieb Thierry Reding:
> On Tue, Aug 26, 2014 at 01:23:54PM +0200, Alexander Holler wrote:
>> Am 26.08.2014 13:08, schrieb Thierry Reding:
>>> On Tue, Aug 26, 2014 at 12:44:35PM +0200, Alexander Holler wrote:
>>>> Am 26.08.2014 12:25, schrieb Thierry Reding:
>>>>> On Tue, Aug 26, 2014 at 11:42:04AM +0200, Alexander Holler wrote:
>>>>
>>>>>> You need either the type information in the DTB (that's why I've add those
>>>>>> "dependencies" to identify phandles), or you need to know every binding (at
>>>>>> "dependency-resolve-time" to identify phandles. The latter is impracticable
>>>>>> to implement in a generic way (for use with every possible binding).
>>>>>
>>>>> Like I already mentioned, this could be done in drivers who contain that
>>>>> information already anyway. Or parts of it could be done in subsystem-
>>>>> specific callbacks where a generic binding is available.
>>>>
>>>> That would end up with almost the same ugly driver-based workarounds as now.
>>>> It's much better if a driver author only has to define it's prerequisits (in
>>>> form of dependencies in the dts) and could be sure the driver will only be
>>>> probed if those are met, than to do that stuff based on a subsystem or even
>>>> driver level.
>>>>
>>>> If you add dependency-information to drivers, you have two problems:
>>>
>>> We already have all that dependency information in drivers anyway. Each
>>> driver requests the resources at .probe() time. What I proposed (it was
>>> really Arnd who proposed it first) is to move that information out of
>>> code and into some sort of table that could be used by the driver core
>>> to figure out dependencies.
>>>
>>>> - How do you get these information from the driver (remember, currently
>>>> there is only one initial call, a initcall which might do almost anything)
>>>
>>> While I don't think it's necessary, that's something that could be
>>> changed. I mean, we have access to the full source code of this
>>> operating system, so we can change every aspect of it. If we can't find
>>> a way to make this work with the current initcall sequence it's always
>>> an option to extend that sequence so that it meets our needs.
>>>
>>>> - These information might become outdated and you would have to change all
>>>> drivers. E.g. if the name of a dependency (driver) changes it wouldn't be
>>>> done with changing the dts (maybe plural), but you would have to change the
>>>> source of all dependant drivers too.
>>>
>>> No. Drivers implement a DT binding. That binding defines what power
>>> supplies, clocks, pinmux, ... the device needs. Those constitute the
>>> dependencies. We most certainly don't want to depend on driver names
>>> since there can be a multitude of different drivers that provide a given
>>> dependency.
>>>
>>> What drivers should provide (and what they already provide today) is the
>>> name of the property and the index of the cell that they expect to find
>>> a phandle in as well as the type of the phandle. That's all that's
>>> necessary, really. Everything else can be derived from that phandle and
>>> the type.
>>
>> Drivers don't provide that information (dependencies) in any usable way. And
>> as you said yourself, it's already contained in phandles. So what we are
>> discussing here about? The proposal to use phandles for that is already on
>> the table since several month. ;)
>>
>> Sorry, but I don't understand what you want to propose.
>
> In many cases we simply don't know where phandles are stored since we
> don't have the type information in DT. But drivers already know the type
> of a specific phandle and where to get it from, so the proposal is to
> make that knowledge more generally useful so that it can be used for
> dependency resolution.
How?
Anyway, I'm leaving this discussion. I've already made a proposal which
solved most mentioned problems (imho) and even offered usable patches
(ok, they suffer under the "not invented here" syndrom, but ...). ;)
But please continue this discussion, I will try to not disturb it anymore.
Regards,
Alexander Holler
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2014-08-26 12:00 UTC|newest]
Thread overview: 100+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-12 16:47 [RFC PATCH 0/9] dt: dependencies (for deterministic driver initialization order based on the DT) Alexander Holler
2014-05-12 16:47 ` [RFC PATCH 2/9] dt: deps: dependency based device creation Alexander Holler
2014-05-14 14:05 ` Grant Likely
[not found] ` <20140514140534.897F8C4153D-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-05-14 14:49 ` Alexander Holler
2014-05-14 17:20 ` Alexander Holler
[not found] ` <53738261.4000000-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-05-14 20:06 ` Grant Likely
2014-05-14 21:10 ` Alexander Holler
2014-05-16 17:31 ` Alexander Shiyan
2014-05-16 17:31 ` Alexander Shiyan
[not found] ` <5373DBCF.1080503-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-05-16 11:00 ` Grant Likely
2014-05-18 9:53 ` Alexander Holler
2014-05-16 17:31 ` Alexander Shiyan
2014-05-14 15:51 ` Alexander Holler
2014-05-17 14:24 ` Tomasz Figa
2014-05-18 14:59 ` Grant Likely
2014-05-19 8:41 ` Alexander Holler
2014-05-12 16:47 ` [RFC PATCH 4/9] dt: deps: dtc: Add option to print dependency graph as dot (Graphviz) Alexander Holler
[not found] ` <1399913280-6915-1-git-send-email-holler-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-05-12 16:47 ` [RFC PATCH 1/9] dt: deps: dtc: Automatically add new property 'dependencies' which contains a list of referenced phandles Alexander Holler
[not found] ` <1399913280-6915-2-git-send-email-holler-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-05-17 12:16 ` Tomasz Figa
2014-05-19 12:35 ` Alexander Holler
2014-05-19 15:38 ` Jon Loeliger
2014-05-19 15:49 ` Jon Loeliger
[not found] ` <CAJgR-BhRtc1XGqk-TVOrf2y_pYS+nratkPrf+OenP4SFcyK3ng-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-19 17:26 ` Alexander Holler
[not found] ` <5379FAA5.10404-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-05-27 20:02 ` Grant Likely
2014-05-27 20:31 ` Alexander Holler
2014-05-12 16:47 ` [RFC PATCH 3/9] dt: deps: dtc: Add option to print initialization order Alexander Holler
2014-05-12 20:38 ` Jon Loeliger
[not found] ` <CAJgR-BhnFngGr9qxa7NvF7GExiCAr1=HS16AtN20uj7nCmLcKQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-12 22:58 ` Alexander Holler
[not found] ` <537151FF.8070104-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-05-13 8:54 ` [PATCH 0/3] add dependencies Alexander Holler
[not found] ` <1399971243-18153-1-git-send-email-holler-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-05-13 8:54 ` [PATCH 1/3] deps: Automatically add new property 'dependencies' which contains a list of referenced phandles Alexander Holler
2014-05-13 8:54 ` [PATCH 2/3] deps: Add option to print initialization order Alexander Holler
2014-05-13 8:54 ` [PATCH 3/3] deps: Add option to print dependency graph as dot (Graphviz) Alexander Holler
2014-05-13 18:48 ` [PATCH] deps: introduce new (virtual) property no-dependencies Alexander Holler
[not found] ` <1400006923-7950-1-git-send-email-holler-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-05-14 1:55 ` Alexander Holler
[not found] ` <5372CD15.5020001-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-05-14 7:02 ` Alexander Holler
2014-05-12 16:47 ` [RFC PATCH 5/9] dt: deps: register drivers based on the initialization order based on DT Alexander Holler
2014-05-14 14:13 ` Grant Likely
[not found] ` <20140514141300.67206C4153D-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-05-14 14:58 ` Alexander Holler
[not found] ` <53738496.2070800-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-05-14 19:32 ` Grant Likely
2014-05-12 16:47 ` [RFC PATCH 6/9] dt: deps: WIP: well done drivers Alexander Holler
2014-05-13 15:40 ` [PATCH 10/9] dt: deps: fix bug not registering late drivers when OF_DEPENDENCIES is disabled Alexander Holler
2014-05-13 19:27 ` [RFC PATCH 11/9] dt: deps: dtc: introduce new (virtual) property no-dependencies Alexander Holler
2014-05-14 14:19 ` [RFC PATCH 0/9] dt: dependencies (for deterministic driver initialization order based on the DT) Grant Likely
2014-05-14 15:02 ` Alexander Holler
[not found] ` <53738580.7000902-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-05-14 16:05 ` Grant Likely
[not found] ` <CACxGe6s4px_9CNk3bkc1OF1KGZGYdyh4gE_VufCKU5dLFBG48g-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-14 16:23 ` Alexander Holler
2014-05-14 17:30 ` Rob Herring
2014-05-14 17:45 ` Alexander Holler
2014-05-14 17:53 ` Alexander Holler
[not found] ` <5373ADB6.1070702-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-05-14 18:16 ` Alexander Holler
2014-05-14 19:13 ` Alexander Holler
2014-05-14 19:06 ` Rob Herring
[not found] ` <CAL_JsqJ-=amrmRR9FfnOH1ELDQ1kTaG3e1n878mgpZP1FUw_jA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-05-14 19:24 ` Alexander Holler
[not found] ` <5373C2F4.50803-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-05-15 1:46 ` Alexander Holler
2014-05-14 23:00 ` Alexander Holler
[not found] ` <20140514141914.446F7C4153D-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-08-21 14:02 ` Thierry Reding
[not found] ` <20140821140211.GD19293-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2014-08-21 19:19 ` Alexander Holler
[not found] ` <53F64624.5000403-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-08-22 13:19 ` Mark Rutland
2014-08-22 15:45 ` Alexander Holler
2014-08-25 9:39 ` Thierry Reding
2014-08-25 13:08 ` Jon Loeliger
[not found] ` <E1XLu15-0002DP-6o-CYoMK+44s/E@public.gmane.org>
2014-08-25 13:37 ` Thierry Reding
[not found] ` <20140825133714.GH4163-AwZRO8vwLAwmlAP/+Wk3EA@public.gmane.org>
2014-08-25 14:13 ` Jon Loeliger
[not found] ` <E1XLv1z-0002Jv-VN-CYoMK+44s/E@public.gmane.org>
2014-08-25 14:41 ` Thierry Reding
2014-08-26 8:42 ` Grant Likely
2014-08-26 8:49 ` Thierry Reding
2014-08-26 9:42 ` Alexander Holler
2014-08-26 10:11 ` Mark Rutland
2014-08-26 10:24 ` Thierry Reding
2014-08-27 10:34 ` Grant Likely
[not found] ` <20140827103432.64927C409CB-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-08-27 14:44 ` Catalin Marinas
[not found] ` <20140827144403.GB13850-5wv7dgnIgG8@public.gmane.org>
2014-08-27 16:22 ` Stephen Warren
[not found] ` <53FE05AE.9000406-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-08-27 16:30 ` Alexander Holler
2014-08-27 16:37 ` Stephen Warren
2014-08-27 16:58 ` Alexander Holler
[not found] ` <53FE0966.5020206-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2014-08-27 17:52 ` Catalin Marinas
[not found] ` <20140827175243.GJ13850-5wv7dgnIgG8@public.gmane.org>
2014-08-27 18:14 ` Alexander Holler
2014-08-28 6:50 ` Alexander Holler
2014-08-28 9:23 ` Catalin Marinas
[not found] ` <20140828092308.GA31111-5wv7dgnIgG8@public.gmane.org>
2014-08-29 1:43 ` Alexander Holler
[not found] ` <53FC566C.30904-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-08-26 10:25 ` Thierry Reding
2014-08-26 10:44 ` Alexander Holler
[not found] ` <53FC6513.5040800-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-08-26 11:01 ` Alexander Holler
2014-08-26 11:08 ` Thierry Reding
2014-08-26 11:23 ` Alexander Holler
[not found] ` <53FC6E4A.6030407-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-08-26 11:47 ` Thierry Reding
2014-08-26 12:00 ` Alexander Holler [this message]
[not found] ` <53FC76E8.5050009-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2014-08-26 13:58 ` Jon Loeliger
2014-08-26 14:17 ` Thierry Reding
[not found] ` <E1XMHGc-0008TS-CQ-CYoMK+44s/E@public.gmane.org>
2014-08-27 7:16 ` Alexander Holler
2014-08-27 9:26 ` Alexander Holler
2014-08-26 7:56 ` Alexander Holler
2014-08-26 8:51 ` Grant Likely
[not found] ` <20140826085128.958A9C40989-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-08-26 9:56 ` Alexander Holler
2014-08-26 10:18 ` Alexander Holler
2014-08-26 9:54 ` Mark Rutland
2014-05-12 16:47 ` [RFC PATCH 7/9] dt: deps: kirkwood: make it possible to use CONFIG_OF_DEPENDENCIES Alexander Holler
2014-05-12 16:47 ` [RFC PATCH 8/9] dt: deps: dts: kirkwood: dockstar: add dependency ehci -> usb power regulator Alexander Holler
2014-05-12 16:48 ` [RFC PATCH 9/9] dt: deps: omap2: make it possible to use CONFIG_OF_DEPENDENCIES Alexander Holler
2014-05-14 8:20 ` dt: deps: some tips about how to debug/evaluate this feature Alexander Holler
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=53FC76E8.5050009@ahsoftware.de \
--to=holler-sxc+2es9fhnfweyvqqpykw@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=gregkh-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org \
--cc=jdl-CYoMK+44s/E@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
--cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).