X-Git-Url: http://git.cascardo.eti.br/?p=cascardo%2Fkernel%2Fsamples%2F01.hello%2F.git;a=blobdiff_plain;f=hello.c;h=b5c0a6d6cd88104bf427aa3fd1b2ca7cd4d90d39;hp=327ee34e14bb604c94edca18c009d0c1175d5ab5;hb=HEAD;hpb=af72d669a34282656a348da78528b3e331af8a6d diff --git a/hello.c b/hello.c index 327ee34..b5c0a6d 100644 --- a/hello.c +++ b/hello.c @@ -14,11 +14,18 @@ MODULE_LICENSE("GPL"); #define SUBJECT "world" #endif +static char *subject = SUBJECT; + +/* Define subject as a char pointer parameter. */ +module_param(subject, charp, 0664); +/* Parameter description. */ +MODULE_PARM_DESC(subject, "Subject to say hello to."); + /* Our init function: returns 0 if successfull, an error code, otherwise. */ static int __init hello_init(void) { /* printk is just like printf, but without floating point support. */ - printk(KERN_ALERT "Hello, " SUBJECT "!\n"); + printk(KERN_ALERT "Hello, %s!\n", subject); return 0; } @@ -26,7 +33,7 @@ static int __init hello_init(void) static void __exit hello_exit(void) { /* KERN_ALERT is a string macro prepended to our message. */ - printk(KERN_ALERT "Goodbye, cruel " SUBJECT "!\n"); + printk(KERN_ALERT "Goodbye, cruel %s!\n", subject); } /* Here, we declare our module init and exit functions. */