[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a6933fa81cf1510528ed7a4cfa55f57900800fc6.camel@perches.com>
Date: Fri, 11 Oct 2019 11:02:37 -0700
From: Joe Perches <joe@...ches.com>
To: Rob Herring <robh@...nel.org>
Cc: devicetree@...r.kernel.org,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Andy Whitcroft <apw@...onical.com>,
Andrew Morton <akpm@...ux-foundation.org>
Subject: Re: [PATCH] checkpatch: Warn if DT bindings are not in schema format
On Fri, 2019-10-11 at 12:56 -0500, Rob Herring wrote:
> On Fri, Sep 27, 2019 at 10:39 AM Rob Herring <robh@...nel.org> wrote:
> > On Fri, Sep 27, 2019 at 9:29 AM Joe Perches <joe@...ches.com> wrote:
> > > On Fri, 2019-09-27 at 09:02 -0500, Rob Herring wrote:
> > > > On Fri, Sep 13, 2019 at 4:48 PM Joe Perches <joe@...ches.com> wrote:
> > > > > On Fri, 2019-09-13 at 16:13 -0500, Rob Herring wrote:
> > > > > > DT bindings are moving to using a json-schema based schema format
> > > > > > instead of freeform text. Add a checkpatch.pl check to encourage using
> > > > > > the schema for new bindings. It's not yet a requirement, but is
> > > > > > progressively being required by some maintainers.
> > > > > []
> > > > > > diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> > > > > []
> > > > > > @@ -2822,6 +2822,14 @@ sub process {
> > > > > > "added, moved or deleted file(s), does MAINTAINERS need updating?\n" . $herecurr);
> > > > > > }
> > > > > >
> > > > > > +# Check for adding new DT bindings not in schema format
> > > > > > + if (!$in_commit_log &&
> > > > > > + ($line =~ /^new file mode\s*\d+\s*$/) &&
> > > > > > + ($realfile =~ m@...cumentation/devicetree/bindings/.*\.txt$@)) {
> > > > > > + WARN("DT_SCHEMA_BINDING_PATCH",
> > > > > > + "DT bindings should be in DT schema format. See: Documentation/devicetree/writing-schema.rst\n");
> > > > > > + }
> > > > > > +
> > > > >
> > > > > As this already seems to be git dependent, perhaps
> > > >
> > > > It's quite rare to see a non git generated diff these days.
> > > >
> > > > > it's easier to read with a single line test like:
> > > > >
> > > > > if ($line =~ m{^\s*create mode\s*\d+\s*Documentation/devicetree/bindings/.*\.txt$}) {
> > > > > etc...
> > > > > }
> > > >
> > > > I frequently do 'git show $commit | scripts/checkpatch.pl' and this
> > > > doesn't work with that. I really should have a '--pretty=email' in
> > > > there, but I just ignore the commit msg warnings. In any case, that
> > > > still doesn't help because there's no diffstat. There's probably some
> > > > way to turn that on or just use git-format-patch, but really we want
> > > > this to work with any git diff.
> > >
> > > I don't understand your argument against what I proposed at all.
> >
> > It is dependent on the commit message rather than the diff itself. I
> > want it to work with or without a diffstat.
> >
> > > and btw:
> > >
> > > $ git format-patch -1 --stdout <commit> | ./scripts/checkpatch.pl
> >
> > Yes, I stated this was possible. My concern is there are lots of ways
> > to generate a diff in git. My way works for *all* of them. Yours
> > doesn't.
>
> Joe, are you okay with this?
Sure, Andrew Morton does most of the checkpatch upstreaming, but
if you want to send your own pull request, I've no objection.
> Rob
Powered by blists - more mailing lists