On Mon, Jan 30, 2017 at 09:55:04AM +0100, Lukasz Majewski wrote: > 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 > > > > > > > > > > > > This patch provides separate set of pwm ops utilized by > > > > > > i.MX's PWMv1 and PWMv2. > > > > > > > > > > > > Signed-off-by: Lothar Waßmann > > > > > > Signed-off-by: Bhuvanchandra DV > > > > > > Signed-off-by: Lukasz Majewski > > > > > > Acked-by: Shawn Guo > > > > > > Reviewed-by: Sascha Hauer > > > > > > --- > > > > > > 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. That doesn't have to be a blocker. If you're willing to invest some more work to do the additional conversion (I think it would be a fairly minor change, looking at the existing v1 code), I'm sure we can find someone with the hardware to test it. Sascha, Lothar, Fabio, Shawn: do you guys have access to v1 hardware, or know of anyone who might? Thierry