All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Agner <stefan@agner.ch>
To: Lukasz Majewski <l.majewski@majess.pl>
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 05:41:14 +0200	[thread overview]
Message-ID: <35a950b7ff431e0545bbb259ba69b483@agner.ch> (raw)
In-Reply-To: <20161024232615.77d4ea28@jawa>

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.

Here is how I would do it:

1. Start a new branch from mainline (or even -next).
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)
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.

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

--
Stefan

  reply	other threads:[~2016-10-25  3:47 UTC|newest]

Thread overview: 60+ 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 [this message]
2016-10-25  7:07       ` Lukasz Majewski
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-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=35a950b7ff431e0545bbb259ba69b483@agner.ch \
    --to=stefan@agner.ch \
    --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=l.majewski@majess.pl \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.