aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/thermal/rcar_thermal.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/drivers/thermal/rcar_thermal.c b/drivers/thermal/rcar_thermal.c
index 4d6095b9f9df..8d7edd4c8228 100644
--- a/drivers/thermal/rcar_thermal.c
+++ b/drivers/thermal/rcar_thermal.c
@@ -24,6 +24,7 @@
24#include <linux/io.h> 24#include <linux/io.h>
25#include <linux/module.h> 25#include <linux/module.h>
26#include <linux/platform_device.h> 26#include <linux/platform_device.h>
27#include <linux/pm_runtime.h>
27#include <linux/reboot.h> 28#include <linux/reboot.h>
28#include <linux/slab.h> 29#include <linux/slab.h>
29#include <linux/spinlock.h> 30#include <linux/spinlock.h>
@@ -377,6 +378,9 @@ static int rcar_thermal_probe(struct platform_device *pdev)
377 spin_lock_init(&common->lock); 378 spin_lock_init(&common->lock);
378 common->dev = dev; 379 common->dev = dev;
379 380
381 pm_runtime_enable(dev);
382 pm_runtime_get_sync(dev);
383
380 irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0); 384 irq = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
381 if (irq) { 385 if (irq) {
382 int ret; 386 int ret;
@@ -465,12 +469,16 @@ error_unregister:
465 rcar_thermal_irq_disable(priv); 469 rcar_thermal_irq_disable(priv);
466 } 470 }
467 471
472 pm_runtime_put_sync(dev);
473 pm_runtime_disable(dev);
474
468 return ret; 475 return ret;
469} 476}
470 477
471static int rcar_thermal_remove(struct platform_device *pdev) 478static int rcar_thermal_remove(struct platform_device *pdev)
472{ 479{
473 struct rcar_thermal_common *common = platform_get_drvdata(pdev); 480 struct rcar_thermal_common *common = platform_get_drvdata(pdev);
481 struct device *dev = &pdev->dev;
474 struct rcar_thermal_priv *priv; 482 struct rcar_thermal_priv *priv;
475 483
476 rcar_thermal_for_each_priv(priv, common) { 484 rcar_thermal_for_each_priv(priv, common) {
@@ -481,6 +489,9 @@ static int rcar_thermal_remove(struct platform_device *pdev)
481 489
482 platform_set_drvdata(pdev, NULL); 490 platform_set_drvdata(pdev, NULL);
483 491
492 pm_runtime_put_sync(dev);
493 pm_runtime_disable(dev);
494
484 return 0; 495 return 0;
485} 496}
486 497