Commit 7b9726a7a0d8c70ea44a5ed23726748de344f223

Authored by Paul Mundt
1 parent e7d7deca60

sh: Fix up the sh64 build.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>

Showing 2 changed files with 7 additions and 19 deletions Side-by-side Diff

arch/sh/lib64/udelay.c
... ... @@ -21,7 +21,7 @@
21 21 * a 1GHz box, that's about 2 seconds.
22 22 */
23 23  
24   -void __delay(int loops)
  24 +void __delay(unsigned long loops)
25 25 {
26 26 long long dummy;
27 27 __asm__ __volatile__("gettr tr0, %1\n\t"
28 28  
29 29  
30 30  
31 31  
32 32  
... ... @@ -33,25 +33,18 @@
33 33 :"0"(loops));
34 34 }
35 35  
36   -void __udelay(unsigned long long usecs, unsigned long lpj)
  36 +inline void __const_udelay(unsigned long xloops)
37 37 {
38   - usecs *= (((unsigned long long) HZ << 32) / 1000000) * lpj;
39   - __delay((long long) usecs >> 32);
  38 + __delay(xloops * (HZ * cpu_data[raw_smp_processor_id()].loops_per_jiffy));
40 39 }
41 40  
42   -void __ndelay(unsigned long long nsecs, unsigned long lpj)
  41 +void __udelay(unsigned long usecs)
43 42 {
44   - nsecs *= (((unsigned long long) HZ << 32) / 1000000000) * lpj;
45   - __delay((long long) nsecs >> 32);
  43 + __const_udelay(usecs * 0x000010c6); /* 2**32 / 1000000 */
46 44 }
47 45  
48   -void udelay(unsigned long usecs)
  46 +void __ndelay(unsigned long nsecs)
49 47 {
50   - __udelay(usecs, cpu_data[raw_smp_processor_id()].loops_per_jiffy);
51   -}
52   -
53   -void ndelay(unsigned long nsecs)
54   -{
55   - __ndelay(nsecs, cpu_data[raw_smp_processor_id()].loops_per_jiffy);
  48 + __const_udelay(nsecs * 0x00000005);
56 49 }
include/asm-sh/delay.h
... ... @@ -15,7 +15,6 @@
15 15 extern void __const_udelay(unsigned long xloops);
16 16 extern void __delay(unsigned long loops);
17 17  
18   -#ifdef CONFIG_SUPERH32
19 18 #define udelay(n) (__builtin_constant_p(n) ? \
20 19 ((n) > 20000 ? __bad_udelay() : __const_udelay((n) * 0x10c6ul)) : \
21 20 __udelay(n))
... ... @@ -23,10 +22,6 @@
23 22 #define ndelay(n) (__builtin_constant_p(n) ? \
24 23 ((n) > 20000 ? __bad_ndelay() : __const_udelay((n) * 5ul)) : \
25 24 __ndelay(n))
26   -#else
27   -extern void udelay(unsigned long usecs);
28   -extern void ndelay(unsigned long nsecs);
29   -#endif
30 25  
31 26 #endif /* __ASM_SH_DELAY_H */