Input: samsung-keypad - don't synchronise with runtime PM put
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Mon, 23 Jan 2012 07:27:54 +0000 (23:27 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Mon, 23 Jan 2012 08:02:36 +0000 (00:02 -0800)
We don't actually care if the device has been runtime suspended immediately
so we can just drop the reference without waiting for any state change to
be implemented. This may allow us to avoid some suspend/resume cycles and
is a bit more friendly to the rest of the system.

Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
drivers/input/keyboard/samsung-keypad.c

index b746fce2d120d77b33921743341cf60f8a727d9d..395b3af9f73e7f9ccf66d9772dcd5fc8ea8a6f79 100644 (file)
@@ -178,7 +178,7 @@ static irqreturn_t samsung_keypad_irq(int irq, void *dev_id)
 
        } while (key_down && !keypad->stopped);
 
-       pm_runtime_put_sync(&keypad->pdev->dev);
+       pm_runtime_put(&keypad->pdev->dev);
 
        return IRQ_HANDLED;
 }
@@ -202,7 +202,7 @@ static void samsung_keypad_start(struct samsung_keypad *keypad)
        /* KEYIFCOL reg clear. */
        writel(0, keypad->base + SAMSUNG_KEYIFCOL);
 
-       pm_runtime_put_sync(&keypad->pdev->dev);
+       pm_runtime_put(&keypad->pdev->dev);
 }
 
 static void samsung_keypad_stop(struct samsung_keypad *keypad)
@@ -232,7 +232,7 @@ static void samsung_keypad_stop(struct samsung_keypad *keypad)
         */
        enable_irq(keypad->irq);
 
-       pm_runtime_put_sync(&keypad->pdev->dev);
+       pm_runtime_put(&keypad->pdev->dev);
 }
 
 static int samsung_keypad_open(struct input_dev *input_dev)