On Wed, 05 Jun 2019 23:06:05 +0100, Benjamin Herrenschmidt <benh@xxxxxxxxxxxxxxxxxxx> wrote: > > On Wed, 2019-06-05 at 16:12 +0100, Marc Zyngier wrote: > > > Those error messages are control path messages. if we return the same > > > error value from here and from the previous error, how can we > > > differentiate between the two error cases by looking at the log? > > > > > > Having informative printouts seems like a good idea for bad > > > configuration cases as such, wouldn't you agree? > > > > I completely disagree. The kernel log isn't a dumping ground for this > > kind of pretty useless information. Furthermore, the irq subsystem will > > also shout at you when it gets an error, so no need to add insult to injury. > > > > If you really want to keep them around, turn them into pr_debug. > > I disagree Marc. This is a rather bad error which indicates that the > device-tree is probably incorrect (or the HW was wired in a way that > cannot work). But surely that's something you'll spot pretty quickly. Also, you get a splat from the irq subsystem already, telling you that things went wrong (see __irq_set_trigger). At that stage, you can enable debugging and figure it out. What I'm trying to avoid is the kernel becoming a (pretty bad) validation tool for DTS files. > Basically a given FIC can either be entirely level sensitive or > entirely edge sensitive. This catches cases where the DT has routed > a mixed of both to the same FIC. Definitely worth barfing loudly > about rather than trying to understand subtle odd misbehaviours of > the device in the field. Then, in the interest of not producing incorrect DTs, could the edge/level property be encoded in the FIC description itself, rather than in the interrupt specifiers of the individual devices? It would sidestep the problem altogether. You can still put the wrong one in the FIC node, but it then becomes even more obvious what is going on... Thanks, M. -- Jazz is not dead, it just smells funny.