From mboxrd@z Thu Jan 1 00:00:00 1970 From: Giulio Benetti Date: Sun, 4 Apr 2021 20:56:36 +0200 Subject: [PATCH v2] clk: fix clk_get_rate() documentation In-Reply-To: References: Message-ID: List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 >>>> 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 >>>>> --- >>>>> 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 >> Lukasz is maintainer for CLOCK. > > Ah thank you that's right. I've missed it because > ./scripts/get_maintainer.pl didn't list him. >