Hi Uwe,

Thanks for your review.

On Sun, Apr 18, 2021 at 03:44:11PM +0200, Uwe Kleine-König wrote:
> Hello,
> 
> just a few smaller issues left to fix.
> 
> On Sun, Apr 18, 2021 at 08:09:04PM +0900, Nobuhiro Iwamatsu wrote:
> > diff --git a/drivers/pwm/pwm-visconti.c b/drivers/pwm/pwm-visconti.c
> > new file mode 100644
> > index 000000000000..166b18ac1a3a
> > --- /dev/null
> > +++ b/drivers/pwm/pwm-visconti.c
> > @@ -0,0 +1,188 @@
> > +// SPDX-License-Identifier: GPL-2.0-only
> > +/*
> > + * Toshiba Visconti pulse-width-modulation controller driver
> > + *
> > + * Copyright (c) 2020 TOSHIBA CORPORATION
> > + * Copyright (c) 2020 Toshiba Electronic Devices & Storage Corporation
> 
> We're in 2021, so you might want to adapt the year in the copy right
> notice.

OK, I will update.

> 
> > + *
> > + * Authors: Nobuhiro Iwamatsu <[email protected]>
> > + *
> > + * Limitations:
> > + * - PIPGM_PWMC is a 2-bit divider (00: 1, 01: 2, 10: 4, 11: 8).
> 
> This is too detailed for the purpose of this section. Please either drop
> it or make this:
> 
>  - The fixed input clock is running at 1 MHz and is divided by either 1,
>    2, 4 or 8.


OK, I will add your sugggestion.

> 
> > + * - Fixed input clock running at 1 MHz.
> > + * - When the settings of the PWM are modified, the new values are shadowed
> > + *   in hardware until the PIPGM_PCSR register is written and the currently
> > + *   running period is completed. This way the hardware switches atomically
> > + *   from the old setting to the new.
> > + * - Disabling the hardware completes the currently running period and 
> > keeps
> > + *   the output at low level at all times.
> > + */
> > +
> > [...]
> > +   /*
> > +    * PWMC controls a divider that divides the input clk by a
> > +    * power of two between 1 and 8. As a smaller divider yields
> > +    * higher precision, pick the smallest possible one.
> > +    */
> > +   if (period > 0xffff) {
> > +           pwmc0 = ilog2(period >> 16);
> > +           BUG_ON(pwmc0 > 3);
> > +   } else
> > +           pwmc0 = 0;
> 
> The linux coding style mandates that you should use braces for both
> branches. (i.e.
> 
> +     if (period > 0xffff) {
> +             pwmc0 = ilog2(period >> 16);
> +             BUG_ON(pwmc0 > 3);
> +     } else {
> +             pwmc0 = 0;
> +     }
> )

Oh, I fotgot it, I will fix this. Thanks you.

> 
> > +   period >>= pwmc0;
> > +   duty_cycle >>= pwmc0;
> > +
> > +   if (state->polarity == PWM_POLARITY_INVERSED)
> > +           pwmc0 |= PIPGM_PWMC_PWMACT;
> > +   writel(pwmc0, priv->base + PIPGM_PWMC(pwm->hwpwm));
> > +   writel(duty_cycle, priv->base + PIPGM_PDUT(pwm->hwpwm));
> > +   writel(period, priv->base + PIPGM_PCSR(pwm->hwpwm));
> > +
> > +   return 0;
> > +}
> 
> Best regards
> Uwe


Best regards,
  Nobuhiro

Reply via email to