Merge tag 'drm-misc-next-fixes-2023-01-03' of git://anongit.freedesktop.org/drm/drm...
[linux-block.git] / drivers / pwm / pwm-iqs620a.c
index 54bd95a5cab0ccf337636c1a83bda2c5b02c8113..4987ca940b648c7f5bd68c866e742e5e165758dd 100644 (file)
@@ -47,8 +47,8 @@ static int iqs620_pwm_init(struct iqs620_pwm_private *iqs620_pwm,
        int ret;
 
        if (!duty_scale)
-               return regmap_update_bits(iqs62x->regmap, IQS620_PWR_SETTINGS,
-                                         IQS620_PWR_SETTINGS_PWM_OUT, 0);
+               return regmap_clear_bits(iqs62x->regmap, IQS620_PWR_SETTINGS,
+                                        IQS620_PWR_SETTINGS_PWM_OUT);
 
        ret = regmap_write(iqs62x->regmap, IQS620_PWM_DUTY_CYCLE,
                           duty_scale - 1);
@@ -104,8 +104,8 @@ static int iqs620_pwm_apply(struct pwm_chip *chip, struct pwm_device *pwm,
        return ret;
 }
 
-static void iqs620_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
-                                struct pwm_state *state)
+static int iqs620_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
+                               struct pwm_state *state)
 {
        struct iqs620_pwm_private *iqs620_pwm;
 
@@ -126,6 +126,8 @@ static void iqs620_pwm_get_state(struct pwm_chip *chip, struct pwm_device *pwm,
        mutex_unlock(&iqs620_pwm->lock);
 
        state->period = IQS620_PWM_PERIOD_NS;
+
+       return 0;
 }
 
 static int iqs620_pwm_notifier(struct notifier_block *notifier,