[PATCH v2] clk: fix clk_get_rate() documentation

Giulio Benetti giulio.benetti at benettiengineering.com
Sun Apr 4 20:56:36 CEST 2021


Hi Lukasz,

kindly ping

Best regards
-- 
Giulio Benetti
Benetti Engineering sas

On 2/23/21 1:25 AM, Giulio Benetti wrote:
> On 2/22/21 8:13 PM, Heinrich Schuchardt wrote:
>> On 2/14/21 4:49 AM, Jesse T wrote:
>>> Awesome, thanks! I must have forgotten how twos complement works for a
>>> sec...
>>>
>>> On Sat, Feb 13, 2021 at 10:17 PM Giulio Benetti <
>>> giulio.benetti at benettiengineering.com> wrote:
>>>
>>>> Hi Jesse,
>>>>
>>>> Il giorno 14 feb 2021, alle ore 03:58, Jesse T <mr.bossman075 at gmail.com>
>>>> ha scritto:
>>>>
>>>> 
>>>> This looks good to me, and helps beginners like me. As for the function
>>>> itself, i have 2 concerns: If it does return a negative value why is it
>>>> unsigned, if it is in fact signed that a clock above 2.2Ghz is a negative
>>>> number.
>>>>
>>>>
>>>> I was worried too at first sight but if you try to check negative numbers
>>>> you see that -1 is 0xFFFFFFFF so in the worst case you only loose 4095
>>>> numbers from the maximum, try to check with hex calculator. And that is the
>>>> trick.
>>>>
>>>> As for the IS_ERR_VALUE macro there still is a chance that it will error
>>>> if the clock just so happens to be 2^31  through 2^31 + number of err
>>>> values.
>>>>
>>>>
>>>> This is answered from above and IS_ERR_VALUE is a very contracted macro
>>>> that basically let you to keep value NOT valid if (0 > value > 4095).
>>>>
>>>> Just voicing my concerns i assume as i learn more about uboot,
>>>> linux,rtos's and different programs there will be minor issues like this.
>>>>
>>>>
>>>> Sure, no problem :-)
>>>>
>>>> Giulio
>>>>
>>>>
>>>> On Sat, Feb 13, 2021 at 9:17 PM Giulio Benetti <
>>>> giulio.benetti at benettiengineering.com> wrote:
>>>>
>>>>> Improve clk_get_rate() @return documentation that otherwise is a bit
>>>>> ambiguous. At the moment I expect to return 0 as error since the return
>>>>> type is 'ulong', instead the function really returns negative value in
>>>>> case the corresponding function pointer is null and returns 0 if the clock
>>>>> is invalid.
>>>>>
>>>>> Signed-off-by: Giulio Benetti <giulio.benetti at benettiengineering.com>
>>>>> ---
>>>>> V1->V2:
>>>>> * previous comment was wrong, this function returns negative value, so
>>>>> let's
>>>>>      improve it's @return documentation as suggested by Simon Glass
>>>>> ---
>>>>>     include/clk.h | 3 ++-
>>>>>     1 file changed, 2 insertions(+), 1 deletion(-)
>>>>>
>>>>> diff --git a/include/clk.h b/include/clk.h
>>>>> index ca6b85fa6f..5a8c7244d0 100644
>>>>> --- a/include/clk.h
>>>>> +++ b/include/clk.h
>>>>> @@ -344,7 +344,8 @@ int clk_free(struct clk *clk);
>>>>>      *
>>>>>      * @clk:       A clock struct that was previously successfully requested
>>>>> by
>>>>>      *             clk_request/get_by_*().
>>>>> - * @return clock rate in Hz, or -ve error code.
>>>>> + * @return clock rate in Hz on success, 0 for invalid clock, or -ve
>>>>> error code
>>>>> + *        for other errors.
>>>>>      */
>>>>>     ulong clk_get_rate(struct clk *clk);
>>>>>
>>>>> --
>>>>> 2.25.1
>>>>>
>>>>>
>>
>> Cc: Lukasz Majewski <lukma at denx.de>
>> Lukasz is maintainer for CLOCK.
> 
> Ah thank you that's right. I've missed it because
> ./scripts/get_maintainer.pl didn't list him.
> 



More information about the U-Boot mailing list