From: Frank Rowand <frowand.list-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: "devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: how to structure some disruptive patches
Date: Tue, 2 Aug 2016 10:28:44 -0700 [thread overview]
Message-ID: <57A0D84C.9000605@gmail.com> (raw)
Hi Rob,
I've been working on cleaning up the docbook function documentation
in the device tree files. The resulting patches could interfere with
code patches, so I want to figure out how to structure the documentation
patches to avoid that. I would like your opinion and suggestions on
the subject.
First premise: this set of documentation changes is a second class
citizen compared to code changes. Any patch from this set can be
dropped any time it interferes with a code patch.
I started the project with the simple intent of fixing what was
clearly broken.
- fix syntax errors
- fix mismatches between actual function arguments vs docbook
list of function arguments
- fix mismatches between function return type (void vs anything) and
values vs docbook return types and values
- fix factually incorrect descriptions of what the function does
When I was making those changes, I found also found documentation
that was somewhat cryptic or otherwise hard to understand. I also
found that the description of the same item was described in a
wide variety of ways in different docbook headers. I made an
effort to also clean that up.
The result was a large patch series (that was not totally complete):
15 files changed, 1414 insertions(+), 730 deletions(-)
plus around 150 lines of change to docbook files so that
the device tree man pages would be created. I did not
add any other significant docbook documentation of device tree.
There are at least a couple of approaches I could take for
submitting patches (and would be glad to hear of any other
approach that I did not think of):
1) The big ugly patchset referenced above, one patch per
file.
pro: exposes what changes were made to each function
documentation header
con: very dense and not very readable
con: the mechanical corrections create a lot of noise if
the reviewer wants to view actual content changes
con: probably more likely to conflict with code patches
in a way that is not easily fixed
2) Split method 1 into stages (one patch per file for each stage).
Examples of some possible stages are:
- white space fixes
- syntax fixes
- incorrect argument list fixes
- incorrect return type fixes
- incorrect return value fixes
- incorrect behavior description fixes
- confusing behavior description fixes
pro: it would be easier to review patches for many of the stages
con: a lot more patches
con: maybe difficult to handle conflicts with code patches
con: maybe difficult to rework patches for review comments (changes
for an earlier stage are likely to impact a patch for a later
stage)
3) Do one patch series to remove all docbook function header documentation.
Do a second patch series to add the updated docbook function header
documentation. For each of the two series, one patch per file.
pro: the patches are much easier to read
pro: it might be easier to resolve conflicts with source patches
(either you dropping a few hunks or me redoing the docbook patch
to remove the conflict)
con: the actual changes to what the documentation says are not visible
My current version of the patches is against 4.7-rc2. I will have to update
this to 4.7 or 4.8-rc1 (I would assume that 4.8-rc1 would make more sense).
One comment that applies to all of the above approaches is that I could
attack subsets of the device tree files instead of trying to do all of
them at the same time.
What do you think of all of this?
-Frank
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next reply other threads:[~2016-08-02 17:28 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-08-02 17:28 Frank Rowand [this message]
[not found] ` <57A0D84C.9000605-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2016-08-02 18:53 ` how to structure some disruptive patches Rob Herring
[not found] ` <CAL_JsqJ4QQ9HjHZYp-jgODTiu-BHiyo2ZV5u9ysBr-oL1xbF_Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-08-02 22:51 ` Frank Rowand
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=57A0D84C.9000605@gmail.com \
--to=frowand.list-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
/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).