Commit 70029323 authored by Stephan Gerhold's avatar Stephan Gerhold Committed by Dmitry Torokhov
Browse files

Input: tm2-touchkey - add vddio regulator



The Samsung touchkey controllers are often used with external pull-up
for the interrupt line and the I2C lines, so we might need to enable
a regulator to bring the lines into usable state. Otherwise, this might
cause spurious interrupts and reading from I2C will fail.

Implement support for a "vddio-supply" that is enabled by the
tm2-touchkey driver so that the regulator gets enabled when needed.

Signed-off-by: default avatarStephan Gerhold <stephan@gerhold.net>
Reviewed-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20201203131242.44397-3-stephan@gerhold.net


Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 3e730ec1
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ struct tm2_touchkey_data {
	struct input_dev *input_dev;
	struct led_classdev led_dev;
	struct regulator *vdd;
	struct regulator_bulk_data regulators[2];
	struct regulator_bulk_data regulators[3];
	const struct touchkey_variant *variant;
	u32 keycodes[4];
	int num_keycodes;
@@ -204,6 +204,7 @@ static int tm2_touchkey_probe(struct i2c_client *client,

	touchkey->regulators[0].supply = "vcc";
	touchkey->regulators[1].supply = "vdd";
	touchkey->regulators[2].supply = "vddio";
	error = devm_regulator_bulk_get(&client->dev,
					ARRAY_SIZE(touchkey->regulators),
					touchkey->regulators);