Hi Marc. 2017-09-07 21:39 GMT+09:00 Marc Zyngier <marc.zyngier@xxxxxxx>: >> I think there is a possibility where a device tries to get IRQ >> after irq_domain_create_hierarchy(), but before irq_domain_push_irq(). >> >> priv->domain = irq_domain_create_hierarchy(...) >> if (!priv->domain) >> return -ENOMEM; >> >> [ *** What if a irq consumer device request the irq here? *** ] > > We've explicitly forbidden such a use case. There is a (not exactly fool > proof) check in irq_domain_push_irq(), but it is pretty easy to bypass > it. "Don't do it" is the conclusion we reached with David Daney. > > If you don't want these interrupts to be requested, you might as well > flag them as IRQ_NOREQUEST, and unflag them when the hierarchy is ready. > > Would that work for you? Sorry if my description was unclear. I do not think IRQ_NOREQUEST is equivalent to IRQ_DOMAIN_FLAG_NO_CREATE I am trying to add in 5/6. My intention is to prevent platform_get_irq() from allocating a new virq. I think IRQ_NOREQUEST only affects request_irq(). Having said that, this series got negative response as a whole. My motivation is to get my GPIO driver (6/6) in by hook or by crook. If you do not like this series, please feel free to throw it away. -- Best Regards Masahiro Yamada -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html