lkml.org 
[lkml]   [2018]   [Sep]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH V2] input: egalax_ts: add system wakeup support
    Date
    This patch adds wakeup function support for egalax touch
    screen, if "wakeup-source" is added to device tree's egalax
    touch screen node, the wakeup function will be enabled, and
    egalax touch screen will be able to wakeup system from suspend.

    Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
    ---
    changes since V1:
    remove unnecessary device wakeup check and fix the irq wake balance issue.
    drivers/input/touchscreen/egalax_ts.c | 6 ++++++
    1 file changed, 6 insertions(+)

    diff --git a/drivers/input/touchscreen/egalax_ts.c b/drivers/input/touchscreen/egalax_ts.c
    index 80e69bb..83ac8c1 100644
    --- a/drivers/input/touchscreen/egalax_ts.c
    +++ b/drivers/input/touchscreen/egalax_ts.c
    @@ -241,6 +241,9 @@ static int __maybe_unused egalax_ts_suspend(struct device *dev)
    struct i2c_client *client = to_i2c_client(dev);
    int ret;

    + if (device_may_wakeup(dev))
    + return enable_irq_wake(client->irq);
    +
    ret = i2c_master_send(client, suspend_cmd, MAX_I2C_DATA_LEN);
    return ret > 0 ? 0 : ret;
    }
    @@ -249,6 +252,9 @@ static int __maybe_unused egalax_ts_resume(struct device *dev)
    {
    struct i2c_client *client = to_i2c_client(dev);

    + if (device_may_wakeup(dev))
    + return disable_irq_wake(client->irq);
    +
    return egalax_wake_up_device(client);
    }

    --
    2.7.4
    \
     
     \ /
      Last update: 2018-09-06 05:29    [W:4.016 / U:0.104 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site