diff options
author | Hans de Goede <hdegoede@redhat.com> | 2020-09-03 13:23:27 +0200 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2020-09-06 15:38:01 +0200 |
commit | 547d9e9261d294f0a2597d9e9c55ba48f80716ab (patch) | |
tree | ceb7f144da1e93e5172336a1e9ba5493bef654a3 /drivers/pwm/pwm-lpss.h | |
parent | pwm: lpss: Make pwm_lpss_apply() not rely on existing hardware state (diff) | |
download | linux-547d9e9261d294f0a2597d9e9c55ba48f80716ab.tar.xz linux-547d9e9261d294f0a2597d9e9c55ba48f80716ab.zip |
pwm: lpss: Remove suspend/resume handlers
PWM controller drivers should not restore the PWM state on resume. The
convention is that PWM consumers do this by calling pwm_apply_state(),
so that it can be done at the exact moment when the consumer needs
the state to be stored, avoiding e.g. backlight flickering.
The only in kernel consumers of the pwm-lpss code, the i915 driver
and the pwm-class sysfs interface code both correctly restore the
state on resume, so there is no need to do this in the pwm-lpss code.
More-over the removed resume handler is buggy, since it blindly
restores the ctrl-register contents without setting the update
bit, which is necessary to get the controller to actually use/apply
the restored base-unit and on-time-div values.
Acked-by: Thierry Reding <thierry.reding@gmail.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200903112337.4113-8-hdegoede@redhat.com
Diffstat (limited to 'drivers/pwm/pwm-lpss.h')
-rw-r--r-- | drivers/pwm/pwm-lpss.h | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/drivers/pwm/pwm-lpss.h b/drivers/pwm/pwm-lpss.h index 7909fa12fca2..70db7e389d66 100644 --- a/drivers/pwm/pwm-lpss.h +++ b/drivers/pwm/pwm-lpss.h @@ -19,7 +19,6 @@ struct pwm_lpss_chip { struct pwm_chip chip; void __iomem *regs; const struct pwm_lpss_boardinfo *info; - u32 saved_ctrl[MAX_PWMS]; }; struct pwm_lpss_boardinfo { @@ -37,7 +36,5 @@ struct pwm_lpss_boardinfo { struct pwm_lpss_chip *pwm_lpss_probe(struct device *dev, struct resource *r, const struct pwm_lpss_boardinfo *info); int pwm_lpss_remove(struct pwm_lpss_chip *lpwm); -int pwm_lpss_suspend(struct device *dev); -int pwm_lpss_resume(struct device *dev); #endif /* __PWM_LPSS_H */ |