帧缓冲驱动与网络接口卡驱动详解
帧缓冲驱动
帧缓冲驱动是Linux图形驱动中较为简单的一种,它对硬件进行了高度抽象,所需的实现工作较少。
驱动注册与移除
在编写帧缓冲驱动时,需要进行注册和移除操作。注册时,使用 register_framebuffer(info) 函数将驱动注册到内核,并调用 hardware_enable_controller(my_private_struct) 来启用硬件控制器。示例代码如下:
/* Register with the kernel */
ret = register_framebuffer(info);
hardware_enable_controller(my_private_struct);
return 0;
移除驱动时,需要释放 probe() 函数中获取的资源,执行 iounmap() 和 release_mem_region() 操作,反向处理DMA,禁用硬件控制器,先注销帧缓冲,再释放内存。示例代码如下:
static int myfb_remove(struct platform_device *pdev)
{
/* iounmap() memory and release_mem_region() */
[...]
/* Reverse DMA, dma_free_*
超级会员免费看
订阅专栏 解锁全文

137

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



