diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-07 12:02:26 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-08-07 12:02:26 -0400 |
commit | 7f0d32e0c1a7a23216a0f2694ec841f60e9dddfd (patch) | |
tree | 4315f3b01fdb31c165911bf44271ee48110c1006 /arch/microblaze/include | |
parent | 8b076738593244000c003111e67dba49bbbafab0 (diff) | |
parent | ef264cf0c490cc9d46edb3b6aa082d23a9506e2d (diff) |
Merge tag 'microblaze-3.17-rc1' of git://git.monstr.eu/linux-2.6-microblaze
Pull microblaze updates from Michal Simek:
- add new syscall and fix comment
- fix udelay implementation
- fix libgcc for modules
* tag 'microblaze-3.17-rc1' of git://git.monstr.eu/linux-2.6-microblaze:
microblaze: Change libgcc-style functions from lib-y to obj-y
microblaze: Wire-up renameat2 syscall
microblaze: Add syscall number comment
microblaze: delay.h fix udelay and ndelay for 8 bit args
Diffstat (limited to 'arch/microblaze/include')
-rw-r--r-- | arch/microblaze/include/asm/delay.h | 28 | ||||
-rw-r--r-- | arch/microblaze/include/uapi/asm/unistd.h | 1 |
2 files changed, 23 insertions, 6 deletions
diff --git a/arch/microblaze/include/asm/delay.h b/arch/microblaze/include/asm/delay.h index 66fc24c24238..60cb39deb533 100644 --- a/arch/microblaze/include/asm/delay.h +++ b/arch/microblaze/include/asm/delay.h | |||
@@ -61,13 +61,29 @@ extern inline void __udelay(unsigned int x) | |||
61 | extern void __bad_udelay(void); /* deliberately undefined */ | 61 | extern void __bad_udelay(void); /* deliberately undefined */ |
62 | extern void __bad_ndelay(void); /* deliberately undefined */ | 62 | extern void __bad_ndelay(void); /* deliberately undefined */ |
63 | 63 | ||
64 | #define udelay(n) (__builtin_constant_p(n) ? \ | 64 | #define udelay(n) \ |
65 | ((n) > __MAX_UDELAY ? __bad_udelay() : __udelay((n) * (19 * HZ))) : \ | 65 | ({ \ |
66 | __udelay((n) * (19 * HZ))) | 66 | if (__builtin_constant_p(n)) { \ |
67 | if ((n) / __MAX_UDELAY >= 1) \ | ||
68 | __bad_udelay(); \ | ||
69 | else \ | ||
70 | __udelay((n) * (19 * HZ)); \ | ||
71 | } else { \ | ||
72 | __udelay((n) * (19 * HZ)); \ | ||
73 | } \ | ||
74 | }) | ||
67 | 75 | ||
68 | #define ndelay(n) (__builtin_constant_p(n) ? \ | 76 | #define ndelay(n) \ |
69 | ((n) > __MAX_NDELAY ? __bad_ndelay() : __udelay((n) * HZ)) : \ | 77 | ({ \ |
70 | __udelay((n) * HZ)) | 78 | if (__builtin_constant_p(n)) { \ |
79 | if ((n) / __MAX_NDELAY >= 1) \ | ||
80 | __bad_ndelay(); \ | ||
81 | else \ | ||
82 | __udelay((n) * HZ); \ | ||
83 | } else { \ | ||
84 | __udelay((n) * HZ); \ | ||
85 | } \ | ||
86 | }) | ||
71 | 87 | ||
72 | #define muldiv(a, b, c) (((a)*(b))/(c)) | 88 | #define muldiv(a, b, c) (((a)*(b))/(c)) |
73 | 89 | ||
diff --git a/arch/microblaze/include/uapi/asm/unistd.h b/arch/microblaze/include/uapi/asm/unistd.h index 8d0791b49b31..4e1ddc930a68 100644 --- a/arch/microblaze/include/uapi/asm/unistd.h +++ b/arch/microblaze/include/uapi/asm/unistd.h | |||
@@ -398,5 +398,6 @@ | |||
398 | #define __NR_finit_module 380 | 398 | #define __NR_finit_module 380 |
399 | #define __NR_sched_setattr 381 | 399 | #define __NR_sched_setattr 381 |
400 | #define __NR_sched_getattr 382 | 400 | #define __NR_sched_getattr 382 |
401 | #define __NR_renameat2 383 | ||
401 | 402 | ||
402 | #endif /* _UAPI_ASM_MICROBLAZE_UNISTD_H */ | 403 | #endif /* _UAPI_ASM_MICROBLAZE_UNISTD_H */ |