Re: [PATCH v13 3/3] Input: Add TouchNetix axiom i2c touchscreen driver

From: Kamel BOUHARA
Date: Wed Jun 05 2024 - 09:53:45 EST


[...]

> +
> + error = devm_request_threaded_irq(dev, client->irq, NULL,
> + axiom_irq, IRQF_ONESHOT, dev_name(dev), ts);
> + if (error) {
> + dev_info(dev, "Request irq failed, falling back to polling mode");

I do not think you should fall back to polling mode if you fail to get
interrupt. If it was not specified (client->irq) then I can see that we
might want to fall back, but if the system configured for using
interrupt and you can not get it you should bail out.


Yes, clear, the polling mode can be decorrelated to the irq not provided
case.

Just to make sure I understood, is this what you propose ?

if (client->irq) {
error = devm_request_threaded_irq(...)
if (error) {
dev_warn(dev, "failed to request IRQ\n");
client->irq = 0;
}
}

if(!client->irq) {
// setup polling stuff
...
}

--
Kamel Bouhara, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com