何小龍——DRM 驅動程式開發(VKMS)部分程式碼修正
阿新 • • 發佈:2021-02-02
原部落格地址如下:https://blog.csdn.net/hexiaolong2009/article/details/105180621
在驅動例程的示例4當中,有一個函式drm_fb_cma_creat找不到,如下:
static const struct drm_mode_config_funcs vkms_mode_funcs = {
.fb_create = drm_fb_cma_create,
};
上網搜了一下,發現這個東西:
發現rockchip裡有類似的定義,於是開始翻原始碼,發現:
static const struct drm_mode_config_funcs rockchip_drm_mode_config_funcs = {
.fb_create = rockchip_fb_create,
.output_poll_changed = drm_fb_helper_output_poll_changed,
.atomic_check = drm_atomic_helper_check,
.atomic_commit = drm_atomic_helper_commit,
};
繼續翻,找rockchip_fb_creat函式的定義,找到
static struct drm_framebuffer *
rockchip_fb_create(struct drm_device *dev, struct drm_file *file,
const struct drm_mode_fb_cmd2 *mode_cmd)
最後在drm_gem_framebuffer_helper.h找到一個函式drm_gem_fb_create(),定義如下:
struct drm_framebuffer *
drm_gem_fb_create(struct drm_device *dev, struct drm_file *file,
const struct drm_mode_fb_cmd2 *mode_cmd);
和drm_fb_cma_creat函式一致,可能是函式的名字改了,換成這個函式就可以編譯了