[PATCH v2 1/4] Input: ep93xx_keypad - Fix handling of platform_get_irq() error

Krzysztof Kozlowski krzk at kernel.org
Tue Sep 15 12:05:22 EDT 2020


On Mon, 14 Sep 2020 at 08:51, Dmitry Torokhov <dmitry.torokhov at gmail.com> wrote:
>
> Hi Krzysztof,
>
> On Fri, Aug 28, 2020 at 04:57:41PM +0200, Krzysztof Kozlowski wrote:
> > platform_get_irq() returns -ERRNO on error.  In such case comparison
> > to 0 would pass the check.
>
> platform_get_irq() is a bit of a mess. Historically we allowed defining
> interrupt resource with r->start == 0 and for such cases non-OF non-ACPI
> code will return 0 from platform_get_irq() to indicate that IRQ is not
> assigned.
>
> We either need to stop doing this in platform_get_irq(), or the
> conditions in this patch and followups should be "irq <= 0" and we need
> to make sure we do not accidentally return 0 from probe ...

Hi,

It's then contradictory to platform_get_irq documentation which
explicitly says - zero will not be returned on error. This was also
clarified in commit e330b9a6bb35 ("platform: don't return 0 from
platform_get_irq[_byname]() on error").

As I understood the input drivers code, they check for errors so the
coe in my patch is correct. Any "<=0" is not correct with current
documentation and implementation.

Best regards,
Krzysztof



More information about the linux-arm-kernel mailing list