Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1291079 > unrolled thread

Re: [PATCH 11/19] clocksource: fix __ftm_clk_init result

Started byAndrzej Hajda <a.hajda@samsung.com>
First post2015-12-14 11:40 +0100
Last post2015-12-14 14:30 +0100
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 11/19] clocksource: fix __ftm_clk_init result Andrzej Hajda <a.hajda@samsung.com> - 2015-12-14 11:40 +0100
    Re: [PATCH 11/19] clocksource: fix __ftm_clk_init result Daniel Lezcano <daniel.lezcano@linaro.org> - 2015-12-14 14:30 +0100

#1291079 — Re: [PATCH 11/19] clocksource: fix __ftm_clk_init result

FromAndrzej Hajda <a.hajda@samsung.com>
Date2015-12-14 11:40 +0100
SubjectRe: [PATCH 11/19] clocksource: fix __ftm_clk_init result
Message-ID<qFyHU-4U5-35@gated-at.bofh.it>
Hi,

Ping.

Regards
Andrzej

On 09/24/2015 04:00 PM, Andrzej Hajda wrote:
> The function tries to return clock frequency (unsigned long) or error
> (int < 0). Using int as a result could be dangerous. On the other side
> caller is not interested in error value, so the best solution is to
> return frequency or zero in case of error, for this unsigned long is OK.
>
> The problem has been detected using proposed semantic patch
> scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1].
>
> [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107
>
> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
> ---
> Hi,
>
> To avoid problems with too many mail recipients I have sent whole
> patchset only to LKML. Anyway patches have no dependencies.
>
> Regards
> Andrzej
> ---
>  drivers/clocksource/fsl_ftm_timer.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/clocksource/fsl_ftm_timer.c b/drivers/clocksource/fsl_ftm_timer.c
> index ef43469..11a7ae7 100644
> --- a/drivers/clocksource/fsl_ftm_timer.c
> +++ b/drivers/clocksource/fsl_ftm_timer.c
> @@ -248,7 +248,7 @@ static int __init ftm_clocksource_init(unsigned long freq)
>  	return 0;
>  }
>  
> -static int __init __ftm_clk_init(struct device_node *np, char *cnt_name,
> +static unsigned long __init __ftm_clk_init(struct device_node *np, char *cnt_name,
>  				 char *ftm_name)
>  {
>  	struct clk *clk;
> @@ -257,19 +257,19 @@ static int __init __ftm_clk_init(struct device_node *np, char *cnt_name,
>  	clk = of_clk_get_by_name(np, cnt_name);
>  	if (IS_ERR(clk)) {
>  		pr_err("ftm: Cannot get \"%s\": %ld\n", cnt_name, PTR_ERR(clk));
> -		return PTR_ERR(clk);
> +		return 0;
>  	}
>  	err = clk_prepare_enable(clk);
>  	if (err) {
>  		pr_err("ftm: clock failed to prepare+enable \"%s\": %d\n",
>  			cnt_name, err);
> -		return err;
> +		return 0;
>  	}
>  
>  	clk = of_clk_get_by_name(np, ftm_name);
>  	if (IS_ERR(clk)) {
>  		pr_err("ftm: Cannot get \"%s\": %ld\n", ftm_name, PTR_ERR(clk));
> -		return PTR_ERR(clk);
> +		return 0;
>  	}
>  	err = clk_prepare_enable(clk);
>  	if (err)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1291187

FromDaniel Lezcano <daniel.lezcano@linaro.org>
Date2015-12-14 14:30 +0100
Message-ID<qFBmr-6GS-29@gated-at.bofh.it>
In reply to#1291079
On 12/14/2015 11:34 AM, Andrzej Hajda wrote:
> Hi,
>
> Ping.

[ ... ]

Please as you fix this, also fix the caller.

freq = __ftm_clk_init(np, "ftm-evt-counter-en", "ftm-evt");
-if (freq <= 0)
+if (!freq)

and, by the way, isn't there an issue if in the DT "ftm-src" is declared 
before "ftm-evt" ?


> On 09/24/2015 04:00 PM, Andrzej Hajda wrote:
>> The function tries to return clock frequency (unsigned long) or error
>> (int < 0). Using int as a result could be dangerous. On the other side
>> caller is not interested in error value, so the best solution is to
>> return frequency or zero in case of error, for this unsigned long is OK.
>>
>> The problem has been detected using proposed semantic patch
>> scripts/coccinelle/tests/assign_signed_to_unsigned.cocci [1].
>>
>> [1]: http://permalink.gmane.org/gmane.linux.kernel/2046107
>>
>> Signed-off-by: Andrzej Hajda <a.hajda@samsung.com>
>> ---
>> Hi,
>>
>> To avoid problems with too many mail recipients I have sent whole
>> patchset only to LKML. Anyway patches have no dependencies.
>>
>> Regards
>> Andrzej
>> ---
>>   drivers/clocksource/fsl_ftm_timer.c | 8 ++++----
>>   1 file changed, 4 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/clocksource/fsl_ftm_timer.c b/drivers/clocksource/fsl_ftm_timer.c
>> index ef43469..11a7ae7 100644
>> --- a/drivers/clocksource/fsl_ftm_timer.c
>> +++ b/drivers/clocksource/fsl_ftm_timer.c
>> @@ -248,7 +248,7 @@ static int __init ftm_clocksource_init(unsigned long freq)
>>   	return 0;
>>   }
>>
>> -static int __init __ftm_clk_init(struct device_node *np, char *cnt_name,
>> +static unsigned long __init __ftm_clk_init(struct device_node *np, char *cnt_name,
>>   				 char *ftm_name)
>>   {
>>   	struct clk *clk;
>> @@ -257,19 +257,19 @@ static int __init __ftm_clk_init(struct device_node *np, char *cnt_name,
>>   	clk = of_clk_get_by_name(np, cnt_name);
>>   	if (IS_ERR(clk)) {
>>   		pr_err("ftm: Cannot get \"%s\": %ld\n", cnt_name, PTR_ERR(clk));
>> -		return PTR_ERR(clk);
>> +		return 0;
>>   	}
>>   	err = clk_prepare_enable(clk);
>>   	if (err) {
>>   		pr_err("ftm: clock failed to prepare+enable \"%s\": %d\n",
>>   			cnt_name, err);
>> -		return err;
>> +		return 0;
>>   	}
>>
>>   	clk = of_clk_get_by_name(np, ftm_name);
>>   	if (IS_ERR(clk)) {
>>   		pr_err("ftm: Cannot get \"%s\": %ld\n", ftm_name, PTR_ERR(clk));
>> -		return PTR_ERR(clk);
>> +		return 0;
>>   	}
>>   	err = clk_prepare_enable(clk);
>>   	if (err)
>


-- 
  <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web