I assume you are using DEL because you mention GPIO module.
>The GPIO example only works after i used the command “modprobe gpio”.
The GPIO example is more of an “How to write Linux kernel module” example than “How to use GPIO” example
>Do i have to make that call every time i start the system?
There are number of standard Linux autostart scripts so technically you can automate this, but then again, kernel module has no point if you are loading it on every boot.
Please use sysfs driver instead.
Per DigiESP online help:
The GPIOs can be easily accessed from the sysfs. GPIO sysfs support can be enabled in Linux Kernel Configuration > Device Drivers > GPIO Support > /sys/class/gpio/… (sysfs interface).
For information about how to manage the GPIOs from sysfs, refer to the Linux kernel documentation at kernel/linux-2.6.35/Documentation/gpio.txt
DEL online help explains the mknode part:
GPIO device nodes must be manually created, one per GPIO pin. First, create a container folder named /dev/gpio. Then add to that location a character node with major number 240 and a minor number that matches the GPIO number. For simplicity, this example names the GPIO pins by their numbers, as shown below:
mknod 48 c 240 48
mknod 53 c 240 53
mknod 60 c 240 60
crw-rw---- 1 root root 240, 48 Jan 1 1970 48
crw-rw---- 1 root root 240, 53 Jan 1 1970 53
crw-rw---- 1 root root 240, 60 Jan 1 1970 60
Alternatively, to have the system create the device nodes after startup, edit the special system file /etc/makedevs.d/platformname with entries for creating the gpio folder and the required device nodes. For example:
/dev/gpio d 755
/dev/gpio/48 c 660 0 0 240 48
/dev/gpio/53 c 660 0 0 240 53
/dev/gpio/60 c 660 0 0 240 60
Depending on the platform, the /etc/makedevs.d/platformname file may already contain instructions to create the container folder /dev/gpio and nodes for certain GPIOs.
If you’d like to understand more about the magic behind those numbers i’d recommend buying a good Linux developer’s book.
Here is a link to freescale forum with some more explanations and examples (3rd post):