diff options
Diffstat (limited to 'drivers/rtc/rtc-rc5t583.c')
| -rw-r--r-- | drivers/rtc/rtc-rc5t583.c | 19 | 
1 files changed, 5 insertions, 14 deletions
diff --git a/drivers/rtc/rtc-rc5t583.c b/drivers/rtc/rtc-rc5t583.c index eb3194d664a..8eabcf51b35 100644 --- a/drivers/rtc/rtc-rc5t583.c +++ b/drivers/rtc/rtc-rc5t583.c @@ -256,7 +256,7 @@ static int rc5t583_rtc_probe(struct platform_device *pdev)  	}  	device_init_wakeup(&pdev->dev, 1); -	ricoh_rtc->rtc = rtc_device_register(pdev->name, &pdev->dev, +	ricoh_rtc->rtc = devm_rtc_device_register(&pdev->dev, pdev->name,  		&rc5t583_rtc_ops, THIS_MODULE);  	if (IS_ERR(ricoh_rtc->rtc)) {  		ret = PTR_ERR(ricoh_rtc->rtc); @@ -276,13 +276,10 @@ static int rc5t583_rtc_remove(struct platform_device *pdev)  	struct rc5t583_rtc *rc5t583_rtc = dev_get_drvdata(&pdev->dev);  	rc5t583_rtc_alarm_irq_enable(&rc5t583_rtc->rtc->dev, 0); - -	rtc_device_unregister(rc5t583_rtc->rtc);  	return 0;  }  #ifdef CONFIG_PM_SLEEP -  static int rc5t583_rtc_suspend(struct device *dev)  {  	struct rc5t583 *rc5t583 = dev_get_drvdata(dev->parent); @@ -304,24 +301,18 @@ static int rc5t583_rtc_resume(struct device *dev)  	return regmap_write(rc5t583->regmap, RC5T583_RTC_CTL1,  		rc5t583_rtc->irqen);  } - -static const struct dev_pm_ops rc5t583_rtc_pm_ops = { -	.suspend	= rc5t583_rtc_suspend, -	.resume		= rc5t583_rtc_resume, -}; - -#define DEV_PM_OPS     (&rc5t583_rtc_pm_ops) -#else -#define DEV_PM_OPS     NULL  #endif +static SIMPLE_DEV_PM_OPS(rc5t583_rtc_pm_ops, rc5t583_rtc_suspend, +			rc5t583_rtc_resume); +  static struct platform_driver rc5t583_rtc_driver = {  	.probe		= rc5t583_rtc_probe,  	.remove		= rc5t583_rtc_remove,  	.driver		= {  		.owner	= THIS_MODULE,  		.name	= "rtc-rc5t583", -		.pm	= DEV_PM_OPS, +		.pm	= &rc5t583_rtc_pm_ops,  	},  };  |