如果需要编写一个DRM驱动,应该怎么做呢?具体流程如下:
(1) 定义struct drm_driver,并初始化成员name、desc、data、major、minor、driver_features、fops、dumb_create等;
(2)调用drm_dev_alloc函数分配并初始化一个struct drm_device;
(3) 调用drm_mode_config_init初始化drm_device中mode_config结构体;
(4) 调用drm_xxx_init创建 framebuffer、plane、crtc、encoder、connector 这5个 drm_mode_object;
在DRM子系统中是通过component框架完成各个功能模块的注册,比如在:
CRTC驱动程序:包含了plane和crtc的初始化工作;
订阅专栏 解锁全文
460



被折叠的 条评论
为什么被折叠?



