Я только собирался перейти к одному из кодов в ядре Linux для UART.Я смог связать большинство вещей, кроме той, которая описана здесь.
В файле "tty_io.c" и функции "tty_cdev_add" мы ясно видим, что
driver->cdevs[index]->ops = &tty_fops;
Где "tty_fops" - это tty fops по умолчанию.
Но иногда вызывается код драйвера mian "tty_set_operations", который устанавливает "ttydriver-> ops = driver_fops".
Я знаючто когда open будет вызываться в основном, open из cdev должен вызываться.Но я не могу найти, где cdev_open, который является открытой по умолчанию операцией tty, сопоставлен с вызовами, специфичными для драйвера.