Hi Uwe

> Hello Lino,
>
> On Tue, Dec 08, 2020 at 11:01:45PM +0100, Lino Sanfilippo wrote:
> > Use the newer .apply function of pwm_ops instead of .config, .enable,
> > .disable and .set_polarity. This guarantees atomic changes of the pwm
> > controller configuration. It also reduces the size of the driver.
> >
> > Since now period is a 64 bit value, add an extra check to reject periods
> > that exceed the possible max value for the 32 bit register.
> >
> > This has been tested on a Raspberry PI 4.
>
> This looks right, just two small nitpicks below.
>

>
> This cast isn't necessary. (And if it was, I *think* the space between
> "(u32)" and "period" is wrong. But my expectation that checkpatch warns
> about this is wrong, so take this with a grain of salt.)

OK, I will omit the cast in the next patch version (it was primarily
meant for documentation purposes but now it seems to me rather
unusual for kernel code)

>
> > -   value = readl(pc->base + PWM_CONTROL);
> > -   value &= ~(PWM_ENABLE << PWM_CONTROL_SHIFT(pwm->hwpwm));
> > -   writel(value, pc->base + PWM_CONTROL);
> > -}
> > +   /* set duty cycle */
> > +   val = DIV_ROUND_CLOSEST_ULL(state->duty_cycle, scaler);
> > +   writel(val, pc->base + DUTY(pwm->hwpwm));
> >
> > -static int bcm2835_set_polarity(struct pwm_chip *chip, struct pwm_device 
> > *pwm,
> > -                           enum pwm_polarity polarity)
> > -{
> > -   struct bcm2835_pwm *pc = to_bcm2835_pwm(chip);
> > -   u32 value;
> > +   /* set polarity */
> > +   val = readl(pc->base + PWM_CONTROL);
> >
> > -   value = readl(pc->base + PWM_CONTROL);
> > +   if (state->polarity == PWM_POLARITY_NORMAL)
> > +           val &= ~(PWM_POLARITY << PWM_CONTROL_SHIFT(pwm->hwpwm));
> > +   else
> > +           val |= PWM_POLARITY << PWM_CONTROL_SHIFT(pwm->hwpwm);
> >
> > -   if (polarity == PWM_POLARITY_NORMAL)
> > -           value &= ~(PWM_POLARITY << PWM_CONTROL_SHIFT(pwm->hwpwm));
> > +   /* enable/disable */
> > +   if (state->enabled)
> > +           val |= PWM_ENABLE << PWM_CONTROL_SHIFT(pwm->hwpwm);
> >     else
> > -           value |= PWM_POLARITY << PWM_CONTROL_SHIFT(pwm->hwpwm);
> > +           val &= ~(PWM_ENABLE << PWM_CONTROL_SHIFT(pwm->hwpwm));
> >
> > -   writel(value, pc->base + PWM_CONTROL);
> > +   writel(val, pc->base + PWM_CONTROL);
> >
> >     return 0;
> >  }
> >
> > +
>
> I wouldn't have added this empty line. But I guess that's subjective. Or
> did you add this by mistake?

I cannot remember that the line was added by intention, so I am fine to remove 
it.

Thanks and regards,
Lino

Reply via email to