Messages in this thread | | | Date | Thu, 07 Aug 2014 09:49:49 +0200 | From | Javier Martinez Canillas <> | Subject | Re: [PATCH 1/2] Input: atmel_mxt_ts - Get IRQ edge/level flags on DT booting |
| |
Hello Dmitry,
On 08/07/2014 08:09 AM, Dmitry Torokhov wrote: >> >> > irq_of_parse_and_map() already sets up IRQ trigger type based on DT >> > data, by calling irq_create_of_mapping() which in turn calls >> > irq_set_irq_type(). >> > >> >> Right but somehow when the IRQ is actually requested the type is overwritten by >> the value passed to request_threaded_irq() and interrupts are not being >> generated by the device without this patch. >> >> Do you think that this is a bug in the "interrupt-parent" irqchip driver or the >> IRQ core? I'm not that familiar with the IRQ subsystem. > > No, this is clearly driver fault - it smashed previously done setup with new > flags. >
Thanks a lot for the clarification. That was my understanding as well but wanted to be sure.
>> > >> > It might be a bit cleaner to just assign the flags to pdata->irqflags in >> > mxt_parse_dt() instead. That would also account for the fact that pdata, >> > if provided, should have priority over DT. >> > >> >> You are totally right, also this will break if CONFIG_OF is not enabled since >> dev.of_node will not be defined. While this already is taken into account for >> mxt_parse_dt() by defining an empty function. >> >> I'll change it in v2 if getting the flags from the driver is the right approach > > Yes, please. >
Just posted a v2 [0] with Tomasz suggestion and the patch is indeed a lot cleaner.
Best regards, Javier
[0]: https://lkml.org/lkml/2014/8/7/82
| |