On Thu, Apr 18, 2019 at 12:27:57PM +0200, Ulf Hansson wrote:
> If a call to dev_pm_domain_attach() succeeds to attach a device to its
> single PM domain, the important point is to prevent following calls to

nit: s/prevent/ensure/

> dev_pm_domain_attach_by_name|id() to fail. This is managed by checking the
> dev->pm_domain pointer and then return -EEXIST, rather than continue
> calling genpd_dev_pm_attach_by_id|name().
> 
> For this reason, let's enable genpd_dev_pm_attach_by_id|name() to be used
> for also single PM domains. This simplifies for future users to solely make
> use of dev_pm_domain_attach_by_id|name() rather than having to combine it
> with dev_pm_domain_attach().
> 
> Signed-off-by: Ulf Hansson <[email protected]>
> ---
>  drivers/base/power/domain.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
> index 801f31c87d16..1b026704a8fc 100644
> --- a/drivers/base/power/domain.c
> +++ b/drivers/base/power/domain.c
> @@ -2512,10 +2512,10 @@ struct device *genpd_dev_pm_attach_by_id(struct 
> device *dev,
>       if (!dev->of_node)
>               return NULL;
>  
> -     /* Deal only with devices using multiple PM domains. */
> +     /* Verify that the index is within a valid range. */
>       num_domains = of_count_phandle_with_args(dev->of_node, "power-domains",
>                                                "#power-domain-cells");
> -     if (num_domains < 2 || index >= num_domains)
> +     if (index >= num_domains)
>               return NULL;
>  
>       /* Allocate and register device on the genpd bus. */
> -- 
> 2.17.1
> 

Acked-by: Niklas Cassel <[email protected]>

Reply via email to