linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] Input: jornada720_ts: Switch to using Managed resources
@ 2014-07-30 12:09 Pramod Gurav
  2014-07-30 13:18 ` Paul Gortmaker
  0 siblings, 1 reply; 3+ messages in thread
From: Pramod Gurav @ 2014-07-30 12:09 UTC (permalink / raw)
  To: linux-input, linux-kernel; +Cc: Pramod Gurav, Dmitry Torokhov, Paul Gortmaker

This switches the driver to using managed resources to simplify
error handling and to do away with remove function.

Also fixes some indentations by replacing spaces with tabs.

CC: Dmitry Torokhov <dmitry.torokhov@gmail.com>
CC: Paul Gortmaker <paul.gortmaker@windriver.com>

Signed-off-by: Pramod Gurav <pramod.gurav@smartplayin.com>
---
 drivers/input/touchscreen/jornada720_ts.c |   62 ++++++++++-------------------
 1 file changed, 20 insertions(+), 42 deletions(-)

diff --git a/drivers/input/touchscreen/jornada720_ts.c b/drivers/input/touchscreen/jornada720_ts.c
index 7324c5c..0c23bba 100644
--- a/drivers/input/touchscreen/jornada720_ts.c
+++ b/drivers/input/touchscreen/jornada720_ts.c
@@ -37,21 +37,21 @@ struct jornada_ts {
 static void jornada720_ts_collect_data(struct jornada_ts *jornada_ts)
 {
 
-    /* 3 low word X samples */
-    jornada_ts->x_data[0] = jornada_ssp_byte(TXDUMMY);
-    jornada_ts->x_data[1] = jornada_ssp_byte(TXDUMMY);
-    jornada_ts->x_data[2] = jornada_ssp_byte(TXDUMMY);
+	/* 3 low word X samples */
+	jornada_ts->x_data[0] = jornada_ssp_byte(TXDUMMY);
+	jornada_ts->x_data[1] = jornada_ssp_byte(TXDUMMY);
+	jornada_ts->x_data[2] = jornada_ssp_byte(TXDUMMY);
 
-    /* 3 low word Y samples */
-    jornada_ts->y_data[0] = jornada_ssp_byte(TXDUMMY);
-    jornada_ts->y_data[1] = jornada_ssp_byte(TXDUMMY);
-    jornada_ts->y_data[2] = jornada_ssp_byte(TXDUMMY);
+	/* 3 low word Y samples */
+	jornada_ts->y_data[0] = jornada_ssp_byte(TXDUMMY);
+	jornada_ts->y_data[1] = jornada_ssp_byte(TXDUMMY);
+	jornada_ts->y_data[2] = jornada_ssp_byte(TXDUMMY);
 
-    /* combined x samples bits */
-    jornada_ts->x_data[3] = jornada_ssp_byte(TXDUMMY);
+	/* combined x samples bits */
+	jornada_ts->x_data[3] = jornada_ssp_byte(TXDUMMY);
 
-    /* combined y samples bits */
-    jornada_ts->y_data[3] = jornada_ssp_byte(TXDUMMY);
+	/* combined y samples bits */
+	jornada_ts->y_data[3] = jornada_ssp_byte(TXDUMMY);
 }
 
 static int jornada720_ts_average(int coords[4])
@@ -104,13 +104,10 @@ static int jornada720_ts_probe(struct platform_device *pdev)
 	struct input_dev *input_dev;
 	int error;
 
-	jornada_ts = kzalloc(sizeof(struct jornada_ts), GFP_KERNEL);
-	input_dev = input_allocate_device();
-
-	if (!jornada_ts || !input_dev) {
-		error = -ENOMEM;
-		goto fail1;
-	}
+	jornada_ts = devm_kzalloc(&pdev->dev, sizeof(*jornada_ts), GFP_KERNEL);
+	input_dev = devm_input_allocate_device(&pdev->dev);
+	if (!jornada_ts || !input_dev)
+		return -ENOMEM;
 
 	platform_set_drvdata(pdev, jornada_ts);
 
@@ -126,36 +123,18 @@ static int jornada720_ts_probe(struct platform_device *pdev)
 	input_set_abs_params(input_dev, ABS_X, 270, 3900, 0, 0);
 	input_set_abs_params(input_dev, ABS_Y, 180, 3700, 0, 0);
 
-	error = request_irq(IRQ_GPIO9,
+	error = devm_request_irq(&pdev->dev, IRQ_GPIO9,
 			jornada720_ts_interrupt,
 			IRQF_TRIGGER_RISING,
 			"HP7XX Touchscreen driver", pdev);
 	if (error) {
-		printk(KERN_INFO "HP7XX TS : Unable to acquire irq!\n");
-		goto fail1;
+		dev_err(&pdev->dev, "HP7XX TS : Unable to acquire irq!\n");
+		return error;
 	}
 
 	error = input_register_device(jornada_ts->dev);
 	if (error)
-		goto fail2;
-
-	return 0;
-
- fail2:
-	free_irq(IRQ_GPIO9, pdev);
- fail1:
-	input_free_device(input_dev);
-	kfree(jornada_ts);
-	return error;
-}
-
-static int jornada720_ts_remove(struct platform_device *pdev)
-{
-	struct jornada_ts *jornada_ts = platform_get_drvdata(pdev);
-
-	free_irq(IRQ_GPIO9, pdev);
-	input_unregister_device(jornada_ts->dev);
-	kfree(jornada_ts);
+		return error;
 
 	return 0;
 }
@@ -165,7 +144,6 @@ MODULE_ALIAS("platform:jornada_ts");
 
 static struct platform_driver jornada720_ts_driver = {
 	.probe		= jornada720_ts_probe,
-	.remove		= jornada720_ts_remove,
 	.driver		= {
 		.name	= "jornada_ts",
 		.owner	= THIS_MODULE,
-- 
1.7.9.5

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

* Re: [PATCH] Input: jornada720_ts: Switch to using Managed resources
  2014-07-30 12:09 [PATCH] Input: jornada720_ts: Switch to using Managed resources Pramod Gurav
@ 2014-07-30 13:18 ` Paul Gortmaker
  2014-07-30 13:28   ` Pramod Gurav
  0 siblings, 1 reply; 3+ messages in thread
From: Paul Gortmaker @ 2014-07-30 13:18 UTC (permalink / raw)
  To: Pramod Gurav, linux-input, linux-kernel; +Cc: Dmitry Torokhov

On 14-07-30 08:09 AM, Pramod Gurav wrote:
> This switches the driver to using managed resources to simplify
> error handling and to do away with remove function.
> 
> Also fixes some indentations by replacing spaces with tabs.
> 
> CC: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> CC: Paul Gortmaker <paul.gortmaker@windriver.com>
> 
> Signed-off-by: Pramod Gurav <pramod.gurav@smartplayin.com>
> ---
>  drivers/input/touchscreen/jornada720_ts.c |   62 ++++++++++-------------------
>  1 file changed, 20 insertions(+), 42 deletions(-)
> 
> diff --git a/drivers/input/touchscreen/jornada720_ts.c b/drivers/input/touchscreen/jornada720_ts.c
> index 7324c5c..0c23bba 100644
> --- a/drivers/input/touchscreen/jornada720_ts.c
> +++ b/drivers/input/touchscreen/jornada720_ts.c
> @@ -37,21 +37,21 @@ struct jornada_ts {
>  static void jornada720_ts_collect_data(struct jornada_ts *jornada_ts)
>  {
>  
> -    /* 3 low word X samples */
> -    jornada_ts->x_data[0] = jornada_ssp_byte(TXDUMMY);
> -    jornada_ts->x_data[1] = jornada_ssp_byte(TXDUMMY);
> -    jornada_ts->x_data[2] = jornada_ssp_byte(TXDUMMY);
> +	/* 3 low word X samples */
> +	jornada_ts->x_data[0] = jornada_ssp_byte(TXDUMMY);
> +	jornada_ts->x_data[1] = jornada_ssp_byte(TXDUMMY);
> +	jornada_ts->x_data[2] = jornada_ssp_byte(TXDUMMY);

Please don't mix pure whitespace changes with technical changes.
While I can't fault you for wanting to get rid of the 4 space
tabs, it makes review more complicated when they are mixed in
a single commit.

P.
--

>  
> -    /* 3 low word Y samples */
> -    jornada_ts->y_data[0] = jornada_ssp_byte(TXDUMMY);
> -    jornada_ts->y_data[1] = jornada_ssp_byte(TXDUMMY);
> -    jornada_ts->y_data[2] = jornada_ssp_byte(TXDUMMY);
> +	/* 3 low word Y samples */
> +	jornada_ts->y_data[0] = jornada_ssp_byte(TXDUMMY);
> +	jornada_ts->y_data[1] = jornada_ssp_byte(TXDUMMY);
> +	jornada_ts->y_data[2] = jornada_ssp_byte(TXDUMMY);
>  
> -    /* combined x samples bits */
> -    jornada_ts->x_data[3] = jornada_ssp_byte(TXDUMMY);
> +	/* combined x samples bits */
> +	jornada_ts->x_data[3] = jornada_ssp_byte(TXDUMMY);
>  
> -    /* combined y samples bits */
> -    jornada_ts->y_data[3] = jornada_ssp_byte(TXDUMMY);
> +	/* combined y samples bits */
> +	jornada_ts->y_data[3] = jornada_ssp_byte(TXDUMMY);
>  }
>  
>  static int jornada720_ts_average(int coords[4])
> @@ -104,13 +104,10 @@ static int jornada720_ts_probe(struct platform_device *pdev)
>  	struct input_dev *input_dev;
>  	int error;
>  
> -	jornada_ts = kzalloc(sizeof(struct jornada_ts), GFP_KERNEL);
> -	input_dev = input_allocate_device();
> -
> -	if (!jornada_ts || !input_dev) {
> -		error = -ENOMEM;
> -		goto fail1;
> -	}
> +	jornada_ts = devm_kzalloc(&pdev->dev, sizeof(*jornada_ts), GFP_KERNEL);
> +	input_dev = devm_input_allocate_device(&pdev->dev);
> +	if (!jornada_ts || !input_dev)
> +		return -ENOMEM;
>  
>  	platform_set_drvdata(pdev, jornada_ts);
>  
> @@ -126,36 +123,18 @@ static int jornada720_ts_probe(struct platform_device *pdev)
>  	input_set_abs_params(input_dev, ABS_X, 270, 3900, 0, 0);
>  	input_set_abs_params(input_dev, ABS_Y, 180, 3700, 0, 0);
>  
> -	error = request_irq(IRQ_GPIO9,
> +	error = devm_request_irq(&pdev->dev, IRQ_GPIO9,
>  			jornada720_ts_interrupt,
>  			IRQF_TRIGGER_RISING,
>  			"HP7XX Touchscreen driver", pdev);
>  	if (error) {
> -		printk(KERN_INFO "HP7XX TS : Unable to acquire irq!\n");
> -		goto fail1;
> +		dev_err(&pdev->dev, "HP7XX TS : Unable to acquire irq!\n");
> +		return error;
>  	}
>  
>  	error = input_register_device(jornada_ts->dev);
>  	if (error)
> -		goto fail2;
> -
> -	return 0;
> -
> - fail2:
> -	free_irq(IRQ_GPIO9, pdev);
> - fail1:
> -	input_free_device(input_dev);
> -	kfree(jornada_ts);
> -	return error;
> -}
> -
> -static int jornada720_ts_remove(struct platform_device *pdev)
> -{
> -	struct jornada_ts *jornada_ts = platform_get_drvdata(pdev);
> -
> -	free_irq(IRQ_GPIO9, pdev);
> -	input_unregister_device(jornada_ts->dev);
> -	kfree(jornada_ts);
> +		return error;
>  
>  	return 0;
>  }
> @@ -165,7 +144,6 @@ MODULE_ALIAS("platform:jornada_ts");
>  
>  static struct platform_driver jornada720_ts_driver = {
>  	.probe		= jornada720_ts_probe,
> -	.remove		= jornada720_ts_remove,
>  	.driver		= {
>  		.name	= "jornada_ts",
>  		.owner	= THIS_MODULE,
> 

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

* Re: [PATCH] Input: jornada720_ts: Switch to using Managed resources
  2014-07-30 13:18 ` Paul Gortmaker
@ 2014-07-30 13:28   ` Pramod Gurav
  0 siblings, 0 replies; 3+ messages in thread
From: Pramod Gurav @ 2014-07-30 13:28 UTC (permalink / raw)
  To: Paul Gortmaker
  Cc: Pramod Gurav, linux-input, linux-kernel@vger.kernel.org,
	Dmitry Torokhov

On Wed, Jul 30, 2014 at 6:48 PM, Paul Gortmaker
<paul.gortmaker@windriver.com> wrote:
> On 14-07-30 08:09 AM, Pramod Gurav wrote:
>> This switches the driver to using managed resources to simplify
>> error handling and to do away with remove function.
>>
>> Also fixes some indentations by replacing spaces with tabs.
>>
>> CC: Dmitry Torokhov <dmitry.torokhov@gmail.com>
>> CC: Paul Gortmaker <paul.gortmaker@windriver.com>
>>
>> Signed-off-by: Pramod Gurav <pramod.gurav@smartplayin.com>
>> ---
>>  drivers/input/touchscreen/jornada720_ts.c |   62 ++++++++++-------------------
>>  1 file changed, 20 insertions(+), 42 deletions(-)
>>
>> diff --git a/drivers/input/touchscreen/jornada720_ts.c b/drivers/input/touchscreen/jornada720_ts.c
>> index 7324c5c..0c23bba 100644
>> --- a/drivers/input/touchscreen/jornada720_ts.c
>> +++ b/drivers/input/touchscreen/jornada720_ts.c
>> @@ -37,21 +37,21 @@ struct jornada_ts {
>>  static void jornada720_ts_collect_data(struct jornada_ts *jornada_ts)
>>  {
>>
>> -    /* 3 low word X samples */
>> -    jornada_ts->x_data[0] = jornada_ssp_byte(TXDUMMY);
>> -    jornada_ts->x_data[1] = jornada_ssp_byte(TXDUMMY);
>> -    jornada_ts->x_data[2] = jornada_ssp_byte(TXDUMMY);
>> +     /* 3 low word X samples */
>> +     jornada_ts->x_data[0] = jornada_ssp_byte(TXDUMMY);
>> +     jornada_ts->x_data[1] = jornada_ssp_byte(TXDUMMY);
>> +     jornada_ts->x_data[2] = jornada_ssp_byte(TXDUMMY);
>
> Please don't mix pure whitespace changes with technical changes.
> While I can't fault you for wanting to get rid of the 4 space
> tabs, it makes review more complicated when they are mixed in
> a single commit.

Thanks for highlighting that. Will send two patches then.

>
> P.
> --
>
>>
>> -    /* 3 low word Y samples */
>> -    jornada_ts->y_data[0] = jornada_ssp_byte(TXDUMMY);
>> -    jornada_ts->y_data[1] = jornada_ssp_byte(TXDUMMY);
>> -    jornada_ts->y_data[2] = jornada_ssp_byte(TXDUMMY);
>> +     /* 3 low word Y samples */
>> +     jornada_ts->y_data[0] = jornada_ssp_byte(TXDUMMY);
>> +     jornada_ts->y_data[1] = jornada_ssp_byte(TXDUMMY);
>> +     jornada_ts->y_data[2] = jornada_ssp_byte(TXDUMMY);
>>
>> -    /* combined x samples bits */
>> -    jornada_ts->x_data[3] = jornada_ssp_byte(TXDUMMY);
>> +     /* combined x samples bits */
>> +     jornada_ts->x_data[3] = jornada_ssp_byte(TXDUMMY);
>>
>> -    /* combined y samples bits */
>> -    jornada_ts->y_data[3] = jornada_ssp_byte(TXDUMMY);
>> +     /* combined y samples bits */
>> +     jornada_ts->y_data[3] = jornada_ssp_byte(TXDUMMY);
>>  }
>>
>>  static int jornada720_ts_average(int coords[4])
>> @@ -104,13 +104,10 @@ static int jornada720_ts_probe(struct platform_device *pdev)
>>       struct input_dev *input_dev;
>>       int error;
>>
>> -     jornada_ts = kzalloc(sizeof(struct jornada_ts), GFP_KERNEL);
>> -     input_dev = input_allocate_device();
>> -
>> -     if (!jornada_ts || !input_dev) {
>> -             error = -ENOMEM;
>> -             goto fail1;
>> -     }
>> +     jornada_ts = devm_kzalloc(&pdev->dev, sizeof(*jornada_ts), GFP_KERNEL);
>> +     input_dev = devm_input_allocate_device(&pdev->dev);
>> +     if (!jornada_ts || !input_dev)
>> +             return -ENOMEM;
>>
>>       platform_set_drvdata(pdev, jornada_ts);
>>
>> @@ -126,36 +123,18 @@ static int jornada720_ts_probe(struct platform_device *pdev)
>>       input_set_abs_params(input_dev, ABS_X, 270, 3900, 0, 0);
>>       input_set_abs_params(input_dev, ABS_Y, 180, 3700, 0, 0);
>>
>> -     error = request_irq(IRQ_GPIO9,
>> +     error = devm_request_irq(&pdev->dev, IRQ_GPIO9,
>>                       jornada720_ts_interrupt,
>>                       IRQF_TRIGGER_RISING,
>>                       "HP7XX Touchscreen driver", pdev);
>>       if (error) {
>> -             printk(KERN_INFO "HP7XX TS : Unable to acquire irq!\n");
>> -             goto fail1;
>> +             dev_err(&pdev->dev, "HP7XX TS : Unable to acquire irq!\n");
>> +             return error;
>>       }
>>
>>       error = input_register_device(jornada_ts->dev);
>>       if (error)
>> -             goto fail2;
>> -
>> -     return 0;
>> -
>> - fail2:
>> -     free_irq(IRQ_GPIO9, pdev);
>> - fail1:
>> -     input_free_device(input_dev);
>> -     kfree(jornada_ts);
>> -     return error;
>> -}
>> -
>> -static int jornada720_ts_remove(struct platform_device *pdev)
>> -{
>> -     struct jornada_ts *jornada_ts = platform_get_drvdata(pdev);
>> -
>> -     free_irq(IRQ_GPIO9, pdev);
>> -     input_unregister_device(jornada_ts->dev);
>> -     kfree(jornada_ts);
>> +             return error;
>>
>>       return 0;
>>  }
>> @@ -165,7 +144,6 @@ MODULE_ALIAS("platform:jornada_ts");
>>
>>  static struct platform_driver jornada720_ts_driver = {
>>       .probe          = jornada720_ts_probe,
>> -     .remove         = jornada720_ts_remove,
>>       .driver         = {
>>               .name   = "jornada_ts",
>>               .owner  = THIS_MODULE,
>>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-input" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



-- 
Thanks and Regards
Pramod

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

end of thread, other threads:[~2014-07-30 13:28 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-30 12:09 [PATCH] Input: jornada720_ts: Switch to using Managed resources Pramod Gurav
2014-07-30 13:18 ` Paul Gortmaker
2014-07-30 13:28   ` Pramod Gurav

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