From: Lukasz Majewski <l.majewski@majess.pl>
To: Stefan Agner <stefan@agner.ch>
Cc: Boris Brezillon <boris.brezillon@free-electrons.com>,
Thierry Reding <thierry.reding@gmail.com>,
linux-pwm@vger.kernel.org, linux-kernel@vger.kernel.org,
Fabio Estevam <fabio.estevam@nxp.com>,
Fabio Estevam <festevam@gmail.com>,
Lothar Wassmann <LW@karo-electronics.de>,
Bhuvanchandra DV <bhuvanchandra.dv@toradex.com>,
kernel@pengutronix.de
Subject: Re: [PATCH 0/6] pwm: imx: Provide atomic operation for IMX PWM driver
Date: Tue, 25 Oct 2016 09:07:24 +0200 [thread overview]
Message-ID: <20161025090724.727c10bc@jawa> (raw)
In-Reply-To: <35a950b7ff431e0545bbb259ba69b483@agner.ch>
[-- Attachment #1: Type: text/plain, Size: 4935 bytes --]
Hi Stefan,
> Hi Lukasz,
>
> Thanks for your work, great to see this coming along! :-)
>
> On 2016-10-24 23:26, Lukasz Majewski wrote:
> > Hi Boris,
> >
> >> On Sun, 23 Oct 2016 23:45:40 +0200
> >> Lukasz Majewski <l.majewski@majess.pl> wrote:
> >>
> >> > This patch set brings atomic operation to i.MX's PWMv2 driver.
> >> >
> >> > This work has been supported and suggested by Boris Brezillon [1]
> >> > and Stefan Agner, by showing how simple the transition could
> >> > be :-).
> >> >
> >> > It has been divided into several steps:
> >> > - Separate PWMv1 commits from "generic" and non atomic PWM code.
> >> >
> >> > NOTE: Since I do not have board with PWMv1, I would like to ask
> >> > somebody for testing
> >> >
> >> > - Move some imx_config_v2 code to separate functions
> >> >
> >> > - Provide PWM atomic implementation (the ->apply() driver) in a
> >> > single patch for better readability.
> >> >
> >> > - Remove redundant PWM code (disable, enable, config callbacks)
> >> >
> >> > - Clean up the driver infrastructure
> >> >
> >> > - Provide "polarity_supported" flag to indicate support for
> >> > polarity inversion
> >> >
> >> > This work should be applied on top of following commits:
> >> >
> >> > http://patchwork.ozlabs.org/patch/679706/
> > [2]
> >
> >> > http://patchwork.ozlabs.org/patch/679707/
> > [3]
> >
> >> > http://patchwork.ozlabs.org/patch/679680/
> >>
> >> I'm not sure I follow the logic here. Has patch [1] already been
> >> applied? If that's not the case, then you should just drop it and
> >> put your changes on top of mainline.
> >>
> >> [1]http://patchwork.ozlabs.org/patch/679680/
> >
> > Patches [2] and [3] have been developed initially by Lothar and
> > subsequently picked up by Bhuvanchandra. There is no issue with
> > them.
>
> As such none of this will get merged since all patchset have known
> flaws...
>
> Generally, it is ok to refer to other patchset being a prerequisite,
> but that only makes sense if those patch set are still actively
> worked on (by somebody other than you).
>
> In this case I really recommend to create a new, complete patchset.
>
> >
> > The patch [1] is a bit more tricky. The work has been done by
> > Bhuvanchandra, which adds DTS and core support for polarity
> > inversion.
> >
> > This code works and utilizes the "old" PWM API with enable, disable
> > and config. However, Stefan had some comments about the placement
> > for the polarity setting (in the .config_v2()) and proposed switch
> > to atomic API.
>
> Part of the reason I advocated for the atomic API is to make adding
> the polarity functionality easier. It does not archive this goal if
> we add the "flawed" code first and then transition to the atomic API.
>
> >
> > To make things easier and cleaner, I decided to put my atomic API
> > rework on top of those patches. In this way I can credit the
> > previous work and avoid rewriting DTS polarity inversion code
> > already developed and validated by Bhuvanchandra.
>
> When you apply the patches using git apply, the authorship and
> signoffs will stay. There is no problem in including other peoples
> work into your patchset, credit will still be given. If you have to
> change another persons patch, you typically also add your signoff to
> show that you worked on it too.
I do wanted to reuse as much work as possible (especially that the code
was working).
>
> Here is how I would do it:
>
> 1. Start a new branch from mainline (or even -next).
With the newest mainline 4.9-rcX
SHA:0c2b6dc4fd4fa13796b319aae969a009f03222c6
the i.MX6q is not booting. Apparently I do need to wait for things to
calm down.
The last working version is v4.8, which PWM's code is the same as v4.7.
> 2. Implement the transition to the new atomic API and test it as such
> alone (this way we have no polarity support influence yet, just clean
> transition to a new API)
I _just_ needed to add polarity support (by setting one bit) to the
driver, so I ended up with rewriting the whole PWM i.MX driver :-).
> 3. Cherry pick the PWM core changes for the optional 2/3 args driver
> support (they should apply cleanly)
> 4. Cherry pick (they likely will fail to merge) or reimplement the PWM
> polarity driver changes on top of atomic API
> 5. Cherry pick device tree changes
>
> With this approach we'll end up with a nice history where we should
> end up with a fully functional PWM system between every patch.
I'm fine with proposed approach. I will prepare v2 of patches soon.
>
> Btw, past perfect tense is not really usual in commit messages.
> SubmittingPatches chapter 2 has some tips on writing good commit
> messages:
> https://www.kernel.org/doc/Documentation/SubmittingPatches
OK.
Thanks you for your support,
Best regards,
Łukasz Majewski
>
> --
> Stefan
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 181 bytes --]
next prev parent reply other threads:[~2016-10-25 7:07 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-23 21:45 [PATCH 0/6] pwm: imx: Provide atomic operation for IMX PWM driver Lukasz Majewski
2016-10-23 21:45 ` [PATCH 1/6] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Lukasz Majewski
2016-10-24 15:21 ` Boris Brezillon
2016-10-25 5:54 ` Sascha Hauer
2016-10-25 6:27 ` Boris Brezillon
2016-10-25 6:32 ` Sascha Hauer
2016-10-25 6:42 ` Boris Brezillon
2016-10-25 6:55 ` Lukasz Majewski
2016-10-23 21:45 ` [PATCH 2/6] pwm: imx: Move PWMv2 software reset code to a separate function Lukasz Majewski
2016-10-24 15:23 ` Boris Brezillon
2016-10-24 21:02 ` Lukasz Majewski
2016-10-23 21:45 ` [PATCH 3/6] pwm: imx: Move PWMv2 wait for fifo slot " Lukasz Majewski
2016-10-24 15:23 ` Boris Brezillon
2016-10-23 21:45 ` [PATCH 4/6] pwm: imx: Provide atomic PWM support for IMXv2 PWM Lukasz Majewski
2016-10-24 15:25 ` Boris Brezillon
2016-10-23 21:45 ` [PATCH 5/6] pwm: imx: Remove redundant IMX PWMv2 code Lukasz Majewski
2016-10-24 15:27 ` Boris Brezillon
2016-10-23 21:45 ` [PATCH 6/6] pwm: imx: Introduce "polarity_supported" flag to PWMv2 driver Lukasz Majewski
2016-10-24 15:28 ` Boris Brezillon
2016-10-24 15:34 ` Boris Brezillon
2016-10-24 21:14 ` Lukasz Majewski
2016-10-25 6:37 ` Boris Brezillon
2016-10-25 6:58 ` Lukasz Majewski
2016-10-24 15:36 ` [PATCH 0/6] pwm: imx: Provide atomic operation for IMX PWM driver Boris Brezillon
2016-10-24 21:26 ` Lukasz Majewski
2016-10-25 3:41 ` Stefan Agner
2016-10-25 7:07 ` Lukasz Majewski [this message]
2016-10-25 17:08 ` Fabio Estevam
2016-10-25 17:09 ` Fabio Estevam
2016-10-27 5:59 ` Lukasz Majewski
2016-12-26 22:55 ` [PATCH v3 RESEND 00/11] " Lukasz Majewski
2016-12-26 22:55 ` [PATCH v3 RESEND 01/11] pwm: print error messages with pr_err() instead of pr_debug() Lukasz Majewski
2016-12-26 22:55 ` [PATCH v3 RESEND 02/11] pwm: imx: remove ipg clock Lukasz Majewski
2016-12-27 7:26 ` Stefan Agner
2016-12-27 7:54 ` Lukasz Majewski
2016-12-28 22:01 ` Lukasz Majewski
2016-12-29 7:22 ` Stefan Agner
2016-12-29 10:06 ` Lukasz Majewski
2016-12-26 22:55 ` [PATCH v3 RESEND 03/11] pwm: imx: Add separate set of pwm ops for PWMv1 and PWMv2 Lukasz Majewski
2016-12-26 22:55 ` [PATCH v3 RESEND 04/11] pwm: imx: Rewrite imx_pwm_*_v1 code to facilitate switch to atomic pwm operation Lukasz Majewski
2016-12-26 22:55 ` [PATCH v3 RESEND 05/11] pwm: imx: Move PWMv2 software reset code to a separate function Lukasz Majewski
2016-12-26 22:55 ` [PATCH v3 RESEND 06/11] pwm: imx: Move PWMv2 wait for fifo slot " Lukasz Majewski
2016-12-26 22:55 ` [PATCH v3 RESEND 07/11] pwm: imx: Provide atomic PWM support for i.MX PWMv2 Lukasz Majewski
2016-12-29 16:21 ` Boris Brezillon
2016-12-29 16:45 ` Lukasz Majewski
2016-12-29 17:08 ` Boris Brezillon
2017-01-03 11:43 ` Lukasz Majewski
2017-01-03 12:46 ` Boris Brezillon
2017-01-03 17:29 ` Stefan Agner
2017-01-03 19:35 ` Boris Brezillon
2017-01-03 22:01 ` Lukasz Majewski
2017-01-03 22:18 ` Boris Brezillon
2017-01-03 22:46 ` Lukasz Majewski
2017-01-03 23:34 ` Boris Brezillon
2017-01-04 11:29 ` Lukasz Majewski
2016-12-26 22:55 ` [PATCH v3 RESEND 08/11] pwm: imx: Remove redundant i.MX PWMv2 code Lukasz Majewski
2016-12-26 22:55 ` [PATCH v3 RESEND 09/11] pwm: core: make the PWM_POLARITY flag in DTB optional Lukasz Majewski
2016-12-26 22:56 ` [PATCH v3 RESEND 10/11] pwm: imx: doc: Update imx-pwm.txt documentation entry Lukasz Majewski
2016-12-26 22:56 ` [PATCH v3 RESEND 11/11] pwm: imx: Add polarity inversion support to i.MX's PWMv2 Lukasz Majewski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20161025090724.727c10bc@jawa \
--to=l.majewski@majess.pl \
--cc=LW@karo-electronics.de \
--cc=bhuvanchandra.dv@toradex.com \
--cc=boris.brezillon@free-electrons.com \
--cc=fabio.estevam@nxp.com \
--cc=festevam@gmail.com \
--cc=kernel@pengutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pwm@vger.kernel.org \
--cc=stefan@agner.ch \
--cc=thierry.reding@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).