G. 为drivers/video/fbdev/da8xx-fb.c文件添加如下内容:
static vsync_callback_t vsync_cb_handler;
static void *vsync_cb_arg;
int register_vsync_cb(vsync_callback_t handler, void *arg, int idx)
{
if ((vsync_cb_handler == NULL) && (vsync_cb_arg == NULL)) {
vsync_cb_arg = arg;
vsync_cb_handler = handler;
} else {
return -EEXIST;
}
return 0;
}
EXPORT_SYMBOL(register_vsync_cb);
int unregister_vsync_cb(vsync_callback_t handler, void *arg, int idx)
{
if ((vsync_cb_handler == handler) && (vsync_cb_arg == arg)) {
vsync_cb_handler = NULL;
vsync_cb_arg = NULL;
} else {
return -ENXIO;
}
return 0;
}
EXPORT_SYMBOL(unregister_vsync_cb);
H. 为include/video/da8xx-fb.h文件添加如下内容:
typedef void (*vsync_callback_t)(void *arg);
int register_vsync_cb(vsync_callback_t handler, void *arg, int idx);
int unregister_vsync_cb(vsync_callback_t handler, void *arg, int idx);
是不是觉得内核的修改很复杂呢?其实它的主要功能,就是添加了一个reset_controller的platform设备,并且提供reset和vsync_cb函数供Graphics SDK调用。编译完内核,就可以进行文件系统的制作啦(^_^)
文章评论(0条评论)
登录后参与讨论