Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 5f62615e authored by HeungJun Kim's avatar HeungJun Kim Committed by Dmitry Torokhov
Browse files

Input: mcs_touchkey - add shutdown handler



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: default avatarHeungjun Kim <riverful.kim@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent adf779c1
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -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)
{
@@ -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,
};