Merge git://www.linux-watchdog.org/linux-watchdog
[firefly-linux-kernel-4.4.55.git] / drivers / watchdog / omap_wdt.c
index 02ebfd5f0e6534a5e19536bf5a4115a1e0ed07e4..fceec4f4eb7eec3dd6c3f1443b9e8df1bb7cb334 100644 (file)
@@ -126,8 +126,6 @@ static void omap_wdt_set_timeout(struct omap_wdt_dev *wdev)
        u32 pre_margin = GET_WLDR_VAL(timer_margin);
        void __iomem *base = wdev->base;
 
-       pm_runtime_get_sync(wdev->dev);
-
        /* just count up at 32 KHz */
        while (__raw_readl(base + OMAP_WATCHDOG_WPS) & 0x04)
                cpu_relax();
@@ -135,8 +133,6 @@ static void omap_wdt_set_timeout(struct omap_wdt_dev *wdev)
        __raw_writel(pre_margin, base + OMAP_WATCHDOG_LDR);
        while (__raw_readl(base + OMAP_WATCHDOG_WPS) & 0x04)
                cpu_relax();
-
-       pm_runtime_put_sync(wdev->dev);
 }
 
 /*
@@ -166,8 +162,6 @@ static int omap_wdt_open(struct inode *inode, struct file *file)
        omap_wdt_ping(wdev); /* trigger loading of new timeout value */
        omap_wdt_enable(wdev);
 
-       pm_runtime_put_sync(wdev->dev);
-
        return nonseekable_open(inode, file);
 }
 
@@ -179,8 +173,6 @@ static int omap_wdt_release(struct inode *inode, struct file *file)
         *      Shut off the timer unless NOWAYOUT is defined.
         */
 #ifndef CONFIG_WATCHDOG_NOWAYOUT
-       pm_runtime_get_sync(wdev->dev);
-
        omap_wdt_disable(wdev);
 
        pm_runtime_put_sync(wdev->dev);
@@ -199,11 +191,9 @@ static ssize_t omap_wdt_write(struct file *file, const char __user *data,
 
        /* Refresh LOAD_TIME. */
        if (len) {
-               pm_runtime_get_sync(wdev->dev);
                spin_lock(&wdt_lock);
                omap_wdt_ping(wdev);
                spin_unlock(&wdt_lock);
-               pm_runtime_put_sync(wdev->dev);
        }
        return len;
 }
@@ -236,18 +226,15 @@ static long omap_wdt_ioctl(struct file *file, unsigned int cmd,
                                        (int __user *)arg);
                return put_user(0, (int __user *)arg);
        case WDIOC_KEEPALIVE:
-               pm_runtime_get_sync(wdev->dev);
                spin_lock(&wdt_lock);
                omap_wdt_ping(wdev);
                spin_unlock(&wdt_lock);
-               pm_runtime_put_sync(wdev->dev);
                return 0;
        case WDIOC_SETTIMEOUT:
                if (get_user(new_margin, (int __user *)arg))
                        return -EFAULT;
                omap_wdt_adjust_timeout(new_margin);
 
-               pm_runtime_get_sync(wdev->dev);
                spin_lock(&wdt_lock);
                omap_wdt_disable(wdev);
                omap_wdt_set_timeout(wdev);
@@ -255,7 +242,6 @@ static long omap_wdt_ioctl(struct file *file, unsigned int cmd,
 
                omap_wdt_ping(wdev);
                spin_unlock(&wdt_lock);
-               pm_runtime_put_sync(wdev->dev);
                /* Fall */
        case WDIOC_GETTIMEOUT:
                return put_user(timer_margin, (int __user *)arg);
@@ -363,7 +349,6 @@ static void omap_wdt_shutdown(struct platform_device *pdev)
        struct omap_wdt_dev *wdev = platform_get_drvdata(pdev);
 
        if (wdev->omap_wdt_users) {
-               pm_runtime_get_sync(wdev->dev);
                omap_wdt_disable(wdev);
                pm_runtime_put_sync(wdev->dev);
        }
@@ -403,7 +388,6 @@ static int omap_wdt_suspend(struct platform_device *pdev, pm_message_t state)
        struct omap_wdt_dev *wdev = platform_get_drvdata(pdev);
 
        if (wdev->omap_wdt_users) {
-               pm_runtime_get_sync(wdev->dev);
                omap_wdt_disable(wdev);
                pm_runtime_put_sync(wdev->dev);
        }
@@ -419,7 +403,6 @@ static int omap_wdt_resume(struct platform_device *pdev)
                pm_runtime_get_sync(wdev->dev);
                omap_wdt_enable(wdev);
                omap_wdt_ping(wdev);
-               pm_runtime_put_sync(wdev->dev);
        }
 
        return 0;