• Tony Lindgren's avatar
    pinctrl: core: Use delayed work for hogs · 99e4f675
    Tony Lindgren authored
    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: default avatarTony Lindgren <tony@atomide.com>
    Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
    99e4f675
core.c 48.8 KB