linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/4] Input: ep93xx_keypad - Fix handling of platform_get_irq() error
@ 2020-08-27  7:24 Krzysztof Kozlowski
  2020-08-27  7:24 ` [PATCH 2/4] Input: omap4-keypad " Krzysztof Kozlowski
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2020-08-27  7:24 UTC (permalink / raw)
  To: Dmitry Torokhov, Maxime Ripard, Chen-Yu Tsai,
	Krzysztof Kozlowski, H Hartley Sweeten, Sebastian Reichel,
	linux-input, linux-kernel, linux-arm-kernel

platform_get_irq() returns -ERRNO on error.  In such case comparison
to 0 would pass the check.

Fixes: 60214f058f44 ("Input: ep93xx_keypad - update driver to new core support")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 drivers/input/keyboard/ep93xx_keypad.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/input/keyboard/ep93xx_keypad.c b/drivers/input/keyboard/ep93xx_keypad.c
index 7c70492d9d6b..f831f01501d5 100644
--- a/drivers/input/keyboard/ep93xx_keypad.c
+++ b/drivers/input/keyboard/ep93xx_keypad.c
@@ -250,8 +250,8 @@ static int ep93xx_keypad_probe(struct platform_device *pdev)
 	}
 
 	keypad->irq = platform_get_irq(pdev, 0);
-	if (!keypad->irq) {
-		err = -ENXIO;
+	if (keypad->irq < 0) {
+		err = keypad->irq;
 		goto failed_free;
 	}
 
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/4] Input: omap4-keypad - Fix handling of platform_get_irq() error
  2020-08-27  7:24 [PATCH 1/4] Input: ep93xx_keypad - Fix handling of platform_get_irq() error Krzysztof Kozlowski
@ 2020-08-27  7:24 ` Krzysztof Kozlowski
  2020-08-27  7:24 ` [PATCH 3/4] Input: twl4030_keypad " Krzysztof Kozlowski
  2020-08-27  7:24 ` [PATCH 4/4] Input: sun4i-ps2 " Krzysztof Kozlowski
  2 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2020-08-27  7:24 UTC (permalink / raw)
  To: Dmitry Torokhov, Maxime Ripard, Chen-Yu Tsai,
	Krzysztof Kozlowski, H Hartley Sweeten, Sebastian Reichel,
	linux-input, linux-kernel, linux-arm-kernel

platform_get_irq() returns -ERRNO on error.  In such case comparison
to 0 would pass the check.

Fixes: f3a1ba60dbdb ("Input: omap4-keypad - use platform device helpers")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 drivers/input/keyboard/omap4-keypad.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/input/keyboard/omap4-keypad.c b/drivers/input/keyboard/omap4-keypad.c
index 94c94d7f5155..b075f1af0305 100644
--- a/drivers/input/keyboard/omap4-keypad.c
+++ b/drivers/input/keyboard/omap4-keypad.c
@@ -240,10 +240,8 @@ static int omap4_keypad_probe(struct platform_device *pdev)
 	}
 
 	irq = platform_get_irq(pdev, 0);
-	if (!irq) {
-		dev_err(&pdev->dev, "no keyboard irq assigned\n");
-		return -EINVAL;
-	}
+	if (irq < 0)
+		return -irq;
 
 	keypad_data = kzalloc(sizeof(struct omap4_keypad), GFP_KERNEL);
 	if (!keypad_data) {
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 3/4] Input: twl4030_keypad - Fix handling of platform_get_irq() error
  2020-08-27  7:24 [PATCH 1/4] Input: ep93xx_keypad - Fix handling of platform_get_irq() error Krzysztof Kozlowski
  2020-08-27  7:24 ` [PATCH 2/4] Input: omap4-keypad " Krzysztof Kozlowski
@ 2020-08-27  7:24 ` Krzysztof Kozlowski
  2020-08-28  2:28   ` kernel test robot
  2020-08-27  7:24 ` [PATCH 4/4] Input: sun4i-ps2 " Krzysztof Kozlowski
  2 siblings, 1 reply; 5+ messages in thread
From: Krzysztof Kozlowski @ 2020-08-27  7:24 UTC (permalink / raw)
  To: Dmitry Torokhov, Maxime Ripard, Chen-Yu Tsai,
	Krzysztof Kozlowski, H Hartley Sweeten, Sebastian Reichel,
	linux-input, linux-kernel, linux-arm-kernel

platform_get_irq() returns -ERRNO on error.  In such case comparison
to 0 would pass the check.

Fixes: 7abf38d6d13c ("Input: twl4030-keypad - add device tree support")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 drivers/input/keyboard/twl4030_keypad.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/input/keyboard/twl4030_keypad.c b/drivers/input/keyboard/twl4030_keypad.c
index af3a6824f1a4..c971a06c2c6a 100644
--- a/drivers/input/keyboard/twl4030_keypad.c
+++ b/drivers/input/keyboard/twl4030_keypad.c
@@ -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.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 4/4] Input: sun4i-ps2 - Fix handling of platform_get_irq() error
  2020-08-27  7:24 [PATCH 1/4] Input: ep93xx_keypad - Fix handling of platform_get_irq() error Krzysztof Kozlowski
  2020-08-27  7:24 ` [PATCH 2/4] Input: omap4-keypad " Krzysztof Kozlowski
  2020-08-27  7:24 ` [PATCH 3/4] Input: twl4030_keypad " Krzysztof Kozlowski
@ 2020-08-27  7:24 ` Krzysztof Kozlowski
  2 siblings, 0 replies; 5+ messages in thread
From: Krzysztof Kozlowski @ 2020-08-27  7:24 UTC (permalink / raw)
  To: Dmitry Torokhov, Maxime Ripard, Chen-Yu Tsai,
	Krzysztof Kozlowski, H Hartley Sweeten, Sebastian Reichel,
	linux-input, linux-kernel, linux-arm-kernel

platform_get_irq() returns -ERRNO on error.  In such case comparison
to 0 would pass the check.

Fixes: e443631d20f5 ("Input: serio - add support for Alwinner A10/A20 PS/2 controller")
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 drivers/input/serio/sun4i-ps2.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/drivers/input/serio/sun4i-ps2.c b/drivers/input/serio/sun4i-ps2.c
index a681a2c04e39..7da1ea8741fc 100644
--- a/drivers/input/serio/sun4i-ps2.c
+++ b/drivers/input/serio/sun4i-ps2.c
@@ -265,9 +265,8 @@ static int sun4i_ps2_probe(struct platform_device *pdev)
 
 	/* Get IRQ for the device */
 	irq = platform_get_irq(pdev, 0);
-	if (!irq) {
-		dev_err(dev, "no IRQ found\n");
-		error = -ENXIO;
+	if (irq < 0) {
+		error = irq;
 		goto err_disable_clk;
 	}
 
-- 
2.17.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 3/4] Input: twl4030_keypad - Fix handling of platform_get_irq() error
  2020-08-27  7:24 ` [PATCH 3/4] Input: twl4030_keypad " Krzysztof Kozlowski
@ 2020-08-28  2:28   ` kernel test robot
  0 siblings, 0 replies; 5+ messages in thread
From: kernel test robot @ 2020-08-28  2:28 UTC (permalink / raw)
  To: Krzysztof Kozlowski, Dmitry Torokhov, Maxime Ripard,
	Chen-Yu Tsai, H Hartley Sweeten, Sebastian Reichel, linux-input,
	linux-kernel, linux-arm-kernel
  Cc: kbuild-all

[-- Attachment #1: Type: text/plain, Size: 5042 bytes --]

Hi Krzysztof,

I love your patch! Perhaps something to improve:

[auto build test WARNING on input/next]
[also build test WARNING on sunxi/sunxi/for-next linus/master v5.9-rc2 next-20200827]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]

url:    https://github.com/0day-ci/linux/commits/Krzysztof-Kozlowski/Input-ep93xx_keypad-Fix-handling-of-platform_get_irq-error/20200827-152706
base:   https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git next
config: i386-randconfig-m021-20200828 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

smatch warnings:
drivers/input/keyboard/twl4030_keypad.c:379 twl4030_kp_probe() warn: unsigned 'kp->irq' is never less than zero.

# https://github.com/0day-ci/linux/commit/d83af6799bafdf8f1f84ddfc48876f621735963b
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Krzysztof-Kozlowski/Input-ep93xx_keypad-Fix-handling-of-platform_get_irq-error/20200827-152706
git checkout d83af6799bafdf8f1f84ddfc48876f621735963b
vim +379 drivers/input/keyboard/twl4030_keypad.c

   318	
   319	/*
   320	 * Registers keypad device with input subsystem
   321	 * and configures TWL4030 keypad registers
   322	 */
   323	static int twl4030_kp_probe(struct platform_device *pdev)
   324	{
   325		struct twl4030_keypad_data *pdata = dev_get_platdata(&pdev->dev);
   326		const struct matrix_keymap_data *keymap_data = NULL;
   327		struct twl4030_keypad *kp;
   328		struct input_dev *input;
   329		u8 reg;
   330		int error;
   331	
   332		kp = devm_kzalloc(&pdev->dev, sizeof(*kp), GFP_KERNEL);
   333		if (!kp)
   334			return -ENOMEM;
   335	
   336		input = devm_input_allocate_device(&pdev->dev);
   337		if (!input)
   338			return -ENOMEM;
   339	
   340		/* get the debug device */
   341		kp->dbg_dev		= &pdev->dev;
   342		kp->input		= input;
   343	
   344		/* setup input device */
   345		input->name		= "TWL4030 Keypad";
   346		input->phys		= "twl4030_keypad/input0";
   347	
   348		input->id.bustype	= BUS_HOST;
   349		input->id.vendor	= 0x0001;
   350		input->id.product	= 0x0001;
   351		input->id.version	= 0x0003;
   352	
   353		if (pdata) {
   354			if (!pdata->rows || !pdata->cols || !pdata->keymap_data) {
   355				dev_err(&pdev->dev, "Missing platform_data\n");
   356				return -EINVAL;
   357			}
   358	
   359			kp->n_rows = pdata->rows;
   360			kp->n_cols = pdata->cols;
   361			kp->autorepeat = pdata->rep;
   362			keymap_data = pdata->keymap_data;
   363		} else {
   364			error = matrix_keypad_parse_properties(&pdev->dev, &kp->n_rows,
   365							       &kp->n_cols);
   366			if (error)
   367				return error;
   368	
   369			kp->autorepeat = true;
   370		}
   371	
   372		if (kp->n_rows > TWL4030_MAX_ROWS || kp->n_cols > TWL4030_MAX_COLS) {
   373			dev_err(&pdev->dev,
   374				"Invalid rows/cols amount specified in platform/devicetree data\n");
   375			return -EINVAL;
   376		}
   377	
   378		kp->irq = platform_get_irq(pdev, 0);
 > 379		if (kp->irq < 0)
   380			return kp->irq;
   381	
   382		error = matrix_keypad_build_keymap(keymap_data, NULL,
   383						   TWL4030_MAX_ROWS,
   384						   1 << TWL4030_ROW_SHIFT,
   385						   kp->keymap, input);
   386		if (error) {
   387			dev_err(kp->dbg_dev, "Failed to build keymap\n");
   388			return error;
   389		}
   390	
   391		input_set_capability(input, EV_MSC, MSC_SCAN);
   392		/* Enable auto repeat feature of Linux input subsystem */
   393		if (kp->autorepeat)
   394			__set_bit(EV_REP, input->evbit);
   395	
   396		error = input_register_device(input);
   397		if (error) {
   398			dev_err(kp->dbg_dev,
   399				"Unable to register twl4030 keypad device\n");
   400			return error;
   401		}
   402	
   403		error = twl4030_kp_program(kp);
   404		if (error)
   405			return error;
   406	
   407		/*
   408		 * This ISR will always execute in kernel thread context because of
   409		 * the need to access the TWL4030 over the I2C bus.
   410		 *
   411		 * NOTE:  we assume this host is wired to TWL4040 INT1, not INT2 ...
   412		 */
   413		error = devm_request_threaded_irq(&pdev->dev, kp->irq, NULL, do_kp_irq,
   414						  0, pdev->name, kp);
   415		if (error) {
   416			dev_info(kp->dbg_dev, "request_irq failed for irq no=%d: %d\n",
   417				kp->irq, error);
   418			return error;
   419		}
   420	
   421		/* Enable KP and TO interrupts now. */
   422		reg = (u8) ~(KEYP_IMR1_KP | KEYP_IMR1_TO);
   423		if (twl4030_kpwrite_u8(kp, reg, KEYP_IMR1)) {
   424			/* mask all events - we don't care about the result */
   425			(void) twl4030_kpwrite_u8(kp, 0xff, KEYP_IMR1);
   426			return -EIO;
   427		}
   428	
   429		return 0;
   430	}
   431	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 31197 bytes --]

[-- Attachment #3: Type: text/plain, Size: 176 bytes --]

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2020-08-28  2:31 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-27  7:24 [PATCH 1/4] Input: ep93xx_keypad - Fix handling of platform_get_irq() error Krzysztof Kozlowski
2020-08-27  7:24 ` [PATCH 2/4] Input: omap4-keypad " Krzysztof Kozlowski
2020-08-27  7:24 ` [PATCH 3/4] Input: twl4030_keypad " Krzysztof Kozlowski
2020-08-28  2:28   ` kernel test robot
2020-08-27  7:24 ` [PATCH 4/4] Input: sun4i-ps2 " Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).