linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCHv2 1/2] ads7846: OMAP3: Removal of warnings backtrace in bootup
@ 2011-02-03  9:48 Sourav Poddar
  2011-02-03 10:10 ` Igor Grinberg
  0 siblings, 1 reply; 10+ messages in thread
From: Sourav Poddar @ 2011-02-03  9:48 UTC (permalink / raw)
  To: dmitry.torokhov
  Cc: linux-omap, linux-arm-kernel, charu, gadiyar, linux-input, balbi,
	Sourav Poddar, Kishon Vijay Abraham I

gpio_pendown in ads7846_probe is not getting initalized (defaulted to 0)
resulting in gpio_free to be called without a gpio_request. This
results in the following backtrace in bootup.

------------[ cut here ]------------
WARNING: at drivers/gpio/gpiolib.c:1258 gpio_free+0x100/0x12c()
Modules linked in:
[<c0061208>] (unwind_backtrace+0x0/0xe4) from [<c0091f58>]
	(warn_slowpath_common+0x4c/0x64)
[<c0091f58>] (warn_slowpath_common+0x4c/0x64) from [<c0091f88>]
	(warn_slowpath_null+0x18/0x1c)
[<c0091f88>] (warn_slowpath_null+0x18/0x1c) from [<c024e610>]
	(gpio_free+0x100/0x12c)
[<c024e610>] (gpio_free+0x100/0x12c) from [<c03e9fbc>]
	(ads7846_probe+0xa38/0xc5c)
[<c03e9fbc>] (ads7846_probe+0xa38/0xc5c) from [<c02cff14>]
	(spi_drv_probe+0x18/0x1c)
[<c02cff14>] (spi_drv_probe+0x18/0x1c) from [<c028bca4>]
	(driver_probe_device+0xc8/0x184)
[<c028bca4>] (driver_probe_device+0xc8/0x184) from [<c028bdc8>]
	(__driver_attach+0x68/0x8c)
[<c028bdc8>] (__driver_attach+0x68/0x8c) from [<c028b4c8>]
	(bus_for_each_dev+0x48/0x74)
[<c028b4c8>] (bus_for_each_dev+0x48/0x74) from [<c028ae08>]
	(bus_add_driver+0xa0/0x220)
[<c028ae08>] (bus_add_driver+0xa0/0x220) from [<c028c0c0>]
	(driver_register+0xa8/0x134)
[<c028c0c0>] (driver_register+0xa8/0x134) from [<c0050550>]
	(do_one_initcall+0xcc/0x1a4)
[<c0050550>] (do_one_initcall+0xcc/0x1a4) from [<c00084e4>]
	(kernel_init+0x14c/0x214)
[<c00084e4>] (kernel_init+0x14c/0x214) from [<c005b494>]
	(kernel_thread_exit+0x0/0x8)
---[ end trace 4053287f8a5ec18f ]---

Initializing gpio_pendown in ads7846_probe to -1 before
ads7846_setup_pendown function removes the above backtrace
warning.

Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
---
 drivers/input/touchscreen/ads7846.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
index 14ea54b..036f245 100644
--- a/drivers/input/touchscreen/ads7846.c
+++ b/drivers/input/touchscreen/ads7846.c
@@ -1221,6 +1221,7 @@ static int __devinit ads7846_probe(struct spi_device *spi)
 	ts->input = input_dev;
 	ts->vref_mv = pdata->vref_mv;
 	ts->swap_xy = pdata->swap_xy;
+	ts->gpio_pendown = -1;
 
 	mutex_init(&ts->lock);
 	init_waitqueue_head(&ts->wait);
-- 
1.7.0.4


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

* Re: [PATCHv2 1/2] ads7846: OMAP3: Removal of warnings backtrace in bootup
  2011-02-03  9:48 [PATCHv2 1/2] ads7846: OMAP3: Removal of warnings backtrace in bootup Sourav Poddar
@ 2011-02-03 10:10 ` Igor Grinberg
  2011-02-03 10:17   ` Igor Grinberg
  0 siblings, 1 reply; 10+ messages in thread
From: Igor Grinberg @ 2011-02-03 10:10 UTC (permalink / raw)
  To: Sourav Poddar
  Cc: dmitry.torokhov, balbi, Kishon Vijay Abraham I, charu,
	linux-input, linux-omap, linux-arm-kernel, gadiyar

Hi,

On 02/03/11 11:48, Sourav Poddar wrote:

> gpio_pendown in ads7846_probe is not getting initalized (defaulted to 0)
> resulting in gpio_free to be called without a gpio_request. This
> results in the following backtrace in bootup.
>
> ------------[ cut here ]------------
> WARNING: at drivers/gpio/gpiolib.c:1258 gpio_free+0x100/0x12c()
> Modules linked in:
> [<c0061208>] (unwind_backtrace+0x0/0xe4) from [<c0091f58>]
> 	(warn_slowpath_common+0x4c/0x64)
> [<c0091f58>] (warn_slowpath_common+0x4c/0x64) from [<c0091f88>]
> 	(warn_slowpath_null+0x18/0x1c)
> [<c0091f88>] (warn_slowpath_null+0x18/0x1c) from [<c024e610>]
> 	(gpio_free+0x100/0x12c)
> [<c024e610>] (gpio_free+0x100/0x12c) from [<c03e9fbc>]
> 	(ads7846_probe+0xa38/0xc5c)
> [<c03e9fbc>] (ads7846_probe+0xa38/0xc5c) from [<c02cff14>]
> 	(spi_drv_probe+0x18/0x1c)
> [<c02cff14>] (spi_drv_probe+0x18/0x1c) from [<c028bca4>]
> 	(driver_probe_device+0xc8/0x184)
> [<c028bca4>] (driver_probe_device+0xc8/0x184) from [<c028bdc8>]
> 	(__driver_attach+0x68/0x8c)
> [<c028bdc8>] (__driver_attach+0x68/0x8c) from [<c028b4c8>]
> 	(bus_for_each_dev+0x48/0x74)
> [<c028b4c8>] (bus_for_each_dev+0x48/0x74) from [<c028ae08>]
> 	(bus_add_driver+0xa0/0x220)
> [<c028ae08>] (bus_add_driver+0xa0/0x220) from [<c028c0c0>]
> 	(driver_register+0xa8/0x134)
> [<c028c0c0>] (driver_register+0xa8/0x134) from [<c0050550>]
> 	(do_one_initcall+0xcc/0x1a4)
> [<c0050550>] (do_one_initcall+0xcc/0x1a4) from [<c00084e4>]
> 	(kernel_init+0x14c/0x214)
> [<c00084e4>] (kernel_init+0x14c/0x214) from [<c005b494>]
> 	(kernel_thread_exit+0x0/0x8)
> ---[ end trace 4053287f8a5ec18f ]---
>
> Initializing gpio_pendown in ads7846_probe to -1 before
> ads7846_setup_pendown function removes the above backtrace
> warning.
>
> Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
> ---
>  drivers/input/touchscreen/ads7846.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
> index 14ea54b..036f245 100644
> --- a/drivers/input/touchscreen/ads7846.c
> +++ b/drivers/input/touchscreen/ads7846.c
> @@ -1221,6 +1221,7 @@ static int __devinit ads7846_probe(struct spi_device *spi)
>  	ts->input = input_dev;
>  	ts->vref_mv = pdata->vref_mv;
>  	ts->swap_xy = pdata->swap_xy;
> +	ts->gpio_pendown = -1;

Wouldn't it be better putting this into ads7846_setup_pendown() function?
This will keep the whole gpio_pendown initialization code close together.
Something like:

if (pdata->get_pendown_state) {
<http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/touchscreen/ads7846.c;h=14ea54b78e4648b0ac8a3403440f6f5d120dfdd9;hb=HEAD#l954>        ts->get_pendown_state = pdata->get_pendown_state;
        ts->gpio_pendown = -1;
<http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/touchscreen/ads7846.c;h=14ea54b78e4648b0ac8a3403440f6f5d120dfdd9;hb=HEAD#l955>        return 0;
<http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/touchscreen/ads7846.c;h=14ea54b78e4648b0ac8a3403440f6f5d120dfdd9;hb=HEAD#l956>}


Also, why don't we use -EINVAL for the invalid gpio number instead of -1 constant?

>  
>  	mutex_init(&ts->lock);
>  	init_waitqueue_head(&ts->wait);

-- 
Regards,
Igor.


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

* Re: [PATCHv2 1/2] ads7846: OMAP3: Removal of warnings backtrace in bootup
  2011-02-03 10:10 ` Igor Grinberg
@ 2011-02-03 10:17   ` Igor Grinberg
  2011-02-03 11:00     ` Poddar, Sourav
  0 siblings, 1 reply; 10+ messages in thread
From: Igor Grinberg @ 2011-02-03 10:17 UTC (permalink / raw)
  To: Sourav Poddar
  Cc: dmitry.torokhov, balbi, Kishon Vijay Abraham I, charu,
	linux-input, linux-omap, linux-arm-kernel, gadiyar

Hi again,

On 02/03/11 12:10, Igor Grinberg wrote:

> Hi,
>
> On 02/03/11 11:48, Sourav Poddar wrote:
>
>> gpio_pendown in ads7846_probe is not getting initalized (defaulted to 0)
>> resulting in gpio_free to be called without a gpio_request. This
>> results in the following backtrace in bootup.
>>
>> ------------[ cut here ]------------
>> WARNING: at drivers/gpio/gpiolib.c:1258 gpio_free+0x100/0x12c()
>> Modules linked in:
>> [<c0061208>] (unwind_backtrace+0x0/0xe4) from [<c0091f58>]
>> 	(warn_slowpath_common+0x4c/0x64)
>> [<c0091f58>] (warn_slowpath_common+0x4c/0x64) from [<c0091f88>]
>> 	(warn_slowpath_null+0x18/0x1c)
>> [<c0091f88>] (warn_slowpath_null+0x18/0x1c) from [<c024e610>]
>> 	(gpio_free+0x100/0x12c)
>> [<c024e610>] (gpio_free+0x100/0x12c) from [<c03e9fbc>]
>> 	(ads7846_probe+0xa38/0xc5c)
>> [<c03e9fbc>] (ads7846_probe+0xa38/0xc5c) from [<c02cff14>]
>> 	(spi_drv_probe+0x18/0x1c)
>> [<c02cff14>] (spi_drv_probe+0x18/0x1c) from [<c028bca4>]
>> 	(driver_probe_device+0xc8/0x184)
>> [<c028bca4>] (driver_probe_device+0xc8/0x184) from [<c028bdc8>]
>> 	(__driver_attach+0x68/0x8c)
>> [<c028bdc8>] (__driver_attach+0x68/0x8c) from [<c028b4c8>]
>> 	(bus_for_each_dev+0x48/0x74)
>> [<c028b4c8>] (bus_for_each_dev+0x48/0x74) from [<c028ae08>]
>> 	(bus_add_driver+0xa0/0x220)
>> [<c028ae08>] (bus_add_driver+0xa0/0x220) from [<c028c0c0>]
>> 	(driver_register+0xa8/0x134)
>> [<c028c0c0>] (driver_register+0xa8/0x134) from [<c0050550>]
>> 	(do_one_initcall+0xcc/0x1a4)
>> [<c0050550>] (do_one_initcall+0xcc/0x1a4) from [<c00084e4>]
>> 	(kernel_init+0x14c/0x214)
>> [<c00084e4>] (kernel_init+0x14c/0x214) from [<c005b494>]
>> 	(kernel_thread_exit+0x0/0x8)
>> ---[ end trace 4053287f8a5ec18f ]---
>>
>> Initializing gpio_pendown in ads7846_probe to -1 before
>> ads7846_setup_pendown function removes the above backtrace
>> warning.
>>
>> Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
>> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
>> ---
>>  drivers/input/touchscreen/ads7846.c |    1 +
>>  1 files changed, 1 insertions(+), 0 deletions(-)
>>
>> diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
>> index 14ea54b..036f245 100644
>> --- a/drivers/input/touchscreen/ads7846.c
>> +++ b/drivers/input/touchscreen/ads7846.c
>> @@ -1221,6 +1221,7 @@ static int __devinit ads7846_probe(struct spi_device *spi)
>>  	ts->input = input_dev;
>>  	ts->vref_mv = pdata->vref_mv;
>>  	ts->swap_xy = pdata->swap_xy;
>> +	ts->gpio_pendown = -1;
> Wouldn't it be better putting this into ads7846_setup_pendown() function?
> This will keep the whole gpio_pendown initialization code close together.
> Something like:
>
> if (pdata->get_pendown_state) {
> <http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/touchscreen/ads7846.c;h=14ea54b78e4648b0ac8a3403440f6f5d120dfdd9;hb=HEAD#l954>        ts->get_pendown_state = pdata->get_pendown_state;
>         ts->gpio_pendown = -1;
> <http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/touchscreen/ads7846.c;h=14ea54b78e4648b0ac8a3403440f6f5d120dfdd9;hb=HEAD#l955>        return 0;
> <http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/touchscreen/ads7846.c;h=14ea54b78e4648b0ac8a3403440f6f5d120dfdd9;hb=HEAD#l956>}

Sorry for the above links (this is embarrassing, but I've got played by my email client),
I meant of course:

if (pdata->get_pendown_state) {
        ts->get_pendown_state = pdata->get_pendown_state;
        ts->gpio_pendown = -1;
        return 0;
}


>
> Also, why don't we use -EINVAL for the invalid gpio number instead of -1 constant?
>
>>  
>>  	mutex_init(&ts->lock);
>>  	init_waitqueue_head(&ts->wait);

-- 
Regards,
Igor.


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

* Re: [PATCHv2 1/2] ads7846: OMAP3: Removal of warnings backtrace in bootup
  2011-02-03 10:17   ` Igor Grinberg
@ 2011-02-03 11:00     ` Poddar, Sourav
  2011-02-03 11:09       ` Felipe Balbi
  2011-02-03 11:12       ` Igor Grinberg
  0 siblings, 2 replies; 10+ messages in thread
From: Poddar, Sourav @ 2011-02-03 11:00 UTC (permalink / raw)
  To: Igor Grinberg
  Cc: dmitry.torokhov, balbi, Kishon Vijay Abraham I, charu,
	linux-input, linux-omap, linux-arm-kernel, gadiyar

On Thu, Feb 3, 2011 at 3:47 PM, Igor Grinberg <grinberg@compulab.co.il> wrote:
> Hi again,
>
> On 02/03/11 12:10, Igor Grinberg wrote:
>
>> Hi,
>>
>> On 02/03/11 11:48, Sourav Poddar wrote:
>>
>>> gpio_pendown in ads7846_probe is not getting initalized (defaulted to 0)
>>> resulting in gpio_free to be called without a gpio_request. This
>>> results in the following backtrace in bootup.
>>>
>>> ------------[ cut here ]------------
>>> WARNING: at drivers/gpio/gpiolib.c:1258 gpio_free+0x100/0x12c()
>>> Modules linked in:
>>> [<c0061208>] (unwind_backtrace+0x0/0xe4) from [<c0091f58>]
>>>      (warn_slowpath_common+0x4c/0x64)
>>> [<c0091f58>] (warn_slowpath_common+0x4c/0x64) from [<c0091f88>]
>>>      (warn_slowpath_null+0x18/0x1c)
>>> [<c0091f88>] (warn_slowpath_null+0x18/0x1c) from [<c024e610>]
>>>      (gpio_free+0x100/0x12c)
>>> [<c024e610>] (gpio_free+0x100/0x12c) from [<c03e9fbc>]
>>>      (ads7846_probe+0xa38/0xc5c)
>>> [<c03e9fbc>] (ads7846_probe+0xa38/0xc5c) from [<c02cff14>]
>>>      (spi_drv_probe+0x18/0x1c)
>>> [<c02cff14>] (spi_drv_probe+0x18/0x1c) from [<c028bca4>]
>>>      (driver_probe_device+0xc8/0x184)
>>> [<c028bca4>] (driver_probe_device+0xc8/0x184) from [<c028bdc8>]
>>>      (__driver_attach+0x68/0x8c)
>>> [<c028bdc8>] (__driver_attach+0x68/0x8c) from [<c028b4c8>]
>>>      (bus_for_each_dev+0x48/0x74)
>>> [<c028b4c8>] (bus_for_each_dev+0x48/0x74) from [<c028ae08>]
>>>      (bus_add_driver+0xa0/0x220)
>>> [<c028ae08>] (bus_add_driver+0xa0/0x220) from [<c028c0c0>]
>>>      (driver_register+0xa8/0x134)
>>> [<c028c0c0>] (driver_register+0xa8/0x134) from [<c0050550>]
>>>      (do_one_initcall+0xcc/0x1a4)
>>> [<c0050550>] (do_one_initcall+0xcc/0x1a4) from [<c00084e4>]
>>>      (kernel_init+0x14c/0x214)
>>> [<c00084e4>] (kernel_init+0x14c/0x214) from [<c005b494>]
>>>      (kernel_thread_exit+0x0/0x8)
>>> ---[ end trace 4053287f8a5ec18f ]---
>>>
>>> Initializing gpio_pendown in ads7846_probe to -1 before
>>> ads7846_setup_pendown function removes the above backtrace
>>> warning.
>>>
>>> Signed-off-by: Sourav Poddar <sourav.poddar@ti.com>
>>> Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
>>> ---
>>>  drivers/input/touchscreen/ads7846.c |    1 +
>>>  1 files changed, 1 insertions(+), 0 deletions(-)
>>>
>>> diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c
>>> index 14ea54b..036f245 100644
>>> --- a/drivers/input/touchscreen/ads7846.c
>>> +++ b/drivers/input/touchscreen/ads7846.c
>>> @@ -1221,6 +1221,7 @@ static int __devinit ads7846_probe(struct spi_device *spi)
>>>      ts->input = input_dev;
>>>      ts->vref_mv = pdata->vref_mv;
>>>      ts->swap_xy = pdata->swap_xy;
>>> +    ts->gpio_pendown = -1;
>> Wouldn't it be better putting this into ads7846_setup_pendown() function?
>> This will keep the whole gpio_pendown initialization code close together.
>> Something like:
>>
>> if (pdata->get_pendown_state) {
>> <http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/touchscreen/ads7846.c;h=14ea54b78e4648b0ac8a3403440f6f5d120dfdd9;hb=HEAD#l954>        ts->get_pendown_state = pdata->get_pendown_state;
>>         ts->gpio_pendown = -1;
>> <http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/touchscreen/ads7846.c;h=14ea54b78e4648b0ac8a3403440f6f5d120dfdd9;hb=HEAD#l955>        return 0;
>> <http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=drivers/input/touchscreen/ads7846.c;h=14ea54b78e4648b0ac8a3403440f6f5d120dfdd9;hb=HEAD#l956>}
>
> Sorry for the above links (this is embarrassing, but I've got played by my email client),
> I meant of course:
>
> if (pdata->get_pendown_state) {
>        ts->get_pendown_state = pdata->get_pendown_state;
>        ts->gpio_pendown = -1;
>        return 0;
> }
>

Yes we can do so .I initialise it at a place where other variables
 where initialised.


>>
>> Also, why don't we use -EINVAL for the invalid gpio number instead of -1 constant?
>>

 I used -1 because conditional check done in probe ads7846_probe function
 used this value.

  err_free_gpio:
        if (ts->gpio_pendown != -1)
                gpio_free(ts->gpio_pendown);
--
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

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

* Re: [PATCHv2 1/2] ads7846: OMAP3: Removal of warnings backtrace in bootup
  2011-02-03 11:00     ` Poddar, Sourav
@ 2011-02-03 11:09       ` Felipe Balbi
  2011-02-03 11:12       ` Igor Grinberg
  1 sibling, 0 replies; 10+ messages in thread
From: Felipe Balbi @ 2011-02-03 11:09 UTC (permalink / raw)
  To: Poddar, Sourav
  Cc: Igor Grinberg, dmitry.torokhov, balbi, Kishon Vijay Abraham I,
	charu, linux-input, linux-omap, linux-arm-kernel, gadiyar

Hi,

On Thu, Feb 03, 2011 at 04:30:29PM +0530, Poddar, Sourav wrote:
>  I used -1 because conditional check done in probe ads7846_probe function
>  used this value.
> 
>   err_free_gpio:
>         if (ts->gpio_pendown != -1)
>                 gpio_free(ts->gpio_pendown);

you can actually change that (maybe on a later patch) to gpio_is_valid()

-- 
balbi

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

* Re: [PATCHv2 1/2] ads7846: OMAP3: Removal of warnings backtrace in bootup
  2011-02-03 11:00     ` Poddar, Sourav
  2011-02-03 11:09       ` Felipe Balbi
@ 2011-02-03 11:12       ` Igor Grinberg
  2011-02-03 11:28         ` ABRAHAM, KISHON VIJAY
  2011-02-03 11:32         ` Lothar Waßmann
  1 sibling, 2 replies; 10+ messages in thread
From: Igor Grinberg @ 2011-02-03 11:12 UTC (permalink / raw)
  To: Poddar, Sourav
  Cc: dmitry.torokhov, balbi, Kishon Vijay Abraham I, charu,
	linux-input, linux-omap, linux-arm-kernel, gadiyar



On 02/03/11 13:00, Poddar, Sourav wrote:

> On Thu, Feb 3, 2011 at 3:47 PM, Igor Grinberg <grinberg@compulab.co.il> wrote:
>> if (pdata->get_pendown_state) {
>>        ts->get_pendown_state = pdata->get_pendown_state;
>>        ts->gpio_pendown = -1;
>>        return 0;
>> }
> Yes we can do so .I initialise it at a place where other variables
>  where initialised.
>
>>> Also, why don't we use -EINVAL for the invalid gpio number instead of -1 constant?
>>>
>  I used -1 because conditional check done in probe ads7846_probe function
>  used this value.
>
>   err_free_gpio:
>         if (ts->gpio_pendown != -1)
>                 gpio_free(ts->gpio_pendown);
>

Well I understand that and that's why in my proposal I used -1 also, but
I thought we can make it even better if we switch to -EINVAL
(though wanted to check if there are any reasonable objections)
and while you are at this, may be you are willing also to submit a patch for this?

-- 
Regards,
Igor.


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

* Re: [PATCHv2 1/2] ads7846: OMAP3: Removal of warnings backtrace in bootup
  2011-02-03 11:12       ` Igor Grinberg
@ 2011-02-03 11:28         ` ABRAHAM, KISHON VIJAY
  2011-02-03 13:00           ` Igor Grinberg
  2011-02-03 11:32         ` Lothar Waßmann
  1 sibling, 1 reply; 10+ messages in thread
From: ABRAHAM, KISHON VIJAY @ 2011-02-03 11:28 UTC (permalink / raw)
  To: Igor Grinberg
  Cc: Poddar, Sourav, dmitry.torokhov, balbi, charu, linux-input,
	linux-omap, linux-arm-kernel, gadiyar

On Thu, Feb 3, 2011 at 4:42 PM, Igor Grinberg <grinberg@compulab.co.il> wrote:
>
>
> On 02/03/11 13:00, Poddar, Sourav wrote:
>
>> On Thu, Feb 3, 2011 at 3:47 PM, Igor Grinberg <grinberg@compulab.co.il> wrote:
>>> if (pdata->get_pendown_state) {
>>>        ts->get_pendown_state = pdata->get_pendown_state;
>>>        ts->gpio_pendown = -1;
>>>        return 0;
>>> }
>> Yes we can do so .I initialise it at a place where other variables
>>  where initialised.
>>
>>>> Also, why don't we use -EINVAL for the invalid gpio number instead of -1 constant?
>>>>
>>  I used -1 because conditional check done in probe ads7846_probe function
>>  used this value.
>>
>>   err_free_gpio:
>>         if (ts->gpio_pendown != -1)
>>                 gpio_free(ts->gpio_pendown);
>>
>
> Well I understand that and that's why in my proposal I used -1 also, but
> I thought we can make it even better if we switch to -EINVAL
> (though wanted to check if there are any reasonable objections)
> and while you are at this, may be you are willing also to submit a patch for this?

  I guess instead of -EINVAL, -EIO should be initialized to
ts->gpio_pendown since that
  would be more appropriate for gpio and as Balbi suggested it would
be better to use
  gpio_is_valid() for checking this error condition.

  -Kishon

>
> --
> Regards,
> Igor.
>
>
--
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

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

* Re: [PATCHv2 1/2] ads7846: OMAP3: Removal of warnings backtrace in bootup
  2011-02-03 11:12       ` Igor Grinberg
  2011-02-03 11:28         ` ABRAHAM, KISHON VIJAY
@ 2011-02-03 11:32         ` Lothar Waßmann
  2011-02-03 11:40           ` Poddar, Sourav
  1 sibling, 1 reply; 10+ messages in thread
From: Lothar Waßmann @ 2011-02-03 11:32 UTC (permalink / raw)
  To: Igor Grinberg
  Cc: dmitry.torokhov, balbi, Kishon Vijay Abraham I, charu,
	linux-input, Poddar, Sourav, linux-omap, linux-arm-kernel,
	gadiyar

Hi,

Igor Grinberg writes:
> 
> 
> On 02/03/11 13:00, Poddar, Sourav wrote:
> 
> > On Thu, Feb 3, 2011 at 3:47 PM, Igor Grinberg <grinberg@compulab.co.il> wrote:
> >> if (pdata->get_pendown_state) {
> >>        ts->get_pendown_state = pdata->get_pendown_state;
> >>        ts->gpio_pendown = -1;
> >>        return 0;
> >> }
> > Yes we can do so .I initialise it at a place where other variables
> >  where initialised.
> >
> >>> Also, why don't we use -EINVAL for the invalid gpio number instead of -1 constant?
> >>>
> >  I used -1 because conditional check done in probe ads7846_probe function
> >  used this value.
> >
> >   err_free_gpio:
> >         if (ts->gpio_pendown != -1)
> >                 gpio_free(ts->gpio_pendown);
> >
> 
> Well I understand that and that's why in my proposal I used -1 also, but
> I thought we can make it even better if we switch to -EINVAL
> (though wanted to check if there are any reasonable objections)
> and while you are at this, may be you are willing also to submit a patch for this?
> 
Since ts->gpio_pendown is used as a GPIO number, the check with
gpio_is_valid(), as suggested by Felipe Balbi, would be the most
sensible thing to do here.


Lothar Waßmann
-- 
___________________________________________________________

Ka-Ro electronics GmbH | Pascalstraße 22 | D - 52076 Aachen
Phone: +49 2408 1402-0 | Fax: +49 2408 1402-10
Geschäftsführer: Matthias Kaussen
Handelsregistereintrag: Amtsgericht Aachen, HRB 4996

www.karo-electronics.de | info@karo-electronics.de
___________________________________________________________

_______________________________________________
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] 10+ messages in thread

* Re: [PATCHv2 1/2] ads7846: OMAP3: Removal of warnings backtrace in bootup
  2011-02-03 11:32         ` Lothar Waßmann
@ 2011-02-03 11:40           ` Poddar, Sourav
  0 siblings, 0 replies; 10+ messages in thread
From: Poddar, Sourav @ 2011-02-03 11:40 UTC (permalink / raw)
  To: Lothar Waßmann
  Cc: Igor Grinberg, gadiyar, dmitry.torokhov, balbi,
	Kishon Vijay Abraham I, linux-input, linux-omap, linux-arm-kernel,
	charu

On Thu, Feb 3, 2011 at 5:02 PM, Lothar Waßmann <LW@karo-electronics.de> wrote:
> Hi,
>
> Igor Grinberg writes:
>>
>>
>> On 02/03/11 13:00, Poddar, Sourav wrote:
>>
>> > On Thu, Feb 3, 2011 at 3:47 PM, Igor Grinberg <grinberg@compulab.co.il> wrote:
>> >> if (pdata->get_pendown_state) {
>> >>        ts->get_pendown_state = pdata->get_pendown_state;
>> >>        ts->gpio_pendown = -1;
>> >>        return 0;
>> >> }
>> > Yes we can do so .I initialise it at a place where other variables
>> >  where initialised.
>> >
>> >>> Also, why don't we use -EINVAL for the invalid gpio number instead of -1 constant?
>> >>>
>> >  I used -1 because conditional check done in probe ads7846_probe function
>> >  used this value.
>> >
>> >   err_free_gpio:
>> >         if (ts->gpio_pendown != -1)
>> >                 gpio_free(ts->gpio_pendown);
>> >
>>
>> Well I understand that and that's why in my proposal I used -1 also, but
>> I thought we can make it even better if we switch to -EINVAL
>> (though wanted to check if there are any reasonable objections)
>> and while you are at this, may be you are willing also to submit a patch for this?
>>
> Since ts->gpio_pendown is used as a GPIO number, the check with
> gpio_is_valid(), as suggested by Felipe Balbi, would be the most
> sensible thing to do here.
>

Yes,it seems gpio_is_valid() would be more sensible to use.
 Will post a patch using gpio_is_valid() asap.
--
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

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

* Re: [PATCHv2 1/2] ads7846: OMAP3: Removal of warnings backtrace in bootup
  2011-02-03 11:28         ` ABRAHAM, KISHON VIJAY
@ 2011-02-03 13:00           ` Igor Grinberg
  0 siblings, 0 replies; 10+ messages in thread
From: Igor Grinberg @ 2011-02-03 13:00 UTC (permalink / raw)
  To: ABRAHAM, KISHON VIJAY
  Cc: gadiyar, dmitry.torokhov, balbi, linux-input, Poddar, Sourav,
	linux-omap, linux-arm-kernel, charu, LW

Hi,

On 02/03/11 13:28, ABRAHAM, KISHON VIJAY wrote:

> On Thu, Feb 3, 2011 at 4:42 PM, Igor Grinberg <grinberg@compulab.co.il> wrote:
>>
>> On 02/03/11 13:00, Poddar, Sourav wrote:
>>
>>> On Thu, Feb 3, 2011 at 3:47 PM, Igor Grinberg <grinberg@compulab.co.il> wrote:
>>>> if (pdata->get_pendown_state) {
>>>>        ts->get_pendown_state = pdata->get_pendown_state;
>>>>        ts->gpio_pendown = -1;
>>>>        return 0;
>>>> }
>>> Yes we can do so .I initialise it at a place where other variables
>>>  where initialised.
>>>
>>>>> Also, why don't we use -EINVAL for the invalid gpio number instead of -1 constant?
>>>>>
>>>  I used -1 because conditional check done in probe ads7846_probe function
>>>  used this value.
>>>
>>>   err_free_gpio:
>>>         if (ts->gpio_pendown != -1)
>>>                 gpio_free(ts->gpio_pendown);
>>>
>> Well I understand that and that's why in my proposal I used -1 also, but
>> I thought we can make it even better if we switch to -EINVAL
>> (though wanted to check if there are any reasonable objections)
>> and while you are at this, may be you are willing also to submit a patch for this?
>   I guess instead of -EINVAL, -EIO should be initialized to
> ts->gpio_pendown since that
>   would be more appropriate for gpio

Well, the common practice is to use -EINVAL for gpio _numbers_,
I have not seen anyone using -EIO for this.

>  and as Balbi suggested it would
> be better to use
>   gpio_is_valid() for checking this error condition.

Of course gpio_is_valid() should be used for testing the gpio.
The -EINVAL in turn should be used for _setting_ the invalid value for that gpio.
My suggestion for -EINVAL is related to the initialization:

if (pdata->get_pendown_state) {
       ts->get_pendown_state = pdata->get_pendown_state;
       ts->gpio_pendown = -EINVAL;
       return 0;
}


-- 
Regards,
Igor.


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

end of thread, other threads:[~2011-02-03 13:00 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-02-03  9:48 [PATCHv2 1/2] ads7846: OMAP3: Removal of warnings backtrace in bootup Sourav Poddar
2011-02-03 10:10 ` Igor Grinberg
2011-02-03 10:17   ` Igor Grinberg
2011-02-03 11:00     ` Poddar, Sourav
2011-02-03 11:09       ` Felipe Balbi
2011-02-03 11:12       ` Igor Grinberg
2011-02-03 11:28         ` ABRAHAM, KISHON VIJAY
2011-02-03 13:00           ` Igor Grinberg
2011-02-03 11:32         ` Lothar Waßmann
2011-02-03 11:40           ` Poddar, Sourav

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