Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c16561e8 authored by Ulf Hansson's avatar Ulf Hansson Committed by Rafael J. Wysocki
Browse files

PM / Domains: Change prototype for the attach and detach callbacks



Convert the prototypes to return an int in order to support error
handling in these callbacks.

Also, as suggested by Dmitry Torokhov, pass the domain pointer for use
inside the callbacks, and so that they match the existing
power_on/power_off callbacks which currently take the domain pointer.

Acked-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Acked-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
[ khilman: added domain as parameter to callbacks, as suggested by Dmitry ]
Signed-off-by: default avatarKevin Hilman <khilman@linaro.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 0df1f248
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1437,7 +1437,7 @@ int __pm_genpd_add_device(struct generic_pm_domain *genpd, struct device *dev,
	spin_unlock_irq(&dev->power.lock);

	if (genpd->attach_dev)
		genpd->attach_dev(dev);
		genpd->attach_dev(genpd, dev);

	mutex_lock(&gpd_data->lock);
	gpd_data->base.dev = dev;
@@ -1499,7 +1499,7 @@ int pm_genpd_remove_device(struct generic_pm_domain *genpd,
	genpd->max_off_time_changed = true;

	if (genpd->detach_dev)
		genpd->detach_dev(dev);
		genpd->detach_dev(genpd, dev);

	spin_lock_irq(&dev->power.lock);

+4 −2
Original line number Diff line number Diff line
@@ -72,8 +72,10 @@ struct generic_pm_domain {
	bool max_off_time_changed;
	bool cached_power_down_ok;
	struct gpd_cpuidle_data *cpuidle_data;
	void (*attach_dev)(struct device *dev);
	void (*detach_dev)(struct device *dev);
	int (*attach_dev)(struct generic_pm_domain *domain,
			  struct device *dev);
	void (*detach_dev)(struct generic_pm_domain *domain,
			   struct device *dev);
};

static inline struct generic_pm_domain *pd_to_genpd(struct dev_pm_domain *pd)