OSDN Git Service

Input: da9063 - report KEY_POWER instead of KEY_SLEEP during power key-press
authorSteve Twiss <stwiss.opensource@diasemi.com>
Sun, 13 Dec 2015 04:43:35 +0000 (20:43 -0800)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Sun, 13 Dec 2015 05:05:09 +0000 (21:05 -0800)
Stop reporting KEY_SLEEP for a short key-press and report KEY_POWER instead
This change applies to both DA9063 and DA9062 ONKEY drivers.

A previous application used for testing by the developer required a
KEY_SLEEP and KEY_POWER input_report_key event to distinguish between a
short and long key-press of the power key.  This is not the general
convention and the typical solution is for KEY_POWER to be used in both
cases: suspend and S/W power off.

Signed-off-by: Steve Twiss <stwiss.opensource@diasemi.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/misc/da9063_onkey.c

index 8eb697d..bb863e0 100644 (file)
@@ -179,13 +179,13 @@ static irqreturn_t da9063_onkey_irq_handler(int irq, void *data)
                input_report_key(onkey->input, KEY_POWER, 1);
                input_sync(onkey->input);
                schedule_delayed_work(&onkey->work, 0);
-               dev_dbg(onkey->dev, "KEY_POWER pressed.\n");
+               dev_dbg(onkey->dev, "KEY_POWER long press.\n");
        } else {
-               input_report_key(onkey->input, KEY_SLEEP, 1);
+               input_report_key(onkey->input, KEY_POWER, 1);
                input_sync(onkey->input);
-               input_report_key(onkey->input, KEY_SLEEP, 0);
+               input_report_key(onkey->input, KEY_POWER, 0);
                input_sync(onkey->input);
-               dev_dbg(onkey->dev, "KEY_SLEEP pressed.\n");
+               dev_dbg(onkey->dev, "KEY_POWER short press.\n");
        }
 
        return IRQ_HANDLED;