|
@@ -181,11 +181,21 @@ static void max8997_haptic_enable(struct max8997_haptic *chip)
|
|
}
|
|
}
|
|
|
|
|
|
if (!chip->enabled) {
|
|
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);
|
|
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:
|
|
out:
|