Message ID | 5f274a06-3a9c-7d41-2e4d-9733e4ac6078@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On 16/03/18 16:19, Robin Murphy wrote: > On 16/03/18 14:55, Marc Zyngier wrote: >> Grepping through the dts files, the documentation, and reviewing >> patches, one can only notice the use of IRQ_TYPE_NONE in interrupt >> specifiers. At least for the GIC, this doesn't mean anything. The >> unsuspecting driver will end-up with whatever was there before, and >> there is a 50% probability that it is not what it wants. >> >> I'd love to fix it myself, but I also have a 50% probability of >> getting it wrong. In order to make the user aware they are walking on >> thin ice, let's add some warnings. Hopefully, they'll be annoying >> enough that people will fix their firmware. Croudsourcing debugging... > > I guess there's also the alternative nuclear option of breaking their > build ;) > > Robin. > > ----->8----- > diff --git a/include/dt-bindings/interrupt-controller/irq.h > b/include/dt-bindings/interrupt-controller/irq.h > index a8b310555f14..de79af80d01e 100644 > --- a/include/dt-bindings/interrupt-controller/irq.h > +++ b/include/dt-bindings/interrupt-controller/irq.h > @@ -10,7 +10,7 @@ > #ifndef _DT_BINDINGS_INTERRUPT_CONTROLLER_IRQ_H > #define _DT_BINDINGS_INTERRUPT_CONTROLLER_IRQ_H > > -#define IRQ_TYPE_NONE 0 > +#define IRQ_TYPE_NONE "This is nonsense and needs fixing" > #define IRQ_TYPE_EDGE_RISING 1 > #define IRQ_TYPE_EDGE_FALLING 2 > #define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING) > What really annoys me with this patch is that you haven't put a SoB on it... M.
On 16/03/18 16:39, Marc Zyngier wrote: > On 16/03/18 16:19, Robin Murphy wrote: >> On 16/03/18 14:55, Marc Zyngier wrote: >>> Grepping through the dts files, the documentation, and reviewing >>> patches, one can only notice the use of IRQ_TYPE_NONE in interrupt >>> specifiers. At least for the GIC, this doesn't mean anything. The >>> unsuspecting driver will end-up with whatever was there before, and >>> there is a 50% probability that it is not what it wants. >>> >>> I'd love to fix it myself, but I also have a 50% probability of >>> getting it wrong. In order to make the user aware they are walking on >>> thin ice, let's add some warnings. Hopefully, they'll be annoying >>> enough that people will fix their firmware. Croudsourcing debugging... >> >> I guess there's also the alternative nuclear option of breaking their >> build ;) >> >> Robin. >> >> ----->8----- >> diff --git a/include/dt-bindings/interrupt-controller/irq.h >> b/include/dt-bindings/interrupt-controller/irq.h >> index a8b310555f14..de79af80d01e 100644 >> --- a/include/dt-bindings/interrupt-controller/irq.h >> +++ b/include/dt-bindings/interrupt-controller/irq.h >> @@ -10,7 +10,7 @@ >> #ifndef _DT_BINDINGS_INTERRUPT_CONTROLLER_IRQ_H >> #define _DT_BINDINGS_INTERRUPT_CONTROLLER_IRQ_H >> >> -#define IRQ_TYPE_NONE 0 >> +#define IRQ_TYPE_NONE "This is nonsense and needs fixing" >> #define IRQ_TYPE_EDGE_RISING 1 >> #define IRQ_TYPE_EDGE_FALLING 2 >> #define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING) >> > > What really annoys me with this patch is that you haven't put a SoB on it... On a more serious note, though, it dawns on me that this might be something DTC could realistically scream about for us, although I guess not all irqchip bindings include a type specifier so it would probably need to special-case known ones. Robin.
diff --git a/include/dt-bindings/interrupt-controller/irq.h b/include/dt-bindings/interrupt-controller/irq.h index a8b310555f14..de79af80d01e 100644 --- a/include/dt-bindings/interrupt-controller/irq.h +++ b/include/dt-bindings/interrupt-controller/irq.h @@ -10,7 +10,7 @@ #ifndef _DT_BINDINGS_INTERRUPT_CONTROLLER_IRQ_H #define _DT_BINDINGS_INTERRUPT_CONTROLLER_IRQ_H -#define IRQ_TYPE_NONE 0 +#define IRQ_TYPE_NONE "This is nonsense and needs fixing" #define IRQ_TYPE_EDGE_RISING 1 #define IRQ_TYPE_EDGE_FALLING 2 #define IRQ_TYPE_EDGE_BOTH (IRQ_TYPE_EDGE_FALLING | IRQ_TYPE_EDGE_RISING)