public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] staging: synaptics: Implement error handling for rmi4 touch regulator
@ 2011-05-30 12:16 Linus Walleij
  2011-06-27  9:41 ` Linus Walleij
  0 siblings, 1 reply; 3+ messages in thread
From: Linus Walleij @ 2011-05-30 12:16 UTC (permalink / raw)
  To: greg, linux-kernel; +Cc: Lee Jones, Naveen Kumar Gaddipati

From: Naveen Kumar Gaddipati <naveen.gaddipati@stericsson.com>

Implement the error handling for regulator in synaptics
rmi4 touch screen

Signed-off-by: Naveen Kumar Gaddipati <naveen.gaddipati@stericsson.com>
---
Somehow this patch has been lost and is pending in my local tree,
so resending. The slowness of the "big" Synaptics driver to emerge
gives me ideas about moving this to drivers/input :-P
---
 drivers/staging/ste_rmi4/synaptics_i2c_rmi4.c |   43 +++++++++++-------------
 drivers/staging/ste_rmi4/synaptics_i2c_rmi4.h |    2 -
 2 files changed, 20 insertions(+), 25 deletions(-)

diff --git a/drivers/staging/ste_rmi4/synaptics_i2c_rmi4.c b/drivers/staging/ste_rmi4/synaptics_i2c_rmi4.c
index 3e68d58..36f4cb7 100644
--- a/drivers/staging/ste_rmi4/synaptics_i2c_rmi4.c
+++ b/drivers/staging/ste_rmi4/synaptics_i2c_rmi4.c
@@ -926,17 +926,19 @@ static int __devinit synaptics_rmi4_probe
 		goto err_input;
 	}
 
-	if (platformdata->regulator_en) {
-		rmi4_data->regulator = regulator_get(&client->dev, "vdd");
-		if (IS_ERR(rmi4_data->regulator)) {
-			dev_err(&client->dev, "%s:get regulator failed\n",
-								__func__);
-			retval = PTR_ERR(rmi4_data->regulator);
-			goto err_regulator;
-		}
-		regulator_enable(rmi4_data->regulator);
+	rmi4_data->regulator = regulator_get(&client->dev, "vdd");
+	if (IS_ERR(rmi4_data->regulator)) {
+		dev_err(&client->dev, "%s:get regulator failed\n",
+							__func__);
+		retval = PTR_ERR(rmi4_data->regulator);
+		goto err_get_regulator;
+	}
+	retval = regulator_enable(rmi4_data->regulator);
+	if (retval < 0) {
+		dev_err(&client->dev, "%s:regulator enable failed\n",
+							__func__);
+		goto err_regulator_enable;
 	}
-
 	init_waitqueue_head(&rmi4_data->wait);
 	/*
 	 * Copy i2c_client pointer into RTID's i2c_client pointer for
@@ -1011,11 +1013,10 @@ static int __devinit synaptics_rmi4_probe
 err_free_irq:
 	free_irq(platformdata->irq_number, rmi4_data);
 err_query_dev:
-	if (platformdata->regulator_en) {
-		regulator_disable(rmi4_data->regulator);
-		regulator_put(rmi4_data->regulator);
-	}
-err_regulator:
+	regulator_disable(rmi4_data->regulator);
+err_regulator_enable:
+	regulator_put(rmi4_data->regulator);
+err_get_regulator:
 	input_free_device(rmi4_data->input_dev);
 	rmi4_data->input_dev = NULL;
 err_input:
@@ -1039,10 +1040,8 @@ static int __devexit synaptics_rmi4_remove(struct i2c_client *client)
 	wake_up(&rmi4_data->wait);
 	free_irq(pdata->irq_number, rmi4_data);
 	input_unregister_device(rmi4_data->input_dev);
-	if (pdata->regulator_en) {
-		regulator_disable(rmi4_data->regulator);
-		regulator_put(rmi4_data->regulator);
-	}
+	regulator_disable(rmi4_data->regulator);
+	regulator_put(rmi4_data->regulator);
 	kfree(rmi4_data);
 
 	return 0;
@@ -1080,8 +1079,7 @@ static int synaptics_rmi4_suspend(struct device *dev)
 	if (retval < 0)
 		return retval;
 
-	if (pdata->regulator_en)
-		regulator_disable(rmi4_data->regulator);
+	regulator_disable(rmi4_data->regulator);
 
 	return 0;
 }
@@ -1099,8 +1097,7 @@ static int synaptics_rmi4_resume(struct device *dev)
 	struct synaptics_rmi4_data *rmi4_data = dev_get_drvdata(dev);
 	const struct synaptics_rmi4_platform_data *pdata = rmi4_data->board;
 
-	if (pdata->regulator_en)
-		regulator_enable(rmi4_data->regulator);
+	regulator_enable(rmi4_data->regulator);
 
 	enable_irq(pdata->irq_number);
 	rmi4_data->touch_stopped = false;
diff --git a/drivers/staging/ste_rmi4/synaptics_i2c_rmi4.h b/drivers/staging/ste_rmi4/synaptics_i2c_rmi4.h
index 3686a2f..384436e 100644
--- a/drivers/staging/ste_rmi4/synaptics_i2c_rmi4.h
+++ b/drivers/staging/ste_rmi4/synaptics_i2c_rmi4.h
@@ -34,7 +34,6 @@
  * @irq_type: irq type
  * @x flip: x flip flag
  * @y flip: y flip flag
- * @regulator_en: regulator enable flag
  *
  * This structure gives platform data for rmi4.
  */
@@ -43,7 +42,6 @@ struct synaptics_rmi4_platform_data {
 	int irq_type;
 	bool x_flip;
 	bool y_flip;
-	bool regulator_en;
 };
 
 #endif
-- 
1.7.3.2


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

* Re: [PATCH] staging: synaptics: Implement error handling for rmi4 touch regulator
  2011-05-30 12:16 [PATCH] staging: synaptics: Implement error handling for rmi4 touch regulator Linus Walleij
@ 2011-06-27  9:41 ` Linus Walleij
  2011-06-28 20:24   ` Greg KH
  0 siblings, 1 reply; 3+ messages in thread
From: Linus Walleij @ 2011-06-27  9:41 UTC (permalink / raw)
  To: greg; +Cc: linux-kernel, Lee Jones, Naveen Kumar Gaddipati

On Mon, May 30, 2011 at 2:16 PM, Linus Walleij
<linus.walleij@stericsson.com> wrote:

> From: Naveen Kumar Gaddipati <naveen.gaddipati@stericsson.com>
>
> Implement the error handling for regulator in synaptics
> rmi4 touch screen
>
> Signed-off-by: Naveen Kumar Gaddipati <naveen.gaddipati@stericsson.com>
> ---
> Somehow this patch has been lost and is pending in my local tree,
> so resending. The slowness of the "big" Synaptics driver to emerge
> gives me ideas about moving this to drivers/input :-P

Ping on this - can this go into staging now?

Thanks,
Linus Walleij

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

* Re: [PATCH] staging: synaptics: Implement error handling for rmi4 touch regulator
  2011-06-27  9:41 ` Linus Walleij
@ 2011-06-28 20:24   ` Greg KH
  0 siblings, 0 replies; 3+ messages in thread
From: Greg KH @ 2011-06-28 20:24 UTC (permalink / raw)
  To: Linus Walleij; +Cc: linux-kernel, Lee Jones, Naveen Kumar Gaddipati

On Mon, Jun 27, 2011 at 11:41:40AM +0200, Linus Walleij wrote:
> On Mon, May 30, 2011 at 2:16 PM, Linus Walleij
> <linus.walleij@stericsson.com> wrote:
> 
> > From: Naveen Kumar Gaddipati <naveen.gaddipati@stericsson.com>
> >
> > Implement the error handling for regulator in synaptics
> > rmi4 touch screen
> >
> > Signed-off-by: Naveen Kumar Gaddipati <naveen.gaddipati@stericsson.com>
> > ---
> > Somehow this patch has been lost and is pending in my local tree,
> > so resending. The slowness of the "big" Synaptics driver to emerge
> > gives me ideas about moving this to drivers/input :-P
> 
> Ping on this - can this go into staging now?

Now applied.

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

end of thread, other threads:[~2011-06-28 20:40 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-30 12:16 [PATCH] staging: synaptics: Implement error handling for rmi4 touch regulator Linus Walleij
2011-06-27  9:41 ` Linus Walleij
2011-06-28 20:24   ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox