diff options
Diffstat (limited to 'drivers/rtc/rtc-tegra.c')
| -rw-r--r-- | drivers/rtc/rtc-tegra.c | 18 | 
1 files changed, 8 insertions, 10 deletions
diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c index 916802a5836..0ef028b5482 100644 --- a/drivers/rtc/rtc-tegra.c +++ b/drivers/rtc/rtc-tegra.c @@ -26,6 +26,7 @@  #include <linux/delay.h>  #include <linux/rtc.h>  #include <linux/platform_device.h> +#include <linux/pm.h>  /* set to 1 = busy every eight 32kHz clocks during copy of sec+msec to AHB */  #define TEGRA_RTC_REG_BUSY			0x004 @@ -391,10 +392,9 @@ static int __exit tegra_rtc_remove(struct platform_device *pdev)  }  #ifdef CONFIG_PM_SLEEP -static int tegra_rtc_suspend(struct platform_device *pdev, pm_message_t state) +static int tegra_rtc_suspend(struct device *dev)  { -	struct device *dev = &pdev->dev; -	struct tegra_rtc_info *info = platform_get_drvdata(pdev); +	struct tegra_rtc_info *info = dev_get_drvdata(dev);  	tegra_rtc_wait_while_busy(dev); @@ -416,10 +416,9 @@ static int tegra_rtc_suspend(struct platform_device *pdev, pm_message_t state)  	return 0;  } -static int tegra_rtc_resume(struct platform_device *pdev) +static int tegra_rtc_resume(struct device *dev)  { -	struct device *dev = &pdev->dev; -	struct tegra_rtc_info *info = platform_get_drvdata(pdev); +	struct tegra_rtc_info *info = dev_get_drvdata(dev);  	dev_vdbg(dev, "Resume (device_may_wakeup=%d)\n",  		device_may_wakeup(dev)); @@ -431,6 +430,8 @@ static int tegra_rtc_resume(struct platform_device *pdev)  }  #endif +static SIMPLE_DEV_PM_OPS(tegra_rtc_pm_ops, tegra_rtc_suspend, tegra_rtc_resume); +  static void tegra_rtc_shutdown(struct platform_device *pdev)  {  	dev_vdbg(&pdev->dev, "disabling interrupts.\n"); @@ -445,11 +446,8 @@ static struct platform_driver tegra_rtc_driver = {  		.name	= "tegra_rtc",  		.owner	= THIS_MODULE,  		.of_match_table = tegra_rtc_dt_match, +		.pm	= &tegra_rtc_pm_ops,  	}, -#ifdef CONFIG_PM_SLEEP -	.suspend	= tegra_rtc_suspend, -	.resume		= tegra_rtc_resume, -#endif  };  module_platform_driver_probe(tegra_rtc_driver, tegra_rtc_probe);  |