regulator: core: Change suspend_late to suspend
Change suspend_late ops to suspend normal ops. The goal is to avoid requesting all the regulator drivers to be operational in suspend late phase. Signed-off-by: pascal paillet <p.paillet@st.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
464a5686e6
commit
0380cf7dba
|
@ -4441,7 +4441,7 @@ void regulator_unregister(struct regulator_dev *rdev)
|
||||||
EXPORT_SYMBOL_GPL(regulator_unregister);
|
EXPORT_SYMBOL_GPL(regulator_unregister);
|
||||||
|
|
||||||
#ifdef CONFIG_SUSPEND
|
#ifdef CONFIG_SUSPEND
|
||||||
static int _regulator_suspend_late(struct device *dev, void *data)
|
static int _regulator_suspend(struct device *dev, void *data)
|
||||||
{
|
{
|
||||||
struct regulator_dev *rdev = dev_to_rdev(dev);
|
struct regulator_dev *rdev = dev_to_rdev(dev);
|
||||||
suspend_state_t *state = data;
|
suspend_state_t *state = data;
|
||||||
|
@ -4455,20 +4455,20 @@ static int _regulator_suspend_late(struct device *dev, void *data)
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* regulator_suspend_late - prepare regulators for system wide suspend
|
* regulator_suspend - prepare regulators for system wide suspend
|
||||||
* @state: system suspend state
|
* @state: system suspend state
|
||||||
*
|
*
|
||||||
* Configure each regulator with it's suspend operating parameters for state.
|
* Configure each regulator with it's suspend operating parameters for state.
|
||||||
*/
|
*/
|
||||||
static int regulator_suspend_late(struct device *dev)
|
static int regulator_suspend(struct device *dev)
|
||||||
{
|
{
|
||||||
suspend_state_t state = pm_suspend_target_state;
|
suspend_state_t state = pm_suspend_target_state;
|
||||||
|
|
||||||
return class_for_each_device(®ulator_class, NULL, &state,
|
return class_for_each_device(®ulator_class, NULL, &state,
|
||||||
_regulator_suspend_late);
|
_regulator_suspend);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int _regulator_resume_early(struct device *dev, void *data)
|
static int _regulator_resume(struct device *dev, void *data)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
struct regulator_dev *rdev = dev_to_rdev(dev);
|
struct regulator_dev *rdev = dev_to_rdev(dev);
|
||||||
|
@ -4481,35 +4481,35 @@ static int _regulator_resume_early(struct device *dev, void *data)
|
||||||
|
|
||||||
regulator_lock(rdev);
|
regulator_lock(rdev);
|
||||||
|
|
||||||
if (rdev->desc->ops->resume_early &&
|
if (rdev->desc->ops->resume &&
|
||||||
(rstate->enabled == ENABLE_IN_SUSPEND ||
|
(rstate->enabled == ENABLE_IN_SUSPEND ||
|
||||||
rstate->enabled == DISABLE_IN_SUSPEND))
|
rstate->enabled == DISABLE_IN_SUSPEND))
|
||||||
ret = rdev->desc->ops->resume_early(rdev);
|
ret = rdev->desc->ops->resume(rdev);
|
||||||
|
|
||||||
regulator_unlock(rdev);
|
regulator_unlock(rdev);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int regulator_resume_early(struct device *dev)
|
static int regulator_resume(struct device *dev)
|
||||||
{
|
{
|
||||||
suspend_state_t state = pm_suspend_target_state;
|
suspend_state_t state = pm_suspend_target_state;
|
||||||
|
|
||||||
return class_for_each_device(®ulator_class, NULL, &state,
|
return class_for_each_device(®ulator_class, NULL, &state,
|
||||||
_regulator_resume_early);
|
_regulator_resume);
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* !CONFIG_SUSPEND */
|
#else /* !CONFIG_SUSPEND */
|
||||||
|
|
||||||
#define regulator_suspend_late NULL
|
#define regulator_suspend NULL
|
||||||
#define regulator_resume_early NULL
|
#define regulator_resume NULL
|
||||||
|
|
||||||
#endif /* !CONFIG_SUSPEND */
|
#endif /* !CONFIG_SUSPEND */
|
||||||
|
|
||||||
#ifdef CONFIG_PM
|
#ifdef CONFIG_PM
|
||||||
static const struct dev_pm_ops __maybe_unused regulator_pm_ops = {
|
static const struct dev_pm_ops __maybe_unused regulator_pm_ops = {
|
||||||
.suspend_late = regulator_suspend_late,
|
.suspend = regulator_suspend,
|
||||||
.resume_early = regulator_resume_early,
|
.resume = regulator_resume,
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -220,7 +220,7 @@ struct regulator_ops {
|
||||||
/* set regulator suspend operating mode (defined in consumer.h) */
|
/* set regulator suspend operating mode (defined in consumer.h) */
|
||||||
int (*set_suspend_mode) (struct regulator_dev *, unsigned int mode);
|
int (*set_suspend_mode) (struct regulator_dev *, unsigned int mode);
|
||||||
|
|
||||||
int (*resume_early)(struct regulator_dev *rdev);
|
int (*resume)(struct regulator_dev *rdev);
|
||||||
|
|
||||||
int (*set_pull_down) (struct regulator_dev *);
|
int (*set_pull_down) (struct regulator_dev *);
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue