diff mbox

[v2] arm64: kernel: compiling issue, need delete read_current_timer().

Message ID 519B425D.4030806@asianux.com (mailing list archive)
State New, archived
Headers show

Commit Message

Chen Gang May 21, 2013, 9:46 a.m. UTC
Under arm64, we will calibrate the delay loop statically using a known
timer frequency, so delete read_current_timer(), or it will cause
compiling issue with allmodconfig.

The related error:
  ERROR: "read_current_timer" [lib/rbtree_test.ko] undefined!
  ERROR: "read_current_timer" [lib/interval_tree_test.ko] undefined!
  ERROR: "read_current_timer" [fs/ext4/ext4.ko] undefined!
  ERROR: "read_current_timer" [crypto/tcrypt.ko] undefined!


Signed-off-by: Chen Gang <gang.chen@asianux.com>
---
 arch/arm64/include/asm/timex.h |    6 +++---
 arch/arm64/kernel/time.c       |    6 ------
 2 files changed, 3 insertions(+), 9 deletions(-)

Comments

Chen Gang May 27, 2013, 10:02 a.m. UTC | #1
Hello Maintainers:

Please help check this patch whether OK, when you have time.

Thanks.

On 05/21/2013 05:46 PM, Chen Gang wrote:
> 
> Under arm64, we will calibrate the delay loop statically using a known
> timer frequency, so delete read_current_timer(), or it will cause
> compiling issue with allmodconfig.
> 
> The related error:
>   ERROR: "read_current_timer" [lib/rbtree_test.ko] undefined!
>   ERROR: "read_current_timer" [lib/interval_tree_test.ko] undefined!
>   ERROR: "read_current_timer" [fs/ext4/ext4.ko] undefined!
>   ERROR: "read_current_timer" [crypto/tcrypt.ko] undefined!
> 
> 
> Signed-off-by: Chen Gang <gang.chen@asianux.com>
> ---
>  arch/arm64/include/asm/timex.h |    6 +++---
>  arch/arm64/kernel/time.c       |    6 ------
>  2 files changed, 3 insertions(+), 9 deletions(-)
> 
> diff --git a/arch/arm64/include/asm/timex.h b/arch/arm64/include/asm/timex.h
> index b24a31a..81a076e 100644
> --- a/arch/arm64/include/asm/timex.h
> +++ b/arch/arm64/include/asm/timex.h
> @@ -16,14 +16,14 @@
>  #ifndef __ASM_TIMEX_H
>  #define __ASM_TIMEX_H
>  
> +#include <asm/arch_timer.h>
> +
>  /*
>   * Use the current timer as a cycle counter since this is what we use for
>   * the delay loop.
>   */
> -#define get_cycles()	({ cycles_t c; read_current_timer(&c); c; })
> +#define get_cycles()	arch_counter_get_cntvct()
>  
>  #include <asm-generic/timex.h>
>  
> -#define ARCH_HAS_READ_CURRENT_TIMER
> -
>  #endif
> diff --git a/arch/arm64/kernel/time.c b/arch/arm64/kernel/time.c
> index a551f88..03dc371 100644
> --- a/arch/arm64/kernel/time.c
> +++ b/arch/arm64/kernel/time.c
> @@ -68,12 +68,6 @@ unsigned long long notrace sched_clock(void)
>  	return arch_timer_read_counter() * sched_clock_mult;
>  }
>  
> -int read_current_timer(unsigned long *timer_value)
> -{
> -	*timer_value = arch_timer_read_counter();
> -	return 0;
> -}
> -
>  void __init time_init(void)
>  {
>  	u32 arch_timer_rate;
>
Chen Gang June 8, 2013, 4:37 a.m. UTC | #2
Hello Maintainers:

Please help check it, when you have time.

Thanks.

On 05/27/2013 06:02 PM, Chen Gang wrote:
> Hello Maintainers:
> 
> Please help check this patch whether OK, when you have time.
> 
> Thanks.
> 
> On 05/21/2013 05:46 PM, Chen Gang wrote:
>>
>> Under arm64, we will calibrate the delay loop statically using a known
>> timer frequency, so delete read_current_timer(), or it will cause
>> compiling issue with allmodconfig.
>>
>> The related error:
>>   ERROR: "read_current_timer" [lib/rbtree_test.ko] undefined!
>>   ERROR: "read_current_timer" [lib/interval_tree_test.ko] undefined!
>>   ERROR: "read_current_timer" [fs/ext4/ext4.ko] undefined!
>>   ERROR: "read_current_timer" [crypto/tcrypt.ko] undefined!
>>
>>
>> Signed-off-by: Chen Gang <gang.chen@asianux.com>
>> ---
>>  arch/arm64/include/asm/timex.h |    6 +++---
>>  arch/arm64/kernel/time.c       |    6 ------
>>  2 files changed, 3 insertions(+), 9 deletions(-)
>>
>> diff --git a/arch/arm64/include/asm/timex.h b/arch/arm64/include/asm/timex.h
>> index b24a31a..81a076e 100644
>> --- a/arch/arm64/include/asm/timex.h
>> +++ b/arch/arm64/include/asm/timex.h
>> @@ -16,14 +16,14 @@
>>  #ifndef __ASM_TIMEX_H
>>  #define __ASM_TIMEX_H
>>  
>> +#include <asm/arch_timer.h>
>> +
>>  /*
>>   * Use the current timer as a cycle counter since this is what we use for
>>   * the delay loop.
>>   */
>> -#define get_cycles()	({ cycles_t c; read_current_timer(&c); c; })
>> +#define get_cycles()	arch_counter_get_cntvct()
>>  
>>  #include <asm-generic/timex.h>
>>  
>> -#define ARCH_HAS_READ_CURRENT_TIMER
>> -
>>  #endif
>> diff --git a/arch/arm64/kernel/time.c b/arch/arm64/kernel/time.c
>> index a551f88..03dc371 100644
>> --- a/arch/arm64/kernel/time.c
>> +++ b/arch/arm64/kernel/time.c
>> @@ -68,12 +68,6 @@ unsigned long long notrace sched_clock(void)
>>  	return arch_timer_read_counter() * sched_clock_mult;
>>  }
>>  
>> -int read_current_timer(unsigned long *timer_value)
>> -{
>> -	*timer_value = arch_timer_read_counter();
>> -	return 0;
>> -}
>> -
>>  void __init time_init(void)
>>  {
>>  	u32 arch_timer_rate;
>>
> 
>
Will Deacon June 10, 2013, 8:57 a.m. UTC | #3
On Sat, Jun 08, 2013 at 05:37:30AM +0100, Chen Gang wrote:
> Hello Maintainers:
> 
> Please help check it, when you have time.

[...]

> >> Under arm64, we will calibrate the delay loop statically using a known
> >> timer frequency, so delete read_current_timer(), or it will cause
> >> compiling issue with allmodconfig.
> >>
> >> The related error:
> >>   ERROR: "read_current_timer" [lib/rbtree_test.ko] undefined!
> >>   ERROR: "read_current_timer" [lib/interval_tree_test.ko] undefined!
> >>   ERROR: "read_current_timer" [fs/ext4/ext4.ko] undefined!
> >>   ERROR: "read_current_timer" [crypto/tcrypt.ko] undefined!
> >>
> >>
> >> Signed-off-by: Chen Gang <gang.chen@asianux.com>
> >> ---
> >>  arch/arm64/include/asm/timex.h |    6 +++---
> >>  arch/arm64/kernel/time.c       |    6 ------
> >>  2 files changed, 3 insertions(+), 9 deletions(-)

Looks ok to me. We'll take it for a spin and apply it if it doesn't catch
fire.

Will
Marc Zyngier June 10, 2013, 8:57 a.m. UTC | #4
On 08/06/13 05:37, Chen Gang wrote:
> Hello Maintainers:
> 
> Please help check it, when you have time.
> 
> Thanks.
> 
> On 05/27/2013 06:02 PM, Chen Gang wrote:
>> Hello Maintainers:
>>
>> Please help check this patch whether OK, when you have time.
>>
>> Thanks.
>>
>> On 05/21/2013 05:46 PM, Chen Gang wrote:
>>>
>>> Under arm64, we will calibrate the delay loop statically using a known
>>> timer frequency, so delete read_current_timer(), or it will cause
>>> compiling issue with allmodconfig.
>>>
>>> The related error:
>>>   ERROR: "read_current_timer" [lib/rbtree_test.ko] undefined!
>>>   ERROR: "read_current_timer" [lib/interval_tree_test.ko] undefined!
>>>   ERROR: "read_current_timer" [fs/ext4/ext4.ko] undefined!
>>>   ERROR: "read_current_timer" [crypto/tcrypt.ko] undefined!
>>>
>>>
>>> Signed-off-by: Chen Gang <gang.chen@asianux.com>
>>> ---
>>>  arch/arm64/include/asm/timex.h |    6 +++---
>>>  arch/arm64/kernel/time.c       |    6 ------
>>>  2 files changed, 3 insertions(+), 9 deletions(-)
>>>
>>> diff --git a/arch/arm64/include/asm/timex.h b/arch/arm64/include/asm/timex.h
>>> index b24a31a..81a076e 100644
>>> --- a/arch/arm64/include/asm/timex.h
>>> +++ b/arch/arm64/include/asm/timex.h
>>> @@ -16,14 +16,14 @@
>>>  #ifndef __ASM_TIMEX_H
>>>  #define __ASM_TIMEX_H
>>>  
>>> +#include <asm/arch_timer.h>
>>> +
>>>  /*
>>>   * Use the current timer as a cycle counter since this is what we use for
>>>   * the delay loop.
>>>   */
>>> -#define get_cycles()	({ cycles_t c; read_current_timer(&c); c; })
>>> +#define get_cycles()	arch_counter_get_cntvct()
>>>  
>>>  #include <asm-generic/timex.h>
>>>  
>>> -#define ARCH_HAS_READ_CURRENT_TIMER
>>> -
>>>  #endif
>>> diff --git a/arch/arm64/kernel/time.c b/arch/arm64/kernel/time.c
>>> index a551f88..03dc371 100644
>>> --- a/arch/arm64/kernel/time.c
>>> +++ b/arch/arm64/kernel/time.c
>>> @@ -68,12 +68,6 @@ unsigned long long notrace sched_clock(void)
>>>  	return arch_timer_read_counter() * sched_clock_mult;
>>>  }
>>>  
>>> -int read_current_timer(unsigned long *timer_value)
>>> -{
>>> -	*timer_value = arch_timer_read_counter();
>>> -	return 0;
>>> -}
>>> -
>>>  void __init time_init(void)
>>>  {
>>>  	u32 arch_timer_rate;

Sorry for the delay replying. This looks good to me.

FWIW:
Acked-by: Marc Zyngier <marc.zyngier@arm.com>

	M.
Chen Gang June 13, 2013, 1:12 a.m. UTC | #5
On 06/10/2013 04:57 PM, Will Deacon wrote:
> On Sat, Jun 08, 2013 at 05:37:30AM +0100, Chen Gang wrote:
>> > Hello Maintainers:
>> > 
>> > Please help check it, when you have time.
> [...]
> 

OK, thanks.

>>>> > >> Under arm64, we will calibrate the delay loop statically using a known
>>>> > >> timer frequency, so delete read_current_timer(), or it will cause
>>>> > >> compiling issue with allmodconfig.
>>>> > >>
>>>> > >> The related error:
>>>> > >>   ERROR: "read_current_timer" [lib/rbtree_test.ko] undefined!
>>>> > >>   ERROR: "read_current_timer" [lib/interval_tree_test.ko] undefined!
>>>> > >>   ERROR: "read_current_timer" [fs/ext4/ext4.ko] undefined!
>>>> > >>   ERROR: "read_current_timer" [crypto/tcrypt.ko] undefined!
>>>> > >>
>>>> > >>
>>>> > >> Signed-off-by: Chen Gang <gang.chen@asianux.com>
>>>> > >> ---
>>>> > >>  arch/arm64/include/asm/timex.h |    6 +++---
>>>> > >>  arch/arm64/kernel/time.c       |    6 ------
>>>> > >>  2 files changed, 3 insertions(+), 9 deletions(-)
> Looks ok to me. We'll take it for a spin and apply it if it doesn't catch
> fire.

Really need a carefully checking.

Thanks.
Chen Gang June 13, 2013, 1:13 a.m. UTC | #6
On 06/10/2013 04:57 PM, Marc Zyngier wrote:
> Sorry for the delay replying. This looks good to me.
> 
> FWIW:
> Acked-by: Marc Zyngier <marc.zyngier@arm.com>

Thanks, also sorry for my delay replying.
diff mbox

Patch

diff --git a/arch/arm64/include/asm/timex.h b/arch/arm64/include/asm/timex.h
index b24a31a..81a076e 100644
--- a/arch/arm64/include/asm/timex.h
+++ b/arch/arm64/include/asm/timex.h
@@ -16,14 +16,14 @@ 
 #ifndef __ASM_TIMEX_H
 #define __ASM_TIMEX_H
 
+#include <asm/arch_timer.h>
+
 /*
  * Use the current timer as a cycle counter since this is what we use for
  * the delay loop.
  */
-#define get_cycles()	({ cycles_t c; read_current_timer(&c); c; })
+#define get_cycles()	arch_counter_get_cntvct()
 
 #include <asm-generic/timex.h>
 
-#define ARCH_HAS_READ_CURRENT_TIMER
-
 #endif
diff --git a/arch/arm64/kernel/time.c b/arch/arm64/kernel/time.c
index a551f88..03dc371 100644
--- a/arch/arm64/kernel/time.c
+++ b/arch/arm64/kernel/time.c
@@ -68,12 +68,6 @@  unsigned long long notrace sched_clock(void)
 	return arch_timer_read_counter() * sched_clock_mult;
 }
 
-int read_current_timer(unsigned long *timer_value)
-{
-	*timer_value = arch_timer_read_counter();
-	return 0;
-}
-
 void __init time_init(void)
 {
 	u32 arch_timer_rate;