diff options
Diffstat (limited to 'drivers/input/misc/max8997_haptic.c')
| -rw-r--r-- | drivers/input/misc/max8997_haptic.c | 19 | 
1 files changed, 14 insertions, 5 deletions
diff --git a/drivers/input/misc/max8997_haptic.c b/drivers/input/misc/max8997_haptic.c index e973133212a..a363ebbd9cc 100644 --- a/drivers/input/misc/max8997_haptic.c +++ b/drivers/input/misc/max8997_haptic.c @@ -23,7 +23,6 @@   */  #include <linux/module.h> -#include <linux/init.h>  #include <linux/slab.h>  #include <linux/platform_device.h>  #include <linux/err.h> @@ -182,11 +181,21 @@ static void max8997_haptic_enable(struct max8997_haptic *chip)  	}  	if (!chip->enabled) { -		chip->enabled = true; -		regulator_enable(chip->regulator); +		error = regulator_enable(chip->regulator); +		if (error) { +			dev_err(chip->dev, "Failed to enable regulator\n"); +			goto out; +		}  		max8997_haptic_configure(chip); -		if (chip->mode == MAX8997_EXTERNAL_MODE) -			pwm_enable(chip->pwm); +		if (chip->mode == MAX8997_EXTERNAL_MODE) { +			error = pwm_enable(chip->pwm); +			if (error) { +				dev_err(chip->dev, "Failed to enable PWM\n"); +				regulator_disable(chip->regulator); +				goto out; +			} +		} +		chip->enabled = true;  	}  out:  | 
