Nouveau源码分析(一):从module_init开始

本文是Nouveau源码分析的第一部分,主要关注module_init过程。文章详细介绍了nouveau_drm_init的执行流程,包括nouveau_modset、nouveau_register_dsm_handler和关键的drm_pci_init接口。通过drm_pci_init,Nouveau驱动得以注册,并能匹配和管理PCI中的Nvidia设备。后续章节将深入探讨Nouveau对特定Nvidia设备的初始化步骤。
摘要由CSDN通过智能技术生成

Nouveau源码分析(一)


// /drivers/gpu/drm/nouveau/nouveau_drm.c
1089 module_init(nouveau_drm_init);
1090 module_exit(nouveau_drm_exit);

相信只要看过linux源码的都会知道这意味着什么,Nouveau被加载后第一个执行的函数和Nouveau被卸载前最后一个执行的函数.

显然,我们需要查看nouveau_drm_init

// /drivers/gpu/drm/nouveau/nouveau_drm.c
1062 static int __init
1063 nouveau_drm_init(void)
1064 {
1065         if (nouveau_modeset == -1) {
1066 #ifdef CONFIG_VGA_CONSOLE
1067                 if (vgacon_text_force())
1068                         nouveau_modeset = 0;
1069 #endif
1070         }
1071 
1072         if (!nouveau_modeset)
1073                 return 0;
1074 
1075         nouveau_register_dsm_handler();
1076         return drm_pci_init(&driver, &nouveau_drm_pci_driver);
1077 }

1065行,nouveau_modset,这是什么东西? 虽然我们完全可以跳过这段代码不看,但还是多了解一下吧.


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值