On Tue, Oct 28, 2014 at 3:38 PM, Ulf Hansson <[email protected]> wrote:
> --- a/drivers/base/power/domain.c
> +++ b/drivers/base/power/domain.c
> @@ -1358,25 +1358,81 @@ EXPORT_SYMBOL_GPL(pm_genpd_syscore_poweron);
>
> #endif /* CONFIG_PM_SLEEP */
>
> -static struct generic_pm_domain_data *__pm_genpd_alloc_dev_data(struct
> device *dev)
> +static int genpd_alloc_dev_data(struct generic_pm_domain *genpd,
> + struct device *dev, struct gpd_timing_data
> *td)
> {
[...]
> + if (genpd->attach_dev)
> + genpd->attach_dev(dev);
Note that dev->pm_domain is not yet set at this point, so the callee
can no longer
know to which domain the device is being attached.
Should we re-add the parameter, or move the attach_dev() back to
__pm_genpd_add_device(), like Kevin suggested.
[...]
> }
> /**
> @@ -1388,7 +1444,7 @@ static void __pm_genpd_free_dev_data(struct device *dev,
> int __pm_genpd_add_device(struct generic_pm_domain *genpd, struct device
> *dev,
> struct gpd_timing_data *td)
> {
[...]
> - ret = dev_pm_get_subsys_data(dev);
> + ret = genpd_alloc_dev_data(genpd, dev, td);
[...]
> dev->pm_domain = &genpd->domain;
> -
> + gpd_data = to_gpd_data(dev->power.subsys_data->domain_data);
> spin_unlock_irq(&dev->power.lock);
>
> - if (genpd->attach_dev)
> - genpd->attach_dev(dev);
> -
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
--
To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html