From dddf3bc454fe9b558c13ffd7896e8bea5d39ec29 Mon Sep 17 00:00:00 2001 From: Dan Murphy Date: Tue, 26 Aug 2014 15:36:55 -0700 Subject: Input: drv260x - add check for ERM mode and LRA Libraries Add a check to ensure that LRA libraries are not mixed with the ERM mode. If ERM mode and the Library is empty "OR" the LRA library then exit, as the LRA and empty libraries are not applicable for the ERM actuator. Signed-off-by: Dan Murphy Signed-off-by: Dmitry Torokhov --- drivers/input/misc/drv260x.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'drivers/input') diff --git a/drivers/input/misc/drv260x.c b/drivers/input/misc/drv260x.c index a7a19e68f4a7..cab87f5ce6d3 100644 --- a/drivers/input/misc/drv260x.c +++ b/drivers/input/misc/drv260x.c @@ -564,6 +564,14 @@ static int drv260x_probe(struct i2c_client *client, return -EINVAL; } + if (haptics->mode == DRV260X_ERM_MODE && + (haptics->library == DRV260X_LIB_EMPTY || + haptics->library == DRV260X_LIB_LRA)) { + dev_err(&client->dev, + "ERM Mode with LRA Library mismatch\n"); + return -EINVAL; + } + haptics->regulator = devm_regulator_get(&client->dev, "vbat"); if (IS_ERR(haptics->regulator)) { error = PTR_ERR(haptics->regulator); -- cgit v1.2.3