linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] Input: mms114: Use devm_* APIs
@ 2013-01-09  9:22 Sachin Kamat
  2013-01-09  9:47 ` Laxman Dewangan
  0 siblings, 1 reply; 6+ messages in thread
From: Sachin Kamat @ 2013-01-09  9:22 UTC (permalink / raw)
  To: linux-input; +Cc: dmitry.torokhov, sachin.kamat, patches, Joonyoung Shim

devm_* APIs are device managed and make the exit and clean up code
simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Cc: Joonyoung Shim <jy0922.shim@samsung.com>
---
Compile tested against linux-next (20130109).
Changes since:
v2:
Addressed review comments.
v1:
Removed input_unregister_device() call.
---
 drivers/input/touchscreen/mms114.c |   54 ++++++++++-------------------------
 1 files changed, 16 insertions(+), 38 deletions(-)

diff --git a/drivers/input/touchscreen/mms114.c b/drivers/input/touchscreen/mms114.c
index 98841d8..a9cb475 100644
--- a/drivers/input/touchscreen/mms114.c
+++ b/drivers/input/touchscreen/mms114.c
@@ -429,12 +429,12 @@ static int mms114_probe(struct i2c_client *client,
 		return -ENODEV;
 	}
 
-	data = kzalloc(sizeof(struct mms114_data), GFP_KERNEL);
-	input_dev = input_allocate_device();
+	data = devm_kzalloc(&client->dev, sizeof(struct mms114_data),
+			    GFP_KERNEL);
+	input_dev = devm_input_allocate_device(&client->dev);
 	if (!data || !input_dev) {
 		dev_err(&client->dev, "Failed to allocate memory\n");
-		error = -ENOMEM;
-		goto err_free_mem;
+		return -ENOMEM;
 	}
 
 	data->client = client;
@@ -466,57 +466,36 @@ static int mms114_probe(struct i2c_client *client,
 	input_set_drvdata(input_dev, data);
 	i2c_set_clientdata(client, data);
 
-	data->core_reg = regulator_get(&client->dev, "avdd");
+	data->core_reg = devm_regulator_get(&client->dev, "avdd");
 	if (IS_ERR(data->core_reg)) {
 		error = PTR_ERR(data->core_reg);
 		dev_err(&client->dev,
 			"Unable to get the Core regulator (%d)\n", error);
-		goto err_free_mem;
+		return error;
 	}
 
-	data->io_reg = regulator_get(&client->dev, "vdd");
+	data->io_reg = devm_regulator_get(&client->dev, "vdd");
 	if (IS_ERR(data->io_reg)) {
 		error = PTR_ERR(data->io_reg);
 		dev_err(&client->dev,
 			"Unable to get the IO regulator (%d)\n", error);
-		goto err_core_reg;
+		return error;
 	}
 
-	error = request_threaded_irq(client->irq, NULL, mms114_interrupt,
-			IRQF_TRIGGER_FALLING | IRQF_ONESHOT, "mms114", data);
+	error = devm_request_threaded_irq(&client->dev, client->irq, NULL,
+			mms114_interrupt, IRQF_TRIGGER_FALLING | IRQF_ONESHOT,
+			dev_name(&client->dev), data);
 	if (error) {
 		dev_err(&client->dev, "Failed to register interrupt\n");
-		goto err_io_reg;
+		return error;
 	}
 	disable_irq(client->irq);
 
 	error = input_register_device(data->input_dev);
-	if (error)
-		goto err_free_irq;
-
-	return 0;
-
-err_free_irq:
-	free_irq(client->irq, data);
-err_io_reg:
-	regulator_put(data->io_reg);
-err_core_reg:
-	regulator_put(data->core_reg);
-err_free_mem:
-	input_free_device(input_dev);
-	kfree(data);
-	return error;
-}
-
-static int mms114_remove(struct i2c_client *client)
-{
-	struct mms114_data *data = i2c_get_clientdata(client);
-
-	free_irq(client->irq, data);
-	regulator_put(data->io_reg);
-	regulator_put(data->core_reg);
-	input_unregister_device(data->input_dev);
-	kfree(data);
+	if (error) {
+		dev_err(&client->dev, "Failed to register device\n");
+		return error;
+	}
 
 	return 0;
 }
@@ -590,7 +569,6 @@ static struct i2c_driver mms114_driver = {
 		.of_match_table = of_match_ptr(mms114_dt_match),
 	},
 	.probe		= mms114_probe,
-	.remove		= mms114_remove,
 	.id_table	= mms114_id,
 };
 
-- 
1.7.4.1


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

* Re: [PATCH v3] Input: mms114: Use devm_* APIs
  2013-01-09  9:22 [PATCH v3] Input: mms114: Use devm_* APIs Sachin Kamat
@ 2013-01-09  9:47 ` Laxman Dewangan
  2013-01-09 17:05   ` Dmitry Torokhov
  0 siblings, 1 reply; 6+ messages in thread
From: Laxman Dewangan @ 2013-01-09  9:47 UTC (permalink / raw)
  To: Sachin Kamat
  Cc: linux-input@vger.kernel.org, dmitry.torokhov@gmail.com,
	patches@linaro.org, Joonyoung Shim

On Wednesday 09 January 2013 02:52 PM, Sachin Kamat wrote:
> devm_* APIs are device managed and make the exit and clean up code
> simpler.
>
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> Cc: Joonyoung Shim <jy0922.shim@samsung.com>
> ---

Acked-by: Laxman Dewangan<ldewangan@nvidia.com>


-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may contain
confidential information.  Any unauthorized review, use, disclosure or distribution
is prohibited.  If you are not the intended recipient, please contact the sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------

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

* Re: [PATCH v3] Input: mms114: Use devm_* APIs
  2013-01-09  9:47 ` Laxman Dewangan
@ 2013-01-09 17:05   ` Dmitry Torokhov
  2013-01-17  2:58     ` Sachin Kamat
  0 siblings, 1 reply; 6+ messages in thread
From: Dmitry Torokhov @ 2013-01-09 17:05 UTC (permalink / raw)
  To: Laxman Dewangan
  Cc: Sachin Kamat, linux-input@vger.kernel.org, patches@linaro.org,
	Joonyoung Shim

On Wed, Jan 09, 2013 at 03:17:44PM +0530, Laxman Dewangan wrote:
> On Wednesday 09 January 2013 02:52 PM, Sachin Kamat wrote:
> >devm_* APIs are device managed and make the exit and clean up code
> >simpler.
> >
> >Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> >Cc: Joonyoung Shim <jy0922.shim@samsung.com>
> >---
> 
> Acked-by: Laxman Dewangan<ldewangan@nvidia.com>
> 

Applied, thank you.

-- 
Dmitry

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

* Re: [PATCH v3] Input: mms114: Use devm_* APIs
  2013-01-09 17:05   ` Dmitry Torokhov
@ 2013-01-17  2:58     ` Sachin Kamat
  2013-01-17  8:30       ` Dmitry Torokhov
  0 siblings, 1 reply; 6+ messages in thread
From: Sachin Kamat @ 2013-01-17  2:58 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: linux-input@vger.kernel.org

Hi Dmitry,

On 9 January 2013 22:35, Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote:
> On Wed, Jan 09, 2013 at 03:17:44PM +0530, Laxman Dewangan wrote:
>> On Wednesday 09 January 2013 02:52 PM, Sachin Kamat wrote:
>> >devm_* APIs are device managed and make the exit and clean up code
>> >simpler.
>> >
>> >Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>> >Cc: Joonyoung Shim <jy0922.shim@samsung.com>
>> >---
>>
>> Acked-by: Laxman Dewangan<ldewangan@nvidia.com>
>>
>
> Applied, thank you.

I did not find this patch in your tree at [1].
Or did I look in the wrong place?

[1] http://git.kernel.org/?p=linux/kernel/git/dtor/input.git;a=shortlog;h=refs/heads/next


> --
> Dmitry



-- 
With warm regards,
Sachin

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

* Re: [PATCH v3] Input: mms114: Use devm_* APIs
  2013-01-17  2:58     ` Sachin Kamat
@ 2013-01-17  8:30       ` Dmitry Torokhov
  2013-01-17  8:43         ` Sachin Kamat
  0 siblings, 1 reply; 6+ messages in thread
From: Dmitry Torokhov @ 2013-01-17  8:30 UTC (permalink / raw)
  To: Sachin Kamat; +Cc: linux-input@vger.kernel.org

On Thu, Jan 17, 2013 at 08:28:15AM +0530, Sachin Kamat wrote:
> Hi Dmitry,
> 
> On 9 January 2013 22:35, Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote:
> > On Wed, Jan 09, 2013 at 03:17:44PM +0530, Laxman Dewangan wrote:
> >> On Wednesday 09 January 2013 02:52 PM, Sachin Kamat wrote:
> >> >devm_* APIs are device managed and make the exit and clean up code
> >> >simpler.
> >> >
> >> >Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> >> >Cc: Joonyoung Shim <jy0922.shim@samsung.com>
> >> >---
> >>
> >> Acked-by: Laxman Dewangan<ldewangan@nvidia.com>
> >>
> >
> > Applied, thank you.
> 
> I did not find this patch in your tree at [1].
> Or did I look in the wrong place?
> 
> [1] http://git.kernel.org/?p=linux/kernel/git/dtor/input.git;a=shortlog;h=refs/heads/next

No, apparently I forgot to push my branch out. Should be there now.

-- 
Dmitry

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

* Re: [PATCH v3] Input: mms114: Use devm_* APIs
  2013-01-17  8:30       ` Dmitry Torokhov
@ 2013-01-17  8:43         ` Sachin Kamat
  0 siblings, 0 replies; 6+ messages in thread
From: Sachin Kamat @ 2013-01-17  8:43 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: linux-input@vger.kernel.org

On 17 January 2013 14:00, Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote:
> On Thu, Jan 17, 2013 at 08:28:15AM +0530, Sachin Kamat wrote:
>> Hi Dmitry,
>>
>> On 9 January 2013 22:35, Dmitry Torokhov <dmitry.torokhov@gmail.com> wrote:
>> > On Wed, Jan 09, 2013 at 03:17:44PM +0530, Laxman Dewangan wrote:
>> >> On Wednesday 09 January 2013 02:52 PM, Sachin Kamat wrote:
>> >> >devm_* APIs are device managed and make the exit and clean up code
>> >> >simpler.
>> >> >
>> >> >Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>> >> >Cc: Joonyoung Shim <jy0922.shim@samsung.com>
>> >> >---
>> >>
>> >> Acked-by: Laxman Dewangan<ldewangan@nvidia.com>
>> >>
>> >
>> > Applied, thank you.
>>
>> I did not find this patch in your tree at [1].
>> Or did I look in the wrong place?
>>
>> [1] http://git.kernel.org/?p=linux/kernel/git/dtor/input.git;a=shortlog;h=refs/heads/next
>
> No, apparently I forgot to push my branch out. Should be there now.

Yes I can see it now. Thanks.


>
> --
> Dmitry



-- 
With warm regards,
Sachin

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

end of thread, other threads:[~2013-01-17  8:43 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-01-09  9:22 [PATCH v3] Input: mms114: Use devm_* APIs Sachin Kamat
2013-01-09  9:47 ` Laxman Dewangan
2013-01-09 17:05   ` Dmitry Torokhov
2013-01-17  2:58     ` Sachin Kamat
2013-01-17  8:30       ` Dmitry Torokhov
2013-01-17  8:43         ` Sachin Kamat

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).