Issue
Why does this function in the Linux kernel take a void *unused
parameter that serves no purpose in the body of the function?
Solution
Because it is a callback. The prototype of all callbacks used in this context must be equal, sometimes may have an unused parameter.
kthread_run
resquires a function like this in the first parameter:
int cb(void *param);
Answered By - Matheus Rossi Saciotto