在字符字符设备中的open函数中(例如leds_open())常常会看到nonseekable_open(inode, file);这个函数,意思是不允许重定位文件的指针。
在C语言中有函数feek()和ftell()函数,能够让我们想对待数组那样对待一个文件,在fopen()打开的文件中直接移动到任意字节处。但像串口或键盘一类设备,使用的是数据流,所以定位这些设备没有意义,有可能还会引起内存错误,所以要拒绝使用seek()函数。这样即使在file_operations中声明了llseek()函数时,也不能使用。
参考博客:
https://blog.csdn.net/gongmin856/article/details/8273545
https://blog.csdn.net/sybnfkn040601/article/details/73718332