diff --git a/[refs] b/[refs] index 54f87613ad27..b22a18bf5187 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9ea6404691a520f734b819cbbd4757b0ea5f99c6 +refs/heads/master: 8c013d964ac32c20afe2cdeadf59926d87012b37 diff --git a/trunk/drivers/watchdog/shwdt.c b/trunk/drivers/watchdog/shwdt.c index 380ada4e5d66..b11104702d23 100644 --- a/trunk/drivers/watchdog/shwdt.c +++ b/trunk/drivers/watchdog/shwdt.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -87,6 +88,8 @@ static int sh_wdt_start(struct watchdog_device *wdt_dev) unsigned long flags; u8 csr; + pm_runtime_get_sync(wdt->dev); + spin_lock_irqsave(&wdt->lock, flags); next_heartbeat = jiffies + (heartbeat * HZ); @@ -137,6 +140,8 @@ static int sh_wdt_stop(struct watchdog_device *wdt_dev) spin_unlock_irqrestore(&wdt->lock, flags); + pm_runtime_put_sync(wdt->dev); + return 0; } @@ -283,6 +288,8 @@ static int __devinit sh_wdt_probe(struct platform_device *pdev) dev_info(&pdev->dev, "initialized.\n"); + pm_runtime_enable(&pdev->dev); + return 0; out_disable: @@ -300,6 +307,7 @@ static int __devexit sh_wdt_remove(struct platform_device *pdev) watchdog_unregister_device(&sh_wdt_dev); + pm_runtime_disable(&pdev->dev); clk_disable(wdt->clk); clk_put(wdt->clk);