diff mbox

extcon: Fix return value in extcon_register_interest()

Message ID 5061882D.2080804@samsung.com
State New
Headers show

Commit Message

Chanwoo Choi Sept. 25, 2012, 10:32 a.m. UTC
On 09/25/2012 03:58 PM, Sachin Kamat wrote:

> Return the value obtained from extcon_find_cable_index()
> instead of -ENODEV.
> 
> Fixes the following smatch info:
> drivers/extcon/extcon-class.c:478 extcon_register_interest() info:
> why not propagate 'obj->cable_index' from extcon_find_cable_index()
> instead of -19?
> 
> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
> ---
>  drivers/extcon/extcon-class.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/extcon/extcon-class.c b/drivers/extcon/extcon-class.c
> index 946a318..e996800 100644
> --- a/drivers/extcon/extcon-class.c
> +++ b/drivers/extcon/extcon-class.c
> @@ -475,7 +475,7 @@ int extcon_register_interest(struct extcon_specific_cable_nb *obj,
>  
>  	obj->cable_index = extcon_find_cable_index(obj->edev, cable_name);
>  	if (obj->cable_index < 0)
> -		return -ENODEV;
> +		return obj->cable_index;
>  
>  	obj->user_nb = nb;
>  


I agree.
But, if extcon_register_interest() return directly 'obj-cable_index' value
when extcon_find_cable_index() return -EINVAL, it would spoil readability
of extcon_register_interest() function. So, I think we can make it as
following
patch  a little better.

---



Thanks,
Chanwoo Choi

Comments

Sachin Kamat Sept. 25, 2012, 10:44 a.m. UTC | #1
On 25 September 2012 16:02, Chanwoo Choi <cw00.choi@samsung.com> wrote:
> On 09/25/2012 03:58 PM, Sachin Kamat wrote:
>
>> Return the value obtained from extcon_find_cable_index()
>> instead of -ENODEV.
>>
>> Fixes the following smatch info:
>> drivers/extcon/extcon-class.c:478 extcon_register_interest() info:
>> why not propagate 'obj->cable_index' from extcon_find_cable_index()
>> instead of -19?
>>
>> Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
>> ---
>>  drivers/extcon/extcon-class.c |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/extcon/extcon-class.c b/drivers/extcon/extcon-class.c
>> index 946a318..e996800 100644
>> --- a/drivers/extcon/extcon-class.c
>> +++ b/drivers/extcon/extcon-class.c
>> @@ -475,7 +475,7 @@ int extcon_register_interest(struct extcon_specific_cable_nb *obj,
>>
>>       obj->cable_index = extcon_find_cable_index(obj->edev, cable_name);
>>       if (obj->cable_index < 0)
>> -             return -ENODEV;
>> +             return obj->cable_index;
>>
>>       obj->user_nb = nb;
>>
>
>
> I agree.
> But, if extcon_register_interest() return directly 'obj-cable_index' value
> when extcon_find_cable_index() return -EINVAL, it would spoil readability
> of extcon_register_interest() function. So, I think we can make it as
> following
> patch  a little better.

Ok. I will re-send this with this change.

>
> ---
> diff --git a/drivers/extcon/extcon-class.c b/drivers/extcon/extcon-class.c
> index 936580b..078e6a5 100644
> --- a/drivers/extcon/extcon-class.c
> +++ b/drivers/extcon/extcon-class.c
> @@ -468,7 +468,7 @@ int extcon_register_interest(struct
> extcon_specific_cable_nb *obj,
>
>         obj->cable_index = extcon_find_cable_index(obj->edev, cable_name);
>         if (obj->cable_index < 0)
> -               return -ENODEV;
> +               return -EINVAL;
>
>         obj->user_nb = nb;
>
>
>
> Thanks,
> Chanwoo Choi
diff mbox

Patch

diff --git a/drivers/extcon/extcon-class.c b/drivers/extcon/extcon-class.c
index 936580b..078e6a5 100644
--- a/drivers/extcon/extcon-class.c
+++ b/drivers/extcon/extcon-class.c
@@ -468,7 +468,7 @@  int extcon_register_interest(struct
extcon_specific_cable_nb *obj,

        obj->cable_index = extcon_find_cable_index(obj->edev, cable_name);
        if (obj->cable_index < 0)
-               return -ENODEV;
+               return -EINVAL;

        obj->user_nb = nb;