Hi again,

after reading through the source code of the two modules, I found the 
problem. The modules gpio-sunxi and ft5x_ts seem to be incompatible:

drivers/gpio/gpio-sunxi.c:
err = request_irq(GPIO_IRQ_NO, sunxi_gpio_irq_handler, IRQF_SHARED, 
"sunxi-gpio", sunxi_chip);

drivers/input/touchscreen/ft5x_ts.c:
err = request_irq(SW_INT_IRQNO_PIO, ft5x_ts_interrupt, IRQF_TRIGGER_FALLING 
| IRQF_SHARED, "ft5x_ts", ft5x_ts);

   - Adding some debug outputs, I found that both calls use the same IRQ 
   28, which I assume is the IRQ for all GPIOs
   - Because both calls request IRQF_SHARED, I didn't see why they couldn't 
   use it simultaneously
   - Then I assumed that the reason must be that they configure the IRQ 
   differently (once with IRQF_TRIGGER_FALLING, once without)
   - I modified gpio-sunxi.c to use that flag, too, and now both modules 
   successfully load
   - The following new message can be seen in my dmesg output when loading 
   gpio-sunxi after ft5x_ts: 
   IRQ 28 uses trigger mode 2; requested 0
   - This is Ok for my use case, because I only need one GPIO and need it 
   write-only. In general, this is not a solution

Kind regards,

Timo

-- 
You received this message because you are subscribed to the Google Groups 
"linux-sunxi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to