Commit 67da6d4b authored by Ulf Hansson's avatar Ulf Hansson Committed by Rafael J. Wysocki

PM / domains: Ignore callbacks for subsys generic_pm_domain_data

In a step of simplifying the generic power domain let's move away from
using these callbacks.
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
Reviewed-by: default avatarKevin Hilman <khilman@linaro.org>
Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 55e15c94
...@@ -25,10 +25,6 @@ ...@@ -25,10 +25,6 @@
__routine = genpd->dev_ops.callback; \ __routine = genpd->dev_ops.callback; \
if (__routine) { \ if (__routine) { \
__ret = __routine(dev); \ __ret = __routine(dev); \
} else { \
__routine = dev_gpd_data(dev)->ops.callback; \
if (__routine) \
__ret = __routine(dev); \
} \ } \
__ret; \ __ret; \
}) })
...@@ -1871,10 +1867,6 @@ static int pm_genpd_default_save_state(struct device *dev) ...@@ -1871,10 +1867,6 @@ static int pm_genpd_default_save_state(struct device *dev)
{ {
int (*cb)(struct device *__dev); int (*cb)(struct device *__dev);
cb = dev_gpd_data(dev)->ops.save_state;
if (cb)
return cb(dev);
if (dev->type && dev->type->pm) if (dev->type && dev->type->pm)
cb = dev->type->pm->runtime_suspend; cb = dev->type->pm->runtime_suspend;
else if (dev->class && dev->class->pm) else if (dev->class && dev->class->pm)
...@@ -1898,10 +1890,6 @@ static int pm_genpd_default_restore_state(struct device *dev) ...@@ -1898,10 +1890,6 @@ static int pm_genpd_default_restore_state(struct device *dev)
{ {
int (*cb)(struct device *__dev); int (*cb)(struct device *__dev);
cb = dev_gpd_data(dev)->ops.restore_state;
if (cb)
return cb(dev);
if (dev->type && dev->type->pm) if (dev->type && dev->type->pm)
cb = dev->type->pm->runtime_resume; cb = dev->type->pm->runtime_resume;
else if (dev->class && dev->class->pm) else if (dev->class && dev->class->pm)
...@@ -1917,109 +1905,6 @@ static int pm_genpd_default_restore_state(struct device *dev) ...@@ -1917,109 +1905,6 @@ static int pm_genpd_default_restore_state(struct device *dev)
return cb ? cb(dev) : 0; return cb ? cb(dev) : 0;
} }
#ifdef CONFIG_PM_SLEEP
/**
* pm_genpd_default_suspend - Default "device suspend" for PM domians.
* @dev: Device to handle.
*/
static int pm_genpd_default_suspend(struct device *dev)
{
int (*cb)(struct device *__dev) = dev_gpd_data(dev)->ops.suspend;
return cb ? cb(dev) : pm_generic_suspend(dev);
}
/**
* pm_genpd_default_suspend_late - Default "late device suspend" for PM domians.
* @dev: Device to handle.
*/
static int pm_genpd_default_suspend_late(struct device *dev)
{
int (*cb)(struct device *__dev) = dev_gpd_data(dev)->ops.suspend_late;
return cb ? cb(dev) : pm_generic_suspend_late(dev);
}
/**
* pm_genpd_default_resume_early - Default "early device resume" for PM domians.
* @dev: Device to handle.
*/
static int pm_genpd_default_resume_early(struct device *dev)
{
int (*cb)(struct device *__dev) = dev_gpd_data(dev)->ops.resume_early;
return cb ? cb(dev) : pm_generic_resume_early(dev);
}
/**
* pm_genpd_default_resume - Default "device resume" for PM domians.
* @dev: Device to handle.
*/
static int pm_genpd_default_resume(struct device *dev)
{
int (*cb)(struct device *__dev) = dev_gpd_data(dev)->ops.resume;
return cb ? cb(dev) : pm_generic_resume(dev);
}
/**
* pm_genpd_default_freeze - Default "device freeze" for PM domians.
* @dev: Device to handle.
*/
static int pm_genpd_default_freeze(struct device *dev)
{
int (*cb)(struct device *__dev) = dev_gpd_data(dev)->ops.freeze;
return cb ? cb(dev) : pm_generic_freeze(dev);
}
/**
* pm_genpd_default_freeze_late - Default "late device freeze" for PM domians.
* @dev: Device to handle.
*/
static int pm_genpd_default_freeze_late(struct device *dev)
{
int (*cb)(struct device *__dev) = dev_gpd_data(dev)->ops.freeze_late;
return cb ? cb(dev) : pm_generic_freeze_late(dev);
}
/**
* pm_genpd_default_thaw_early - Default "early device thaw" for PM domians.
* @dev: Device to handle.
*/
static int pm_genpd_default_thaw_early(struct device *dev)
{
int (*cb)(struct device *__dev) = dev_gpd_data(dev)->ops.thaw_early;
return cb ? cb(dev) : pm_generic_thaw_early(dev);
}
/**
* pm_genpd_default_thaw - Default "device thaw" for PM domians.
* @dev: Device to handle.
*/
static int pm_genpd_default_thaw(struct device *dev)
{
int (*cb)(struct device *__dev) = dev_gpd_data(dev)->ops.thaw;
return cb ? cb(dev) : pm_generic_thaw(dev);
}
#else /* !CONFIG_PM_SLEEP */
#define pm_genpd_default_suspend NULL
#define pm_genpd_default_suspend_late NULL
#define pm_genpd_default_resume_early NULL
#define pm_genpd_default_resume NULL
#define pm_genpd_default_freeze NULL
#define pm_genpd_default_freeze_late NULL
#define pm_genpd_default_thaw_early NULL
#define pm_genpd_default_thaw NULL
#endif /* !CONFIG_PM_SLEEP */
/** /**
* pm_genpd_init - Initialize a generic I/O PM domain object. * pm_genpd_init - Initialize a generic I/O PM domain object.
* @genpd: PM domain object to initialize. * @genpd: PM domain object to initialize.
...@@ -2071,14 +1956,14 @@ void pm_genpd_init(struct generic_pm_domain *genpd, ...@@ -2071,14 +1956,14 @@ void pm_genpd_init(struct generic_pm_domain *genpd,
genpd->domain.ops.complete = pm_genpd_complete; genpd->domain.ops.complete = pm_genpd_complete;
genpd->dev_ops.save_state = pm_genpd_default_save_state; genpd->dev_ops.save_state = pm_genpd_default_save_state;
genpd->dev_ops.restore_state = pm_genpd_default_restore_state; genpd->dev_ops.restore_state = pm_genpd_default_restore_state;
genpd->dev_ops.suspend = pm_genpd_default_suspend; genpd->dev_ops.suspend = pm_generic_suspend;
genpd->dev_ops.suspend_late = pm_genpd_default_suspend_late; genpd->dev_ops.suspend_late = pm_generic_suspend_late;
genpd->dev_ops.resume_early = pm_genpd_default_resume_early; genpd->dev_ops.resume_early = pm_generic_resume_early;
genpd->dev_ops.resume = pm_genpd_default_resume; genpd->dev_ops.resume = pm_generic_resume;
genpd->dev_ops.freeze = pm_genpd_default_freeze; genpd->dev_ops.freeze = pm_generic_freeze;
genpd->dev_ops.freeze_late = pm_genpd_default_freeze_late; genpd->dev_ops.freeze_late = pm_generic_freeze_late;
genpd->dev_ops.thaw_early = pm_genpd_default_thaw_early; genpd->dev_ops.thaw_early = pm_generic_thaw_early;
genpd->dev_ops.thaw = pm_genpd_default_thaw; genpd->dev_ops.thaw = pm_generic_thaw;
mutex_lock(&gpd_list_lock); mutex_lock(&gpd_list_lock);
list_add(&genpd->gpd_list_node, &gpd_list); list_add(&genpd->gpd_list_node, &gpd_list);
mutex_unlock(&gpd_list_lock); mutex_unlock(&gpd_list_lock);
......
...@@ -108,7 +108,6 @@ struct gpd_timing_data { ...@@ -108,7 +108,6 @@ struct gpd_timing_data {
struct generic_pm_domain_data { struct generic_pm_domain_data {
struct pm_domain_data base; struct pm_domain_data base;
struct gpd_dev_ops ops;
struct gpd_timing_data td; struct gpd_timing_data td;
struct notifier_block nb; struct notifier_block nb;
struct mutex lock; struct mutex lock;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment