This diagram shows, how a application function call (open) control is transfered to the appropriate function (open) in a Linux device driver module.
1. Kernel module is loaded.
1a. Update the kernel run time variables (/proc/devices, /proc/modules).
1b. Create the device file with appropriate type, major and minor number in /dev/ folder.
2a. Identify the Device Type, Major, Minor numbers from /dev/ folder (ls -l /dev/devfile).
2b. Identify the Driver modules associated with this device file.
2c. Control transfered to the appropriate open() function in the driver.