Hi Dmitry:
On 2020/4/10 4:48, Dmitry Torokhov wrote:
Platform code historically allowed creating IRQ resources with IRQ
number 0 to indicate "no interrupt assigned", so this driver tries to
filter out such conditions. The negative IRQs (errors) will be rejected
by request_irq() but I guess we can lose -EPROBE_DEFER. We could do
if (keypad->irq <= 0) {
err = keypad->irq ?: -ENXIO : keypad->irq;
goto failed_free;
}
I have been aware of this problem for a few days, and by doing
experiments on the hardware, I have found the following ways that maybe
suitable:
if (keypad->irq <= 0) {
err = keypad->irq ? : -ENXIO;
goto failed_free;
}
or
if (keypad->irq <= 0) {
err = keypad->irq < 0 ? keypad->irq : -ENXIO;
goto failed_free;
}
If you think it's usefull, I will send this patch to fix it.
Thanks
Tang Bin