xref: /openbmc/linux/arch/s390/lib/test_modules.h (revision e286f231)
190c53187SIlya Leoshkevich /* SPDX-License-Identifier: GPL-2.0+ */
290c53187SIlya Leoshkevich #ifndef TEST_MODULES_H
390c53187SIlya Leoshkevich #define TEST_MODULES_H
490c53187SIlya Leoshkevich 
590c53187SIlya Leoshkevich #define __REPEAT_10000_3(f, x) \
690c53187SIlya Leoshkevich 	f(x ## 0); \
790c53187SIlya Leoshkevich 	f(x ## 1); \
890c53187SIlya Leoshkevich 	f(x ## 2); \
990c53187SIlya Leoshkevich 	f(x ## 3); \
1090c53187SIlya Leoshkevich 	f(x ## 4); \
1190c53187SIlya Leoshkevich 	f(x ## 5); \
1290c53187SIlya Leoshkevich 	f(x ## 6); \
1390c53187SIlya Leoshkevich 	f(x ## 7); \
1490c53187SIlya Leoshkevich 	f(x ## 8); \
1590c53187SIlya Leoshkevich 	f(x ## 9)
1690c53187SIlya Leoshkevich #define __REPEAT_10000_2(f, x) \
1790c53187SIlya Leoshkevich 	__REPEAT_10000_3(f, x ## 0); \
1890c53187SIlya Leoshkevich 	__REPEAT_10000_3(f, x ## 1); \
1990c53187SIlya Leoshkevich 	__REPEAT_10000_3(f, x ## 2); \
2090c53187SIlya Leoshkevich 	__REPEAT_10000_3(f, x ## 3); \
2190c53187SIlya Leoshkevich 	__REPEAT_10000_3(f, x ## 4); \
2290c53187SIlya Leoshkevich 	__REPEAT_10000_3(f, x ## 5); \
2390c53187SIlya Leoshkevich 	__REPEAT_10000_3(f, x ## 6); \
2490c53187SIlya Leoshkevich 	__REPEAT_10000_3(f, x ## 7); \
2590c53187SIlya Leoshkevich 	__REPEAT_10000_3(f, x ## 8); \
2690c53187SIlya Leoshkevich 	__REPEAT_10000_3(f, x ## 9)
2790c53187SIlya Leoshkevich #define __REPEAT_10000_1(f, x) \
2890c53187SIlya Leoshkevich 	__REPEAT_10000_2(f, x ## 0); \
2990c53187SIlya Leoshkevich 	__REPEAT_10000_2(f, x ## 1); \
3090c53187SIlya Leoshkevich 	__REPEAT_10000_2(f, x ## 2); \
3190c53187SIlya Leoshkevich 	__REPEAT_10000_2(f, x ## 3); \
3290c53187SIlya Leoshkevich 	__REPEAT_10000_2(f, x ## 4); \
3390c53187SIlya Leoshkevich 	__REPEAT_10000_2(f, x ## 5); \
3490c53187SIlya Leoshkevich 	__REPEAT_10000_2(f, x ## 6); \
3590c53187SIlya Leoshkevich 	__REPEAT_10000_2(f, x ## 7); \
3690c53187SIlya Leoshkevich 	__REPEAT_10000_2(f, x ## 8); \
3790c53187SIlya Leoshkevich 	__REPEAT_10000_2(f, x ## 9)
3890c53187SIlya Leoshkevich #define REPEAT_10000(f) \
3990c53187SIlya Leoshkevich 	__REPEAT_10000_1(f, 0); \
4090c53187SIlya Leoshkevich 	__REPEAT_10000_1(f, 1); \
4190c53187SIlya Leoshkevich 	__REPEAT_10000_1(f, 2); \
4290c53187SIlya Leoshkevich 	__REPEAT_10000_1(f, 3); \
4390c53187SIlya Leoshkevich 	__REPEAT_10000_1(f, 4); \
4490c53187SIlya Leoshkevich 	__REPEAT_10000_1(f, 5); \
4590c53187SIlya Leoshkevich 	__REPEAT_10000_1(f, 6); \
4690c53187SIlya Leoshkevich 	__REPEAT_10000_1(f, 7); \
4790c53187SIlya Leoshkevich 	__REPEAT_10000_1(f, 8); \
4890c53187SIlya Leoshkevich 	__REPEAT_10000_1(f, 9)
4990c53187SIlya Leoshkevich 
50*e286f231SIlya Leoshkevich #define DECLARE_RETURN(i) int test_modules_return_ ## i(void)
51*e286f231SIlya Leoshkevich REPEAT_10000(DECLARE_RETURN);
52*e286f231SIlya Leoshkevich 
5390c53187SIlya Leoshkevich #endif
54