Commit c509a8e521939ca1fd4ba31feca4718328044230
Committed by
Thierry Reding
1 parent
482467ad97
Exists in
master
and in
20 other branches
pwm: samsung: convert s3c_pwm to dev_pm_ops
Instead of using legacy suspend/resume methods, using newer dev_pm_ops structure allows better control over power management. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Signed-off-by: Thierry Reding <thierry.reding@avionic-design.de>
Showing 1 changed file with 9 additions and 11 deletions Side-by-side Diff
drivers/pwm/pwm-samsung.c
... | ... | @@ -289,10 +289,10 @@ |
289 | 289 | return 0; |
290 | 290 | } |
291 | 291 | |
292 | -#ifdef CONFIG_PM | |
293 | -static int s3c_pwm_suspend(struct platform_device *pdev, pm_message_t state) | |
292 | +#ifdef CONFIG_PM_SLEEP | |
293 | +static int s3c_pwm_suspend(struct device *dev) | |
294 | 294 | { |
295 | - struct s3c_chip *s3c = platform_get_drvdata(pdev); | |
295 | + struct s3c_chip *s3c = dev_get_drvdata(dev); | |
296 | 296 | |
297 | 297 | /* No one preserve these values during suspend so reset them |
298 | 298 | * Otherwise driver leaves PWM unconfigured if same values |
299 | 299 | |
... | ... | @@ -304,9 +304,9 @@ |
304 | 304 | return 0; |
305 | 305 | } |
306 | 306 | |
307 | -static int s3c_pwm_resume(struct platform_device *pdev) | |
307 | +static int s3c_pwm_resume(struct device *dev) | |
308 | 308 | { |
309 | - struct s3c_chip *s3c = platform_get_drvdata(pdev); | |
309 | + struct s3c_chip *s3c = dev_get_drvdata(dev); | |
310 | 310 | unsigned long tcon; |
311 | 311 | |
312 | 312 | /* Restore invertion */ |
313 | 313 | |
314 | 314 | |
315 | 315 | |
... | ... | @@ -316,21 +316,19 @@ |
316 | 316 | |
317 | 317 | return 0; |
318 | 318 | } |
319 | - | |
320 | -#else | |
321 | -#define s3c_pwm_suspend NULL | |
322 | -#define s3c_pwm_resume NULL | |
323 | 319 | #endif |
324 | 320 | |
321 | +static SIMPLE_DEV_PM_OPS(s3c_pwm_pm_ops, s3c_pwm_suspend, | |
322 | + s3c_pwm_resume); | |
323 | + | |
325 | 324 | static struct platform_driver s3c_pwm_driver = { |
326 | 325 | .driver = { |
327 | 326 | .name = "s3c24xx-pwm", |
328 | 327 | .owner = THIS_MODULE, |
328 | + .pm = &s3c_pwm_pm_ops, | |
329 | 329 | }, |
330 | 330 | .probe = s3c_pwm_probe, |
331 | 331 | .remove = s3c_pwm_remove, |
332 | - .suspend = s3c_pwm_suspend, | |
333 | - .resume = s3c_pwm_resume, | |
334 | 332 | }; |
335 | 333 | |
336 | 334 | static int __init pwm_init(void) |