Re: [PATCH v5 03/11] pwm: imx: Add separate set of pwm ops for PWMv1 and PWMv2

From: Lukasz Majewski
Date: Mon Jan 30 2017 - 03:55:27 EST


Hi Thierry,

> On Mon, Jan 30, 2017 at 09:36:49AM +0100, Lukasz Majewski wrote:
> > Hi Thierry,
> >
> > > On Mon, Jan 30, 2017 at 08:23:12AM +0100, Thierry Reding wrote:
> > > > On Sun, Jan 29, 2017 at 10:54:07PM +0100, Lukasz Majewski wrote:
> > > > > From: Lukasz Majewski <l.majewski@xxxxxxxxx>
> > > > >
> > > > > This patch provides separate set of pwm ops utilized by
> > > > > i.MX's PWMv1 and PWMv2.
> > > > >
> > > > > Signed-off-by: Lothar WaÃmann <LW@xxxxxxxxxxxxxxxxxxx>
> > > > > Signed-off-by: Bhuvanchandra DV <bhuvanchandra.dv@xxxxxxxxxxx>
> > > > > Signed-off-by: Lukasz Majewski <l.majewski@xxxxxxxxx>
> > > > > Acked-by: Shawn Guo <shawn.guo@xxxxxxxxxx>
> > > > > Reviewed-by: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx>
> > > > > ---
> > > > > Changes for v5:
> > > > > - None
> > > > >
> > > > > Changes for v4:
> > > > > - None
> > > > >
> > > > > Changes for v3:
> > > > > - Adjust the code to work with ipg clock removed
> > > > >
> > > > > Changes for v2:
> > > > > - New patch
> > > > > ---
> > > > > drivers/pwm/pwm-imx.c | 17 ++++++++++++++---
> > > > > 1 file changed, 14 insertions(+), 3 deletions(-)
> > > > >
> > > > > diff --git a/drivers/pwm/pwm-imx.c b/drivers/pwm/pwm-imx.c
> > > > > index b1d1e50..0fa480d 100644
> > > > > --- a/drivers/pwm/pwm-imx.c
> > > > > +++ b/drivers/pwm/pwm-imx.c
> > > > > @@ -239,7 +239,14 @@ static void imx_pwm_disable(struct
> > > > > pwm_chip *chip, struct pwm_device *pwm)
> > > > > clk_disable_unprepare(imx->clk_per); }
> > > > >
> > > > > -static struct pwm_ops imx_pwm_ops = {
> > > > > +static struct pwm_ops imx_pwm_ops_v1 = {
> > > > > + .enable = imx_pwm_enable,
> > > > > + .disable = imx_pwm_disable,
> > > > > + .config = imx_pwm_config,
> > > > > + .owner = THIS_MODULE,
> > > > > +};
> > > > > +
> > > > > +static struct pwm_ops imx_pwm_ops_v2 = {
> > > >
> > > > Can't these two be const? No need to respin for only this, just
> > > > let me know and I can make the change while applying.
> > >
> > > Nevermind that. I just remembered that I had picked up a patch to
> > > make the original imx_pwm_ops a const and things still work fine
> > > if I make both of the above const, so I just had to manually
> > > apply your patch, but other than that it seems fine. Let me apply
> > > the rest of this set and push out. It'd be great if you could
> > > check afterwards that it's all still what you expect.
> >
> > I will do that. Thanks for integrating the patch series :-).
>
> Thanks for sticking with it. I know the initial patches for optional
> polarity support have been around for years, and it took a really long
> time for this all to come together.
>
> But I think the end result is sound and looks really good.

You are welcome :-)

>
> The one remaining bit that I'm not 100% happy about is that the v1
> support is not atomic while the v2 support is.

Here the only limitation is the lack of v1 HW.

> Not a blocker, but it
> looks as if it should be easy to convert over v1 as well. Any takers?
>
> Thierry


Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@xxxxxxx

Attachment: pgp2HV4D5u522.pgp
Description: OpenPGP digital signature