最近在看framebuffer的內核源碼:
在fbmem.c中有 register_chrdev(FB_MAJOR,"fb",&fb_fops)
這裡的fb_fops應該就是上層訪問的接口(write、read、mmap等操作).
在注冊一個frambuffer設備的時候,會使用register_framebuffer,追蹤可以看到
fb_info->dev = device_create(fb_class, fb_info->device,
MKDEV(FB_MAJOR, i), NULL, "fb%d", i);
如果注冊一個設備fb0,那麼在訪問fb0的時候應該是執行fb_fops的操作函數。
請問:它們是如何通過一個主設備號實現關聯的?
我猜測和 device_create有關,但是由於水平有限,追蹤源碼沒有找到結果
http://blog.chinaunix.net/uid-28458801-id-3474917.html