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 b746fce..395b3af 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)