Messages in this thread | | | Date | Fri, 11 Nov 2016 12:32:11 -0800 | From | Tony Lindgren <> | Subject | Re: [PATCH 1/5] pinctrl: core: Use delayed work for hogs |
| |
* Tony Lindgren <tony@atomide.com> [161111 12:27]: > * Linus Walleij <linus.walleij@linaro.org> [161111 12:17]: > > On Tue, Oct 25, 2016 at 11:02 PM, Tony Lindgren <tony@atomide.com> wrote: > > > > > 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 hogs. This is > > > needed to be able to add pinctrl generic helper functions. > > > > > > Note that the pinctrl functions already take care of the necessary > > > locking. > > > > > > Signed-off-by: Tony Lindgren <tony@atomide.com> > > > > I don't see why this is necessary? > > It's needed because the pin controller driver has not yet > finished it's probe at this point. We end up calling functions > in the device driver where no struct pinctrl_dev is yet known > to the driver. Asking a device driver to do something before > it's probe is done does not quite follow the Linux driver model :)
To clarify, that's an issue with multiple instances of the same driver probing as there's no static pointer to driver specific data.
Regards,
Tony
| |