Skip to content

Commit

Permalink
Input: mcs_touchkey - add shutdown handler
Browse files Browse the repository at this point in the history
The MCS50XX series has a HW bug that requires explicit chip power down.
If chip is not powered down before shutting the system down the control
pins (powerup, interrupt) are pulled up and residue current continues
flowing into the chips making them continue consuming power.

Signed-off-by: Heungjun Kim <riverful.kim@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  • Loading branch information
HeungJun Kim authored and Dmitry Torokhov committed Feb 24, 2011
1 parent adf779c commit 5f62615
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions drivers/input/keyboard/mcs_touchkey.c
Original file line number Diff line number Diff line change
Expand Up @@ -212,6 +212,14 @@ static int __devexit mcs_touchkey_remove(struct i2c_client *client)
return 0;
}

static void mcs_touchkey_shutdown(struct i2c_client *client)
{
struct mcs_touchkey_data *data = i2c_get_clientdata(client);

if (data->poweron)
data->poweron(false);
}

#ifdef CONFIG_PM_SLEEP
static int mcs_touchkey_suspend(struct device *dev)
{
Expand Down Expand Up @@ -262,6 +270,7 @@ static struct i2c_driver mcs_touchkey_driver = {
},
.probe = mcs_touchkey_probe,
.remove = __devexit_p(mcs_touchkey_remove),
.shutdown = mcs_touchkey_shutdown,
.id_table = mcs_touchkey_id,
};

Expand Down

0 comments on commit 5f62615

Please sign in to comment.