projects
/
cascardo
/
kernel
/
samples
/
01.hello
/
.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Added some comments about what our code do.
[cascardo/kernel/samples/01.hello/.git]
/
hello.c
diff --git
a/hello.c
b/hello.c
index
01e8c26
..
25c722d
100644
(file)
--- a/
hello.c
+++ b/
hello.c
@@
-1,17
+1,24
@@
+/* Must be included by every module. */
#include <linux/module.h>
#include <linux/module.h>
+/* Should be declared to not taint the kernel. */
MODULE_LICENSE("GPL");
MODULE_LICENSE("GPL");
+/* Our init function: returns 0 if successfull, an error code, otherwise. */
static int hello_init(void)
{
static int hello_init(void)
{
+ /* printk is just like printf, but without floating point support. */
printk(KERN_ALERT "Hello, world!\n");
return 0;
}
printk(KERN_ALERT "Hello, world!\n");
return 0;
}
+/* Our exit function: static is good, so we do not pollute namespace. */
static void hello_exit(void)
{
static void hello_exit(void)
{
+ /* KERN_ALERT is a string macro prepended to our message. */
printk(KERN_ALERT "Goodbye, cruel world!\n");
}
printk(KERN_ALERT "Goodbye, cruel world!\n");
}
+/* Here, we declare our module init and exit functions. */
module_init(hello_init);
module_exit(hello_exit);
module_init(hello_init);
module_exit(hello_exit);