#include #include #include MODULE_DESCRIPTION("Sort module"); MODULE_AUTHOR("so"); MODULE_LICENSE("GPL"); #define LOG_LEVEL KERN_WARNING #define N 10 static int prev = 18703; static int pseudo_random(void) { prev *= 13579; if (prev < 0) prev *= -1; return prev; } static int my_hello_init(void) { int i, j, temp; int a[N]; printk(LOG_LEVEL "Entering sort module!\n"); for (i = 0; i < N; i++) a[i] = pseudo_random() % 50; printk(LOG_LEVEL "Unsorted vector:\n"); for (i = 0; i < N; i++) printk(LOG_LEVEL "%d\n", a[i]); for (i = 0; i < N - 1; i++) for (j = i + 1; j < N; j++) if (a[i] > a[j]) { temp = a[i]; a[i] = a[j]; a[j] = temp; } printk(LOG_LEVEL "Sorted vector:\n"); for (i = 0; i < N; i++) printk(LOG_LEVEL "%d\n", a[i]); return 0; } static void hello_exit(void) { printk(LOG_LEVEL "Exiting sort module!\n"); } module_init(my_hello_init); module_exit(hello_exit);