Message ID | 1456932729-9667-11-git-send-email-lee.jones@linaro.org |
---|---|
State | Superseded |
Headers | show |
On Wed, Mar 02, 2016 at 03:32:08PM +0000, Lee Jones wrote: > Once all functionality is in place, we provide the means to > enable PWM Capture. Here we are simply obtaining the > associated regmap and twiddling the relevant enable register > bits. > > Signed-off-by: Lee Jones <lee.jones@linaro.org> > --- > drivers/pwm/pwm-sti.c | 13 +++++++++++++ > 1 file changed, 13 insertions(+) > > diff --git a/drivers/pwm/pwm-sti.c b/drivers/pwm/pwm-sti.c > index 8de9b4a..93cf20e 100644 > --- a/drivers/pwm/pwm-sti.c > +++ b/drivers/pwm/pwm-sti.c > @@ -279,6 +279,13 @@ static int sti_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) > pwm->hwpwm); > goto out; > } > + > + ret = regmap_field_write(pc->pwm_cpt_en, 1); > + if (ret) { > + dev_err(dev, "failed to enable PWM capture:%d\n", > + pwm->hwpwm); > + goto out; > + } Should this perhaps be part of the driver's ->capture() implementation? It seems redundant to have this logic enabled if we may never use it. Thierry
diff --git a/drivers/pwm/pwm-sti.c b/drivers/pwm/pwm-sti.c index 8de9b4a..93cf20e 100644 --- a/drivers/pwm/pwm-sti.c +++ b/drivers/pwm/pwm-sti.c @@ -279,6 +279,13 @@ static int sti_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) pwm->hwpwm); goto out; } + + ret = regmap_field_write(pc->pwm_cpt_en, 1); + if (ret) { + dev_err(dev, "failed to enable PWM capture:%d\n", + pwm->hwpwm); + goto out; + } } pc->en_count++; out: @@ -296,6 +303,7 @@ static void sti_pwm_disable(struct pwm_chip *chip, struct pwm_device *pwm) return; } regmap_field_write(pc->pwm_out_en, 0); + regmap_field_write(pc->pwm_cpt_en, 0); clk_disable(pc->pwm_clk); clk_disable(pc->cpt_clk); @@ -492,6 +500,11 @@ static int sti_pwm_probe_dt(struct sti_pwm_chip *pc) if (IS_ERR(pc->pwm_out_en)) return PTR_ERR(pc->pwm_out_en); + pc->pwm_cpt_en = devm_regmap_field_alloc(dev, pc->regmap, + reg_fields[PWM_CPT_EN]); + if (IS_ERR(pc->pwm_cpt_en)) + return PTR_ERR(pc->pwm_cpt_en); + pc->pwm_cpt_int_en = devm_regmap_field_alloc(dev, pc->regmap, reg_fields[PWM_CPT_INT_EN]); if (IS_ERR(pc->pwm_cpt_int_en))
Once all functionality is in place, we provide the means to enable PWM Capture. Here we are simply obtaining the associated regmap and twiddling the relevant enable register bits. Signed-off-by: Lee Jones <lee.jones@linaro.org> --- drivers/pwm/pwm-sti.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)