On Thursday, June 28, 2018 10:43:44 PM CEST Rob Herring wrote:
> All PM domain drivers must be built-in (at least those using DT), so
> there is no point deferring probe after initcalls are done. Continuing
> to defer probe may prevent booting successfully even if managing PM
> domains is not required. This can happen if the user failed to enable
> the driver or if power-domains are added to a platform's DT, but there
> is not yet a driver (e.g. a new DTB with an old kernel).
> 
> Call the driver core function driver_deferred_probe_check_init_done()
> instead of just returning -EPROBE_DEFER to stop deferring probe when
> initcalls are done.
> 
> Cc: "Rafael J. Wysocki" <r...@rjwysocki.net>
> Cc: Kevin Hilman <khil...@kernel.org>
> Cc: Ulf Hansson <ulf.hans...@linaro.org>
> Cc: Pavel Machek <pa...@ucw.cz>
> Cc: Len Brown <len.br...@intel.com>
> Cc: Greg Kroah-Hartman <gre...@linuxfoundation.org>
> Cc: linux...@vger.kernel.org
> Signed-off-by: Rob Herring <r...@kernel.org>
> ---
> v3:
>   - Update to new function name
> 
>  drivers/base/power/domain.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
> index 4925af5c4cf0..8c12213875c6 100644
> --- a/drivers/base/power/domain.c
> +++ b/drivers/base/power/domain.c
> @@ -2253,7 +2253,7 @@ static int __genpd_dev_pm_attach(struct device *dev, 
> struct device_node *np,
>               mutex_unlock(&gpd_list_lock);
>               dev_dbg(dev, "%s() failed to find PM domain: %ld\n",
>                       __func__, PTR_ERR(pd));
> -             return -EPROBE_DEFER;
> +             return driver_deferred_probe_check_state(dev);
>       }
> 
>       dev_dbg(dev, "adding to PM domain %s\n", pd->name);
> --

ACK

_______________________________________________
boot-architecture mailing list
boot-architecture@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/boot-architecture

Reply via email to