Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1535070
| From | Tony Lindgren <tony@atomide.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH 1/5] pinctrl: core: Use delayed work for hogs |
| Date | 2016-12-02 17:50 +0100 |
| Message-ID | <sJZc5-6jb-3@gated-at.bofh.it> (permalink) |
| References | (5 earlier) <sDA6J-66T-11@gated-at.bofh.it> <sDFSN-1t7-13@gated-at.bofh.it> <sDO9H-6Nu-25@gated-at.bofh.it> <sDPp7-7LU-3@gated-at.bofh.it> <sJVLb-4fW-3@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
* Linus Walleij <linus.walleij@linaro.org> [161202 05:08]: > On Tue, Nov 15, 2016 at 6:08 PM, Tony Lindgren <tony@atomide.com> wrote: > > * Tony Lindgren <tony@atomide.com> [161115 07:42]: > >> * Linus Walleij <linus.walleij@linaro.org> [161114 22:53]: > >> > On Tue, Nov 15, 2016 at 1:47 AM, Tony Lindgren <tony@atomide.com> wrote: > >> > > >> > > 8< -------------------------------- > >> > > From tony Mon Sep 17 00:00:00 2001 > >> > > From: Tony Lindgren <tony@atomide.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@atomide.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... :/ > >> > >> Yeah well the delayed work gets scheduled for next jiffy but may > >> be pre-empted as it runs in process context. > >> > >> So in the worst case it could that we still may need to fix few > >> drivers to support -EPROBE_DEFER. I wonder if we should check for > >> hogs in probe already and only defer if hogs are defined? > > > > Below is a version using delayed_work only if pinctrl_dt_has_hogs(). > > > > Not sure if testing only for pinctrl-0 is enough there though? > > Sorry for the lack of attention to this patch set on my part. :( > > Do you think you could resend these last 5 patches after the > release of v4.10-rc1 so we merge it early for the next cycle > and people get a chance to test and see if it works well for > everyone? Yeah no problem, too late to do anything with them right now :) > I'm worried about adding it to the tree this late in the kernel > cycle... Yup me too. > However I like the look of the series overall a lot. OK good to hear. Tony
Back to linux.kernel | Previous | Next — Previous in thread | Find similar | Unroll thread
Re: [PATCH 1/5] pinctrl: core: Use delayed work for hogs Linus Walleij <linus.walleij@linaro.org> - 2016-12-02 14:10 +0100 Re: [PATCH 1/5] pinctrl: core: Use delayed work for hogs Tony Lindgren <tony@atomide.com> - 2016-12-02 17:50 +0100
csiph-web