aboutsummaryrefslogtreecommitdiffstats
path: root/arch/microblaze/include
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-08-07 09:02:26 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-07 09:02:26 -0700
commit7f0d32e0c1a7a23216a0f2694ec841f60e9dddfd (patch)
tree4315f3b01fdb31c165911bf44271ee48110c1006 /arch/microblaze/include
parentMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/egtvedt/linux-avr32 (diff)
parentmicroblaze: Change libgcc-style functions from lib-y to obj-y (diff)
downloadlinux-dev-7f0d32e0c1a7a23216a0f2694ec841f60e9dddfd.tar.xz
linux-dev-7f0d32e0c1a7a23216a0f2694ec841f60e9dddfd.zip
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.h28
-rw-r--r--arch/microblaze/include/uapi/asm/unistd.h1
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)
extern void __bad_udelay(void); /* deliberately undefined */
extern void __bad_ndelay(void); /* deliberately undefined */
-#define udelay(n) (__builtin_constant_p(n) ? \
- ((n) > __MAX_UDELAY ? __bad_udelay() : __udelay((n) * (19 * HZ))) : \
- __udelay((n) * (19 * HZ)))
+#define udelay(n) \
+ ({ \
+ if (__builtin_constant_p(n)) { \
+ if ((n) / __MAX_UDELAY >= 1) \
+ __bad_udelay(); \
+ else \
+ __udelay((n) * (19 * HZ)); \
+ } else { \
+ __udelay((n) * (19 * HZ)); \
+ } \
+ })
-#define ndelay(n) (__builtin_constant_p(n) ? \
- ((n) > __MAX_NDELAY ? __bad_ndelay() : __udelay((n) * HZ)) : \
- __udelay((n) * HZ))
+#define ndelay(n) \
+ ({ \
+ if (__builtin_constant_p(n)) { \
+ if ((n) / __MAX_NDELAY >= 1) \
+ __bad_ndelay(); \
+ else \
+ __udelay((n) * HZ); \
+ } else { \
+ __udelay((n) * HZ); \
+ } \
+ })
#define muldiv(a, b, c) (((a)*(b))/(c))
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 @@
#define __NR_finit_module 380
#define __NR_sched_setattr 381
#define __NR_sched_getattr 382
+#define __NR_renameat2 383
#endif /* _UAPI_ASM_MICROBLAZE_UNISTD_H */