Re: [PATCH v5 2/4] dt-bindings: cpufreq: apple,soc-cpufreq: Add binding for Apple SoC cpufreq
From: Rob Herring
Date: Tue Nov 29 2022 - 18:28:51 EST
On Wed, Nov 30, 2022 at 12:17:08AM +0900, Hector Martin wrote:
> On 29/11/2022 23.34, Krzysztof Kozlowski wrote:
> > On 29/11/2022 15:00, Hector Martin wrote:
> >> On 29/11/2022 20.36, Ulf Hansson wrote:
> >> Please, let's introspect about this for a moment. Something is deeply
> >> broken if people with 25+ years being an arch maintainer can't get a
> >
> > If arch maintainer sends patches which does not build (make
> > dt_binding_check), then what do you exactly expect? Accept them just
> > because it is 25+ years of experience or a maintainer? So we have
> > difference processes - for beginners code should compile. For
> > experienced people, it does not have to build because otherwise they
> > will get discouraged?
>
> I expect the process to not be so confusing and frustrating that a
> maintainer with 25+ years of experience gives up. That the bindings
> didn't pass the checker is besides the point. People say the Linux
> kernel community is hostile to newbies. This issue proves it's not just
> newbies, the process is failing even experienced folks.
IME, a lack of response is a bigger issue and more frustrating.
> On that specific issue, any other functional open source project would
> have the binding checks be a CI bot, with a friendly message telling you
> what to do to fix it, and it would re-run when you push to the PR again,
> which is a *much* lower friction action than sending a whole new patch
> series out for review via email (if you don't agree with this, then
> you're not the average contributor - the Linux kernel is by far the
> scariest major open source project to contribute to, and I think most
> people would agree with me on that).
We could probably add a $ci_provider job description to do that. In
fact, I did try that once[1]. The challenge would be what to run if
there's multiple maintainers doing something. Otherwise, it's a
maintainer creating their own thing which we have too much of already.
> I know Rob has a DT checker bot, but its error output is practically
> line noise,
I'm not sure what to do there beyond the 'hint' lines I've added. It's
kind of how json-schema functions unfortunately. I think it stems from
each schema keyword being evaluated independently.
> and the error email doesn't even mention the
> DT_SCHEMA_FILES= make option (which is the only way to make the check
> not take *forever* to run).
That's easy enough to add and a specific suggestion I can act on.
However, note that the full thing still has to be run because any
schema change can affect any other example (which is a large part of
why it's slow).
> Absolutely nobody is going to look at those
> emails without already knowing the intricacies of DT bindings and the
> checker and not find them incredibly frustrating.
I don't know how else to enable someone not understanding DT bindings
nor json-schema to write DT bindings. I get that json-schema is not
something kernel developers typically know already. Trust me, the
alternatives proposed for a schema over the years would have been
much worse.
Rob
[1] https://lore.kernel.org/all/20181003222715.28667-1-robh@xxxxxxxxxx/