linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org, linux-kernel@vger.kernel.org,
	Guenter Roeck <linux@roeck-us.net>,
	Benjamin Tissoires <benjamin.tissoires@redhat.com>,
	KT Liao <kt.liao@emc.com.tw>
Subject: [PATCH 20/33] Input: elan_i2c_core - Use 'dev' instead of dereferencing it and other changes
Date: Wed, 18 Jan 2017 09:46:41 -0800	[thread overview]
Message-ID: <1484761614-12225-21-git-send-email-linux@roeck-us.net> (raw)
In-Reply-To: <1484761614-12225-1-git-send-email-linux@roeck-us.net>

Use local variable 'dev' instead of dereferencing it several times.
Other relevant changes:
  Simplify error return
  Replace devm_add_action() with devm_add_action_or_reset()

This conversion was done automatically with coccinelle using the
following semantic patches. The semantic patches and the scripts
used to generate this commit log are available at
https://github.com/groeck/coccinelle-patches

- Replace devm_add_action() followed by failure action with
  devm_add_action_or_reset()
- Replace 'goto l; ... l: return e;' with 'return e;'
- Replace 'if (e) return e; return 0;' with 'return e;'
- Use local variable 'struct device *dev' consistently

Signed-off-by: Guenter Roeck <linux@roeck-us.net>
---
 drivers/input/mouse/elan_i2c_core.c | 59 +++++++++++++------------------------
 1 file changed, 21 insertions(+), 38 deletions(-)

diff --git a/drivers/input/mouse/elan_i2c_core.c b/drivers/input/mouse/elan_i2c_core.c
index fa598f7f4372..806f304e6356 100644
--- a/drivers/input/mouse/elan_i2c_core.c
+++ b/drivers/input/mouse/elan_i2c_core.c
@@ -210,10 +210,7 @@ static int elan_query_product(struct elan_tp_data *data)
 
 	error = data->ops->get_sm_version(data->client, &data->ic_type,
 					  &data->sm_version);
-	if (error)
-		return error;
-
-	return 0;
+	return error;
 }
 
 static int elan_check_ASUS_special_fw(struct elan_tp_data *data)
@@ -926,12 +923,12 @@ static irqreturn_t elan_isr(int irq, void *dev_id)
 	*/
 	if (data->in_fw_update) {
 		complete(&data->fw_completion);
-		goto out;
+		return IRQ_HANDLED;
 	}
 
 	error = data->ops->get_report(data->client, report);
 	if (error)
-		goto out;
+		return IRQ_HANDLED;
 
 	if (report[ETP_REPORT_ID_OFFSET] != ETP_REPORT_ID)
 		dev_err(dev, "invalid report id data (%x)\n",
@@ -939,7 +936,6 @@ static irqreturn_t elan_isr(int irq, void *dev_id)
 	else
 		elan_report_absolute(data, report);
 
-out:
 	return IRQ_HANDLED;
 }
 
@@ -1041,8 +1037,7 @@ static int elan_probe(struct i2c_client *client,
 		return -EIO;
 	}
 
-	data = devm_kzalloc(&client->dev, sizeof(struct elan_tp_data),
-			    GFP_KERNEL);
+	data = devm_kzalloc(dev, sizeof(struct elan_tp_data), GFP_KERNEL);
 	if (!data)
 		return -ENOMEM;
 
@@ -1053,29 +1048,24 @@ static int elan_probe(struct i2c_client *client,
 	init_completion(&data->fw_completion);
 	mutex_init(&data->sysfs_mutex);
 
-	data->vcc = devm_regulator_get(&client->dev, "vcc");
+	data->vcc = devm_regulator_get(dev, "vcc");
 	if (IS_ERR(data->vcc)) {
 		error = PTR_ERR(data->vcc);
 		if (error != -EPROBE_DEFER)
-			dev_err(&client->dev,
-				"Failed to get 'vcc' regulator: %d\n",
+			dev_err(dev, "Failed to get 'vcc' regulator: %d\n",
 				error);
 		return error;
 	}
 
 	error = regulator_enable(data->vcc);
 	if (error) {
-		dev_err(&client->dev,
-			"Failed to enable regulator: %d\n", error);
+		dev_err(dev, "Failed to enable regulator: %d\n", error);
 		return error;
 	}
 
-	error = devm_add_action(&client->dev,
-				elan_disable_regulator, data);
+	error = devm_add_action_or_reset(dev, elan_disable_regulator, data);
 	if (error) {
-		regulator_disable(data->vcc);
-		dev_err(&client->dev,
-			"Failed to add disable regulator action: %d\n",
+		dev_err(dev, "Failed to add disable regulator action: %d\n",
 			error);
 		return error;
 	}
@@ -1093,15 +1083,14 @@ static int elan_probe(struct i2c_client *client,
 	if (error)
 		return error;
 
-	dev_info(&client->dev,
+	dev_info(dev,
 		 "Elan Touchpad: Module ID: 0x%04x, Firmware: 0x%04x, Sample: 0x%04x, IAP: 0x%04x\n",
 		 data->product_id,
 		 data->fw_version,
 		 data->sm_version,
 		 data->iap_version);
 
-	dev_dbg(&client->dev,
-		"Elan Touchpad Extra Information:\n"
+	dev_dbg(dev, "Elan Touchpad Extra Information:\n"
 		"    Max ABS X,Y:   %d,%d\n"
 		"    Width X,Y:   %d,%d\n"
 		"    Resolution X,Y:   %d,%d (dots/mm)\n",
@@ -1118,38 +1107,32 @@ static int elan_probe(struct i2c_client *client,
 	 * Systems using device tree should set up interrupt via DTS,
 	 * the rest will use the default falling edge interrupts.
 	 */
-	irqflags = client->dev.of_node ? 0 : IRQF_TRIGGER_FALLING;
+	irqflags = dev->of_node ? 0 : IRQF_TRIGGER_FALLING;
 
-	error = devm_request_threaded_irq(&client->dev, client->irq,
-					  NULL, elan_isr,
+	error = devm_request_threaded_irq(dev, client->irq, NULL, elan_isr,
 					  irqflags | IRQF_ONESHOT,
 					  client->name, data);
 	if (error) {
-		dev_err(&client->dev, "cannot register irq=%d\n", client->irq);
+		dev_err(dev, "cannot register irq=%d\n", client->irq);
 		return error;
 	}
 
-	error = sysfs_create_groups(&client->dev.kobj, elan_sysfs_groups);
+	error = sysfs_create_groups(&dev->kobj, elan_sysfs_groups);
 	if (error) {
-		dev_err(&client->dev, "failed to create sysfs attributes: %d\n",
-			error);
+		dev_err(dev, "failed to create sysfs attributes: %d\n", error);
 		return error;
 	}
 
-	error = devm_add_action(&client->dev,
-				elan_remove_sysfs_groups, data);
+	error = devm_add_action_or_reset(dev, elan_remove_sysfs_groups, data);
 	if (error) {
-		elan_remove_sysfs_groups(data);
-		dev_err(&client->dev,
-			"Failed to add sysfs cleanup action: %d\n",
+		dev_err(dev, "Failed to add sysfs cleanup action: %d\n",
 			error);
 		return error;
 	}
 
 	error = input_register_device(data->input);
 	if (error) {
-		dev_err(&client->dev, "failed to register input device: %d\n",
-			error);
+		dev_err(dev, "failed to register input device: %d\n", error);
 		return error;
 	}
 
@@ -1157,8 +1140,8 @@ static int elan_probe(struct i2c_client *client,
 	 * Systems using device tree should set up wakeup via DTS,
 	 * the rest will configure device as wakeup source by default.
 	 */
-	if (!client->dev.of_node)
-		device_init_wakeup(&client->dev, true);
+	if (!dev->of_node)
+		device_init_wakeup(dev, true);
 
 	return 0;
 }
-- 
2.7.4

  parent reply	other threads:[~2017-01-18 17:46 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-18 17:46 [PATCH 00/33] Input: Automated coccinelle cleanup Guenter Roeck
2017-01-18 17:46 ` [PATCH 01/33] Input: adp5520-keys - Drop unnecessary error messages and other changes Guenter Roeck
2017-01-18 17:46 ` [PATCH 02/33] Input: bcm-keypad - Drop unnecessary call to platform_set_drvdata " Guenter Roeck
2017-01-18 17:46 ` [PATCH 03/33] Input: cap11xx - Drop unnecessary call to i2c_set_clientdata " Guenter Roeck
2017-01-18 17:46 ` [PATCH 04/33] Input: cros_ec_keyb - Drop unnecessary call to dev_set_drvdata " Guenter Roeck
2017-01-18 18:39   ` Dmitry Torokhov
2017-01-18 17:46 ` [PATCH 05/33] Input: imx_keypad - Drop unnecessary error messages " Guenter Roeck
2017-01-18 17:46 ` [PATCH 06/33] Input: samsung-keypad " Guenter Roeck
2017-01-18 17:46 ` [PATCH 07/33] Input: sh_keysc " Guenter Roeck
2017-01-18 17:46 ` [PATCH 08/33] Input: spear-keyboard " Guenter Roeck
2017-01-19  3:56   ` Viresh Kumar
2017-01-18 17:46 ` [PATCH 09/33] Input: sun4i-lradc-keys - Drop unnecessary call to platform_set_drvdata " Guenter Roeck
2017-02-02  7:45   ` Chen-Yu Tsai
2017-01-18 17:46 ` [PATCH 10/33] Input: twl4030_keypad " Guenter Roeck
2017-01-18 19:45   ` Dmitry Torokhov
2017-01-18 17:46 ` [PATCH 11/33] Input: ab8500-ponkey " Guenter Roeck
2017-01-18 19:45   ` Dmitry Torokhov
2017-01-18 17:46 ` [PATCH 12/33] Input: axp20x-pek - Use devm_add_action_or_reset " Guenter Roeck
2017-02-02  7:43   ` Chen-Yu Tsai
2017-01-18 17:46 ` [PATCH 13/33] Input: bfin_rotary - Use 'dev' instead of dereferencing it " Guenter Roeck
2017-01-18 19:39   ` Dmitry Torokhov
2017-01-18 20:35     ` Guenter Roeck
2017-01-19  4:58       ` Joe Perches
2017-01-19  8:25         ` Guenter Roeck
2017-01-18 17:46 ` [PATCH 14/33] Input: gpio_decoder - Drop unnecessary call to platform_set_drvdata " Guenter Roeck
2017-01-18 19:40   ` Dmitry Torokhov
2017-01-18 17:46 ` [PATCH 15/33] Input: kxtj9 - Drop unnecessary error messages " Guenter Roeck
2017-01-18 17:46 ` [PATCH 16/33] Input: mma8450 - Drop unnecessary call to i2c_set_clientdata " Guenter Roeck
2017-01-18 19:41   ` Dmitry Torokhov
2017-01-18 17:46 ` [PATCH 17/33] Input: retu-pwrbutton - Simplify error return " Guenter Roeck
2017-01-18 17:46 ` [PATCH 18/33] Input: soc_button_array - Use 'dev' instead of dereferencing it " Guenter Roeck
2017-01-18 19:42   ` Dmitry Torokhov
2017-01-18 17:46 ` [PATCH 19/33] Input: tps65218-pwrbutton - Drop unnecessary call to platform_set_drvdata " Guenter Roeck
2017-01-18 19:44   ` Dmitry Torokhov
2017-01-18 17:46 ` Guenter Roeck [this message]
2017-01-18 17:46 ` [PATCH 21/33] Input: arc_ps2 - Drop unnecessary error messages " Guenter Roeck
2017-01-18 17:46 ` [PATCH 22/33] Input: at32psif " Guenter Roeck
2017-01-18 19:13   ` Dmitry Torokhov
2017-01-18 17:46 ` [PATCH 23/33] Input: xilinx_ps2 - Use 'dev' instead of dereferencing it " Guenter Roeck
2017-01-18 19:17   ` Dmitry Torokhov
2017-01-18 17:46 ` [PATCH 24/33] Input: ar1021_i2c - Drop unnecessary call to i2c_set_clientdata " Guenter Roeck
2017-01-18 19:21   ` Dmitry Torokhov
2017-01-18 17:46 ` [PATCH 25/33] Input: atmel-wm97xx - Drop unnecessary error messages " Guenter Roeck
2017-01-18 19:23   ` Dmitry Torokhov
2017-01-18 17:46 ` [PATCH 26/33] Input: atmel_mxt_ts " Guenter Roeck
2017-01-18 17:46 ` [PATCH 27/33] Input: eeti_ts " Guenter Roeck
2017-01-18 19:26   ` Dmitry Torokhov
2017-01-18 17:46 ` [PATCH 28/33] Input: egalax_ts - Drop unnecessary call to i2c_set_clientdata " Guenter Roeck
2017-01-18 19:31   ` Dmitry Torokhov
2017-01-18 20:32     ` Guenter Roeck
2017-01-18 17:46 ` [PATCH 29/33] Input: melfas_mip4 - Use devm_add_action_or_reset " Guenter Roeck
2017-01-18 19:28   ` Dmitry Torokhov
2017-01-18 20:36 ` [PATCH 30/33] Input: raydium_i2c_ts - Simplify error return " Guenter Roeck
2017-01-18 20:36   ` [PATCH 31/33] Input: rohm_bu21023 - Use 'dev' instead of dereferencing it " Guenter Roeck
2017-01-18 20:36   ` [PATCH 32/33] Input: sis_i2c - Drop unnecessary call to i2c_set_clientdata " Guenter Roeck
2017-01-18 22:27     ` Dmitry Torokhov
2017-01-18 20:36   ` [PATCH 33/33] Input: sx8654 " Guenter Roeck
2017-03-14  6:43   ` [PATCH 30/33] Input: raydium_i2c_ts - Simplify error return " Jeffrey Lin (林義章)
2017-01-19  1:42 ` [PATCH 00/33] Input: Automated coccinelle cleanup Joe Perches
2017-01-19  5:04   ` Guenter Roeck
2017-01-19  5:06     ` Joe Perches
2017-01-19  8:19       ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1484761614-12225-21-git-send-email-linux@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=benjamin.tissoires@redhat.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=kt.liao@emc.com.tw \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).