devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
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

  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).