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/