【推荐阅读】
我有一个Linux设备驱动程序,需要操纵另一个设备驱动程序。具体来说,我需要打开设备文件并不时调用ioctl。
我已经阅读过有关sys_open,sys_ioctl等的信息,但是我不确定这是否可行。有没有更好的方法来做我想做的事?
如果继续使用sys_open,sys_ioctl等,如何确保在我自己的设备驱动程序之前已初始化需要打开的设备的驱动程序?
打开ioctl就足够了。您可以使用sysfs或procfs两者,它们都是简单的界面,但功能强大
要确保模块加载,请使用" request_module",如下所述从模块中加载模块。如果您不想从用户空间程序中加载。
int your_module_init (void)
{
request_module("<module_name>");
return 0;
}
或者在使用modprobe的情况下,以首先加载驱动程序模块的方式在模块之间创建相互依赖。
相关讨论:
request_module也可以用于编译到内核中的驱动程序吗?或仅用于模块(顾名思义)
request_module内部使用/ sbin / modprobe加载模块。您需要做的就是modules.dep才能进行更新。结帐proc条目/ proc / sys / kernel / modprobe