Patchwork [U-Boot] arm, post: add missing post_time_ms for arm

login
register
mail settings
Submitter Heiko Schocher
Date Sept. 15, 2011, 5:34 a.m.
Message ID <1316064873-5500-1-git-send-email-hs@denx.de>
Download mbox | patch
Permalink /patch/114743/
State Accepted
Commit f31a911fe2ceb59a810b295171da7668a9a87c92
Delegated to: Albert ARIBAUD
Headers show

Comments

Heiko Schocher - Sept. 15, 2011, 5:34 a.m.
Signed-off-by: Heiko Schocher <hs@denx.de>
Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
---
 post/post.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Holger Brunck - Nov. 21, 2011, 12:57 p.m.
Hi Heiko,

On 09/15/2011 07:34 AM, Heiko Schocher wrote:
> Signed-off-by: Heiko Schocher <hs@denx.de>
> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
> ---
>  post/post.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/post/post.c b/post/post.c
> index 6c59f91..0bfca75 100644
> --- a/post/post.c
> +++ b/post/post.c
> @@ -488,7 +488,7 @@ void post_reloc(void)
>   */
>  unsigned long post_time_ms(unsigned long base)
>  {
> -#ifdef CONFIG_PPC
> +#if defined(CONFIG_PPC) || defined(CONFIG_ARM)
>  	return (unsigned long)(get_ticks() / (get_tbclk() / CONFIG_SYS_HZ))
>  		- base;
>  #else

this commit breaks post test support for our keymile arm boards:

> make km_kirkwood
[...]
post/libpost.o: In function `post_time_ms':
/daten/ws_root/hbu/u-boot-km.git/post/post.c:504: undefined reference to `get_ticks'
/daten/ws_root/hbu/u-boot-km.git/post/post.c:504: undefined reference to `get_tbclk'

So it seems that the kirkwood code has no implementation for these functions.
Any idea how to fix this?

Best regards
Holger
Heiko Schocher - Nov. 21, 2011, 2:09 p.m.
Hello Holger,


added Prafulla Wadaskar to cc ...

Holger Brunck wrote:
> Hi Heiko,
> 
> On 09/15/2011 07:34 AM, Heiko Schocher wrote:
>> Signed-off-by: Heiko Schocher <hs@denx.de>
>> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
>> ---
>>  post/post.c |    2 +-
>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>
>> diff --git a/post/post.c b/post/post.c
>> index 6c59f91..0bfca75 100644
>> --- a/post/post.c
>> +++ b/post/post.c
>> @@ -488,7 +488,7 @@ void post_reloc(void)
>>   */
>>  unsigned long post_time_ms(unsigned long base)
>>  {
>> -#ifdef CONFIG_PPC
>> +#if defined(CONFIG_PPC) || defined(CONFIG_ARM)
>>  	return (unsigned long)(get_ticks() / (get_tbclk() / CONFIG_SYS_HZ))
>>  		- base;
>>  #else
> 
> this commit breaks post test support for our keymile arm boards:

:-(

I am sure I tried a "MAKEALL arm" ... Hmm.. how did the post support
worked for you before this patch? You should have seen this warning message:

#warning "Not implemented yet"

or?

>> make km_kirkwood
> [...]
> post/libpost.o: In function `post_time_ms':
> /daten/ws_root/hbu/u-boot-km.git/post/post.c:504: undefined reference to `get_ticks'
> /daten/ws_root/hbu/u-boot-km.git/post/post.c:504: undefined reference to `get_tbclk'
> 
> So it seems that the kirkwood code has no implementation for these functions.
> Any idea how to fix this?

We must implement it ... Prafulla, can you comment this?

bye,
Heiko
Holger Brunck - Nov. 21, 2011, 2:27 p.m.
Hi Heiko,

On 11/21/2011 03:09 PM, Heiko Schocher wrote:
> Holger Brunck wrote:
>> On 09/15/2011 07:34 AM, Heiko Schocher wrote:
>>> Signed-off-by: Heiko Schocher <hs@denx.de>
>>> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
>>> ---
>>>  post/post.c |    2 +-
>>>  1 files changed, 1 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/post/post.c b/post/post.c
>>> index 6c59f91..0bfca75 100644
>>> --- a/post/post.c
>>> +++ b/post/post.c
>>> @@ -488,7 +488,7 @@ void post_reloc(void)
>>>   */
>>>  unsigned long post_time_ms(unsigned long base)
>>>  {
>>> -#ifdef CONFIG_PPC
>>> +#if defined(CONFIG_PPC) || defined(CONFIG_ARM)
>>>  	return (unsigned long)(get_ticks() / (get_tbclk() / CONFIG_SYS_HZ))
>>>  		- base;
>>>  #else
>>
>> this commit breaks post test support for our keymile arm boards:
> 
> :-(
> 
> I am sure I tried a "MAKEALL arm" ... Hmm.. how did the post support

I guess that our post support wasn't mainlined at the time you test the patch.

> worked for you before this patch? You should have seen this warning message:
> 
> #warning "Not implemented yet"
> 
> or?
> 

Yes we got these warning in the past but this wasn't a problem for us, because
we don't use these timer informations in our framework.

>>> make km_kirkwood
>> [...]
>> post/libpost.o: In function `post_time_ms':
>> /daten/ws_root/hbu/u-boot-km.git/post/post.c:504: undefined reference to `get_ticks'
>> /daten/ws_root/hbu/u-boot-km.git/post/post.c:504: undefined reference to `get_tbclk'
>>
>> So it seems that the kirkwood code has no implementation for these functions.
>> Any idea how to fix this?
> 
> We must implement it ... Prafulla, can you comment this?
> 

Or in the first step just add && !(CONFIG_MACH_KIRKWOOD) or similar to the
#ifdef until it is supported in the generic kirkwood code.

regards
Holger
Prafulla Wadaskar - Nov. 22, 2011, 8:26 a.m.
> -----Original Message-----
> From: Heiko Schocher [mailto:hs@denx.de]
> Sent: Monday, November 21, 2011 7:40 PM
> To: Holger Brunck
> Cc: u-boot@lists.denx.de; Longchamp, Valentin; Falauto,
> Gerlando
> Subject: Re: [PATCH] arm, post: add missing post_time_ms for
> arm
> 
> Hello Holger,
> 
> 
> added Prafulla Wadaskar to cc ...
> 
> Holger Brunck wrote:
> > Hi Heiko,
> >
> > On 09/15/2011 07:34 AM, Heiko Schocher wrote:
> >> Signed-off-by: Heiko Schocher <hs@denx.de>
> >> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
> >> ---
> >>  post/post.c |    2 +-
> >>  1 files changed, 1 insertions(+), 1 deletions(-)
> >>
> >> diff --git a/post/post.c b/post/post.c
> >> index 6c59f91..0bfca75 100644
> >> --- a/post/post.c
> >> +++ b/post/post.c
> >> @@ -488,7 +488,7 @@ void post_reloc(void)
> >>   */
> >>  unsigned long post_time_ms(unsigned long base)
> >>  {
> >> -#ifdef CONFIG_PPC
> >> +#if defined(CONFIG_PPC) || defined(CONFIG_ARM)
> >>  	return (unsigned long)(get_ticks() / (get_tbclk() /
> CONFIG_SYS_HZ))
> >>  		- base;
> >>  #else
> >
> > this commit breaks post test support for our keymile arm
> boards:
> 
> :-(
> 
> I am sure I tried a "MAKEALL arm" ... Hmm.. how did the post
> support
> worked for you before this patch? You should have seen this
> warning message:
> 
> #warning "Not implemented yet"
> 
> or?
> 
> >> make km_kirkwood
> > [...]
> > post/libpost.o: In function `post_time_ms':
> > /daten/ws_root/hbu/u-boot-km.git/post/post.c:504: undefined
> reference to `get_ticks'
> > /daten/ws_root/hbu/u-boot-km.git/post/post.c:504: undefined
> reference to `get_tbclk'
> >
> > So it seems that the kirkwood code has no implementation for
> these functions.
> > Any idea how to fix this?
> 
> We must implement it ... Prafulla, can you comment this?

As per my knowledge Kirkwood has no implementation for this.
Yes, we should implement this.
Patches are welcomed.

Regards..
Prafulla . . .
Mike Frysinger - Nov. 22, 2011, 9 p.m.
On Thursday 15 September 2011 01:34:33 Heiko Schocher wrote:
> Signed-off-by: Heiko Schocher <hs@denx.de>
> Cc: Albert ARIBAUD <albert.u.boot@aribaud.net>
> ---
>  post/post.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/post/post.c b/post/post.c
> index 6c59f91..0bfca75 100644
> --- a/post/post.c
> +++ b/post/post.c
> @@ -488,7 +488,7 @@ void post_reloc(void)
>   */
>  unsigned long post_time_ms(unsigned long base)
>  {
> -#ifdef CONFIG_PPC
> +#if defined(CONFIG_PPC) || defined(CONFIG_ARM)
>  	return (unsigned long)(get_ticks() / (get_tbclk() / CONFIG_SYS_HZ))
>  		- base;
>  #else

almost no one uses the result of post_time_ms(), so the warning ends up being 
spurious for most people.

are you enabling this define because you need the result ?  or you just trying 
to kill the warning ?  if the latter, i think we should make this so it warns 
only when appropriate ...
-mike

Patch

diff --git a/post/post.c b/post/post.c
index 6c59f91..0bfca75 100644
--- a/post/post.c
+++ b/post/post.c
@@ -488,7 +488,7 @@  void post_reloc(void)
  */
 unsigned long post_time_ms(unsigned long base)
 {
-#ifdef CONFIG_PPC
+#if defined(CONFIG_PPC) || defined(CONFIG_ARM)
 	return (unsigned long)(get_ticks() / (get_tbclk() / CONFIG_SYS_HZ))
 		- base;
 #else