pwm_config/enable/disable() have been deprecated and should be replaced by pwm_apply_state(). Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx> --- drivers/input/misc/max8997_haptic.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/drivers/input/misc/max8997_haptic.c b/drivers/input/misc/max8997_haptic.c index a806ba3..fcc0eb7 100644 --- a/drivers/input/misc/max8997_haptic.c +++ b/drivers/input/misc/max8997_haptic.c @@ -72,8 +72,12 @@ static int max8997_haptic_set_duty_cycle(struct max8997_haptic *chip) int ret = 0; if (chip->mode == MAX8997_EXTERNAL_MODE) { - unsigned int duty = chip->pwm_period * chip->level / 100; - ret = pwm_config(chip->pwm, duty, chip->pwm_period); + struct pwm_state pstate; + + pwm_get_state(chip->pwm, &pstate); + pstate.period = chip->pwm_period; + pstate.duty_cycle = chip->pwm_period * chip->level / 100; + ret = pwm_apply_state(chip->pwm, &pstate); } else { int i; u8 duty_index = 0; @@ -188,7 +192,11 @@ static void max8997_haptic_enable(struct max8997_haptic *chip) } max8997_haptic_configure(chip); if (chip->mode == MAX8997_EXTERNAL_MODE) { - error = pwm_enable(chip->pwm); + struct pwm_state pstate; + + pwm_get_state(chip->pwm, &pstate); + pstate.enabled = true; + error = pwm_apply_state(chip->pwm, &pstate); if (error) { dev_err(chip->dev, "Failed to enable PWM\n"); regulator_disable(chip->regulator); @@ -209,8 +217,13 @@ static void max8997_haptic_disable(struct max8997_haptic *chip) if (chip->enabled) { chip->enabled = false; max8997_haptic_configure(chip); - if (chip->mode == MAX8997_EXTERNAL_MODE) - pwm_disable(chip->pwm); + if (chip->mode == MAX8997_EXTERNAL_MODE) { + struct pwm_state pstate; + + pwm_get_state(chip->pwm, &pstate); + pstate.enabled = false; + pwm_apply_state(chip->pwm, &pstate); + } regulator_disable(chip->regulator); } -- 2.5.0 -- To unsubscribe from this list: send the line "unsubscribe linux-doc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html