linux-gpio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alexander Holler <holler-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
To: Linus Walleij <linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
Cc: Tomeu Vizoso
	<tomeu.vizoso-ZGY8ohtN/8qB+jHODAdFcQ@public.gmane.org>,
	Grant Likely
	<grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	linux-samsung-soc
	<linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Dmitry Torokhov
	<dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	"linux-pwm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-pwm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	open-7NY9aMYB+ISttCpgsWEBFg@public.gmane.org,
	"list-7NY9aMYB+ISttCpgsWEBFg@public.gmane.org:DRM PANEL DRIVERS"
	<dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>,
	dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Dan Williams
	<dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"linux-usb-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-i2c@vg>
Subject: Re: [PATCH 00/21] On-demand device registration
Date: Thu, 11 Jun 2015 13:24:14 +0200	[thread overview]
Message-ID: <55796FDE.7080701@ahsoftware.de> (raw)
In-Reply-To: <5579602F.1070801-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>

Am 11.06.2015 um 12:17 schrieb Alexander Holler:
> Am 11.06.2015 um 10:12 schrieb Linus Walleij:
>> On Wed, Jun 10, 2015 at 10:28 AM, Alexander Holler
>> <holler-SXC+2es9fhnfWeYVQQPykw@public.gmane.org> wrote:
>>> Am 10.06.2015 um 09:30 schrieb Linus Walleij:
>>
>>>> i2c host comes out, probes the regulator driver, regulator driver
>>>> probes and then the regulator_get() call returns.
>>>>
>>>> This requires instrumentation on anything providing a resource
>>>> to another driver like those I mentioned and a lot of overhead
>>>> infrastructure, but I think it's the right approach. However I don't
>>>> know if I would ever be able to pull that off myself, I know talk
>>>> is cheap and I should show the code instead.
>>>
>>> You would end up with the same problem of deadlocks as currently, and
>>> you
>>> would still need something ugly like the defered probe brutforce to
>>> avoid
>>> them.
>>
>> Sorry I don't get that. Care to elaborate on why?
>
> Because loading/initializing on demand doesn't give you any solved order
> of drivers to initialize. And it can't because it has no idea about the
> requirements of other drivers. The reason why it might work better in
> the case of the tegra is that it might give you another initialization
> order than the one which is currently choosen, which, by luck, might be
> a better one.
>
> But maybe I missed something, I haven't looked at the patches at all.
> But just loading on demand, can't magically give you a working order of
> drivers to initialize. E.g. how do you choose the first driver to
> initialize?

Other problems you will run into are time constraints and multithreaded 
drivers.

E.g. we all should know how tricky it sometimes is to avoid deadlocks. 
And with loading on demand, you are extending this problem over the 
initialization of maybe a whole bunch of other drivers which might be 
started by calling one function of another driver. And a function call 
might need a very long time to finish during which an unpredictable 
amount of things may happen.

It would make me wonder if that will end up with a good, usable and as 
simple as possible solution.

Regards,

Alexander Holler

  parent reply	other threads:[~2015-06-11 11:24 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-25 14:53 [PATCH 00/21] On-demand device registration Tomeu Vizoso
2015-05-25 14:53 ` [PATCH 08/21] gpio: Probe GPIO drivers on demand Tomeu Vizoso
2015-05-25 14:53 ` [PATCH 09/21] gpio: Probe pinctrl devices " Tomeu Vizoso
2015-05-25 14:53 ` [PATCH 18/21] pinctrl: " Tomeu Vizoso
2015-05-28  4:33 ` [PATCH 00/21] On-demand device registration Rob Herring
     [not found]   ` <CAL_Jsq+EWLEJhRudTGAwYsOg4tX2-pGhygeQGHae9RL8rBpMiA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-03 19:57     ` Grygorii.Strashko-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org
2015-06-04  8:39       ` Tomeu Vizoso
2015-06-04 16:51         ` Grygorii.Strashko@linaro.org
     [not found]       ` <556F5C24.1030101-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2015-06-04 20:39         ` Alexander Holler
2015-06-08 12:26           ` Enrico Weigelt, metux IT consult
2015-06-08 18:14             ` Alexander Holler
2015-06-08 18:18               ` Alexander Holler
2015-06-22 15:23   ` Tomeu Vizoso
2015-06-23  0:01     ` Rob Herring
2015-06-02  8:48 ` Linus Walleij
2015-06-02 10:14   ` Tomeu Vizoso
2015-06-10  7:30     ` Linus Walleij
2015-06-10  8:28       ` Alexander Holler
2015-06-11  8:12         ` Linus Walleij
2015-06-11 10:17           ` Alexander Holler
     [not found]             ` <5579602F.1070801-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2015-06-11 11:24               ` Alexander Holler [this message]
     [not found]                 ` <55796FDE.7080701-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2015-06-11 11:49                   ` Alexander Holler
2015-06-11 12:30             ` Linus Walleij
2015-06-11 16:40               ` Alexander Holler
     [not found]                 ` <5579B9E8.9040609-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2015-06-12  7:25                   ` Linus Walleij
     [not found]                     ` <CACRpkdbDSS0yw=q_cR17Bvg+kgTfU3Vcd2gSjx1p4V-CzOZ_SA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-12 11:19                       ` Alexander Holler
2015-06-12 11:36                         ` Alexander Holler
2015-06-13 18:27                           ` Alexander Holler
     [not found]                             ` <557C7609.30400-SXC+2es9fhnfWeYVQQPykw@public.gmane.org>
2015-06-15  8:58                               ` Linus Walleij
     [not found]                                 ` <CACRpkdaVZmq_w_qgEgTP5oqfH3K1+80O7z7o7CJx-dhivUGhDQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-06-15  9:42                                   ` Alexander Holler
2015-06-11 13:09             ` Tomeu Vizoso
2015-06-10 10:19       ` Tomeu Vizoso
2015-06-10 12:23         ` Andrzej Hajda
2015-06-10 18:38           ` Alexander Holler
2015-06-11  8:15         ` Linus Walleij
2015-06-11  9:56           ` Tomeu Vizoso
2015-06-02 22:54   ` Alexander Holler
2015-06-03 21:12 ` Rob Clark
2015-06-04 21:03   ` 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=55796FDE.7080701@ahsoftware.de \
    --to=holler-sxc+2es9fhnfweyvqqpykw@public.gmane.org \
    --cc=dan.j.williams-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dmaengine-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=dmitry.torokhov-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
    --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linus.walleij-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
    --cc=linux-fbdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-gpio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-i2c@vg \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-pm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-pwm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=open-7NY9aMYB+ISttCpgsWEBFg@public.gmane.org \
    --cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=tomeu.vizoso-ZGY8ohtN/8qB+jHODAdFcQ@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).