我只是去Linux内核中用于UART的代码之一。除了这里描述的内容之外,我能够链接大多数内容。
在文件“ tty_io.c”和函数“ tty_cdev_add”中,我们可以清楚地看到
driver->cdevs[index]->ops = &tty_fops;
其中“ tty_fops”是默认的tty fops。
但是在主驱动程序代码“ tty_set_operations”中有人被调用,这将设置“ ttydriver-> ops = driver_fops”。
我知道,当基本上将调用open时,应该调用cdev中的open。但是我找不到默认的tty操作open的cdev_open映射到特定于驱动程序的调用。