Re: Newbie questions on the kernel programming

From: Erik Mouw
Date: Mon Jun 19 2006 - 05:41:28 EST


On Mon, Jun 19, 2006 at 09:30:12AM -0000, leo.liang.chen@xxxxxxxxx wrote:
> I am learning linux kernel programming starting from "The Linux Kernel
> Module Programming Guide"(http://www.faqs.org/docs/kernel/) . I have
> background in Windows DDK, but I am confused on the following topics.
> Can anyone here give me some hints.
>
> 1) MODULE_PARM() macro (http://www.faqs.org/docs/kernel/x350.html)
> static short int myshort = 1;
> static int myint = 420;
> static long int mylong = 9999;
> static char *mystring = "blah";
>
> MODULE_PARM (myshort, "h");
> MODULE_PARM (myint, "i");
> MODULE_PARM (mylong, "l");
> MODULE_PARM (mystring, "s");

Note that this is an obsolete syntax, it changed in 2.6 like this:

module_param(myint, int, 0);

> In the sample code, it is said the MODULE_PARM macro can allow
> arguments to be passed to the driver module. But how?

modprobe mydriver myshort=42

> 2) Character Device Drivers(http://www.faqs.org/docs/kernel/x571.html)
> I can not catch the key points in this section. What should I learn
> from the "chardev.c" sample? How can I install the module as a device?
> How can I call the functions in the driver?
>
> 3) The /proc File System(http://www.faqs.org/docs/kernel/x716.html)
> What's the main points in the section. How does the /proc file system
> matter linux kernel programming?

Hardly at all anymore.

See http://lwn.net/Kernel/LDD3/ for a book that describes the current
2.6 kernel.


Erik

--
+-- Erik Mouw -- www.harddisk-recovery.com -- +31 70 370 12 90 --
| Lab address: Delftechpark 26, 2628 XH, Delft, The Netherlands
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/