lkml.org 
[lkml]   [2016]   [Mar]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH v5 37/46] input: misc: max8997: switch to the atomic PWM API
Date
pwm_config/enable/disable() have been deprecated and should be replaced
by pwm_apply_state().

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
---
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
\
 
 \ /
  Last update: 2016-03-30 22:21    [W:0.365 / U:0.184 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site