Commit c509a8e521939ca1fd4ba31feca4718328044230

Authored by Jingoo Han
Committed by Thierry Reding
1 parent 482467ad97

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)