[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CACRpkdZ=pifhHrH_-466f2x3Ev4GKW0CCnTj1hL5Hfpdj5p-1A@mail.gmail.com>
Date: Tue, 15 Nov 2016 07:52:50 +0100
From: Linus Walleij <linus.walleij@...aro.org>
To: Tony Lindgren <tony@...mide.com>
Cc: Haojian Zhuang <haojian.zhuang@...aro.org>,
Masahiro Yamada <yamada.masahiro@...ionext.com>,
Grygorii Strashko <grygorii.strashko@...com>,
Nishanth Menon <nm@...com>,
"linux-gpio@...r.kernel.org" <linux-gpio@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Linux-OMAP <linux-omap@...r.kernel.org>
Subject: Re: [PATCH 1/5] pinctrl: core: Use delayed work for hogs
On Tue, Nov 15, 2016 at 1:47 AM, Tony Lindgren <tony@...mide.com> wrote:
> 8< --------------------------------
> From tony Mon Sep 17 00:00:00 2001
> From: Tony Lindgren <tony@...mide.com>
> Date: Tue, 25 Oct 2016 08:33:35 -0700
> Subject: [PATCH] pinctrl: core: Use delayed work for hogs
>
> Having the pin control framework call pin controller functions
> before it's probe has finished is not nice as the pin controller
> device driver does not yet have struct pinctrl_dev handle.
>
> Let's fix this issue by adding deferred work for late init. This is
> needed to be able to add pinctrl generic helper functions that expect
> to know struct pinctrl_dev handle. Note that we now need to call
> create_pinctrl() directly as we don't want to add the pin controller
> to the list of controllers until the hogs are claimed. We also need
> to pass the pinctrl_dev to the device tree parser functions as they
> otherwise won't find the right controller at this point.
>
> Signed-off-by: Tony Lindgren <tony@...mide.com>
This looks a lot better!
So if I understand correctly, we can guarantee that the delayed
work will not execute until the device driver probe() has finished,
and it *will* execute immediately after that?
So:
- Device driver probes
- Delayed work is called
- Next initcall
I'm not 100% familiar with how delayed work works... :/
Yours,
Linus Walleij
Powered by blists - more mailing lists