Otwieranie pliku urządzenia znakowego oznacza wywołanie funkcji chrdev_open() (definicja w fs/devices.c).
int chrdev_open(struct inode * inode, struct file * filp)Parametrami funkcji są wskaźnik do obiektru i-węzła reprentującego dany plik oraz wskaźnik do struktury obiektu pliku. Oto kolejne czynności wykonywane wewnątrz tej funkcji:
1. pobranie z tablicy rozdzielczej wskaźnika do zestawu operacji za pomocą
funkcji get_chrfops() i umieszczenie go w polu filp->f_op
obiektu pliku,
2. wywołanie operacji open z tego zestawu
Po wykonaniu powyższego algorytmu, pole f_op obiektu pliku
będzie wskazywało zestaw operacji plikowych odpowiedni dla danego
urządzenia. Dzięki temu na pliku będzie można wykonywać pozostałe
operacje plikowe.