From: Krzysztof Kozlowski <k...@kernel.org>

[ Upstream commit c277e1f0dc3c7d7b5b028e20dd414df241642036 ]

platform_get_irq() returns -ERRNO on error.  In such case casting to
unsigned and comparing to 0 would pass the check.

Fixes: 7abf38d6d13c ("Input: twl4030-keypad - add device tree support")
Reported-by: kernel test robot <l...@intel.com>
Signed-off-by: Krzysztof Kozlowski <k...@kernel.org>
Link: https://lore.kernel.org/r/20200828145744.3636-3-k...@kernel.org
Signed-off-by: Dmitry Torokhov <dmitry.torok...@gmail.com>
Signed-off-by: Sasha Levin <sas...@kernel.org>
---
 drivers/input/keyboard/twl4030_keypad.c | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/drivers/input/keyboard/twl4030_keypad.c 
b/drivers/input/keyboard/twl4030_keypad.c
index af3a6824f1a4d..77e0743a3cf85 100644
--- a/drivers/input/keyboard/twl4030_keypad.c
+++ b/drivers/input/keyboard/twl4030_keypad.c
@@ -50,7 +50,7 @@ struct twl4030_keypad {
        bool            autorepeat;
        unsigned int    n_rows;
        unsigned int    n_cols;
-       unsigned int    irq;
+       int             irq;
 
        struct device *dbg_dev;
        struct input_dev *input;
@@ -376,10 +376,8 @@ static int twl4030_kp_probe(struct platform_device *pdev)
        }
 
        kp->irq = platform_get_irq(pdev, 0);
-       if (!kp->irq) {
-               dev_err(&pdev->dev, "no keyboard irq assigned\n");
-               return -EINVAL;
-       }
+       if (kp->irq < 0)
+               return kp->irq;
 
        error = matrix_keypad_build_keymap(keymap_data, NULL,
                                           TWL4030_MAX_ROWS,
-- 
2.25.1



Reply via email to