On Friday, April 27, 2012, Marek Szyprowski wrote:
> Hi Rafeal,
> 
> On Friday, April 06, 2012 10:03 AM Marek Szyprowski wrote:
> 
> > Some bootloaders disable power domains on boot and the platform startup
> > code registers them in the 'disabled' state. Current gen_pd code assumed
> > that the devices can be registered only to the power domain which is in
> > 'enabled' state and these devices are active at the time of the
> > registration. This is not correct in our case. This patch lets drivers
> > to be registered into 'disabled' power domains and finally solves
> > mysterious freezes and lack of resume/suspend calls on Samsung Exynos4
> > NURI and UniversalC210 platforms.
> > 
> > Signed-off-by: Marek Szyprowski <m.szyprow...@samsung.com>
> > Signed-off-by: Kyungmin Park <kyungmin.p...@samsung.com>
> 
> Could you comment on this patch? It is really annoying issue and I would like 
> to have it
> finally solved.

It looks reasonable to me, I'm going to push it for v3.5.

Thanks,
Rafael


> > ---
> >  drivers/base/power/domain.c |    7 +------
> >  1 files changed, 1 insertions(+), 6 deletions(-)
> > 
> > diff --git a/drivers/base/power/domain.c b/drivers/base/power/domain.c
> > index 73ce9fb..05f5799f 100644
> > --- a/drivers/base/power/domain.c
> > +++ b/drivers/base/power/domain.c
> > @@ -1211,11 +1211,6 @@ int __pm_genpd_add_device(struct generic_pm_domain 
> > *genpd, struct
> > device *dev,
> > 
> >     genpd_acquire_lock(genpd);
> > 
> > -   if (genpd->status == GPD_STATE_POWER_OFF) {
> > -           ret = -EINVAL;
> > -           goto out;
> > -   }
> > -
> >     if (genpd->prepared_count > 0) {
> >             ret = -EAGAIN;
> >             goto out;
> > @@ -1239,7 +1234,7 @@ int __pm_genpd_add_device(struct generic_pm_domain 
> > *genpd, struct device
> > *dev,
> >     dev_pm_get_subsys_data(dev);
> >     dev->power.subsys_data->domain_data = &gpd_data->base;
> >     gpd_data->base.dev = dev;
> > -   gpd_data->need_restore = false;
> > +   gpd_data->need_restore = true;
> >     list_add_tail(&gpd_data->base.list_node, &genpd->dev_list);
> >     if (td)
> >             gpd_data->td = *td;
> > --
> > 1.7.1.569.g6f426
> 
> Best regards
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to