I decided to look at the API for schedulling in the kernel modules.
This turned out to be more time consuming than what I thought. The problem is that the tutorial I have been using is not up-to-date with the current version of the linux kernel.
There used to be only one structure to represent some task to perform. But after a change in the kernel
workqueue API, there are now to structures:
struct work_struct and
struct delayed_work. This was the reason why the kernel did not compile in a nice way.
I will post here the rest of the small example module for documentation purposes.