Subject: Re: [PATCH] powerpc: document new interrupt-array property

From: Segher Boessenkool <[email-masked]>
Date: Mon, 26 Feb 2007 06:36:29 +0100

>> On the other hand, I do quite like keeping with the old principle that
>> having interrupts == having an "interrupts" node.
>
> That would be nice.  On the other hand, re-using interrupts means that
> it's possible to get a silent misparse of the interrupt information:

Incorrect parsing of interrupt info tends to end up
in spectacular crashes, not silent at all ;-)

> a
> parser which doesn't understand the new 'interrupt-parents' property
> will encounter the node, see the 'interrupts' property, assume that
> the interrupt parent is the physical parent and, if the
> #interrupt-cells values match up, which is quite possible, assume that
> it has correctly understood the interrupt information.

Something similar is true for *every* new binding; although
indeed if you get a misparse the effects can be disastrous,
with interrupts.  For other cases, the kernel would have to
say "I don't understand this device" and give up on it, which
can easily mean a failed boot; or silently assume something
that is just a guess at best.

You cannot boot a client program that doesn't understand the
device tree and expect it to understand the device tree ;-)

> This is arguably a worse behaviour than simply having an old-style
> parser see the lack of 'interrupts' property and assume the device has
> no interrupts.

Until recently (well, not that recently) Linux couldn't
parse the interrupt tree correctly and would royally
mess up in unusual cases.  Does that mean that no device
tree in the world should use the interrupt mapping binding?

Also, a device that has interrupts but no "interrupts"
property is *just wrong*.  There are many more things
that (can) look at the device tree than just the kernel,
don't let your opinion be guided solely by what you
think the kernel would do with a tree.

Segher