C 多次加载内核模块(snd aloop)
我想加载“snd aloop”,以便在终端获得多个设备节点,如: /dev/snd/xxx0 /dev/snd/xxx1 /dev/snd/xxxN (如何)如果需要的话,我可以使用简单的modprobe命令(ubuntu16.04)和一些helper命令吗?需要确切的步骤来做这件事C 多次加载内核模块(snd aloop),c,linux-kernel,linux-device-driver,C,Linux Kernel,Linux Device Driver,我想加载“snd aloop”,以便在终端获得多个设备节点,如: /dev/snd/xxx0 /dev/snd/xxx1 /dev/snd/xxxN (如何)如果需要的话,我可以使用简单的modprobe命令(ubuntu16.04)和一些helper命令吗?需要确切的步骤来做这件事 如果没有,(如何)我可以用一些C代码包装“snd aloop”内核驱动程序,并生成它的多个实例?需要精确的内核C API和一些示例代码…据我所知,您不能加载同一内核模块的多个实例 您可以通过调用设备创建API来创
如果没有,(如何)我可以用一些C代码包装“snd aloop”内核驱动程序,并生成它的多个实例?需要精确的内核C API和一些示例代码…据我所知,您不能加载同一内核模块的多个实例 您可以通过调用设备创建API来创建多个“设备”。例如,netdev、char_dev,。。。。你要什么都行
有什么具体的理由这样做吗?从单个内核模块开始,创建多个设备要简单得多。如果您想按需创建设备,请使用ioctl()或proc,无论您想要什么。是的,正确,我不能在snd aloop上多次执行modprobe。italic\您可以通过调用设备创建API创建多个“设备”。例如,netdev、char_dev,。。。。不管你想要什么。请给我一个书面的例子,如何攻击snd aloop来创建它的多个实例。结果会怎样?你有什么具体的理由这样做吗?从单个内核模块开始,创建多个设备要简单得多。如果您想按需创建设备,请使用ioctl()或proc,无论您想要什么。\ italic因为我想使用snd aloop及其代码:如果不可能,请给我一个书面示例如何修改它,以便拥有多个ALSA设备,如:/dev/snd/pcmxx1/dev/snd/pcmxx2/dev/snd/pcmxx3i检查了源代码-我不熟悉这个环回声卡驱动程序,但我能理解的是:1)alsa_card_loopback_init正在初始化驱动程序。如您所见,基于SNDRV_卡,它循环并注册平台驱动程序。能否检查SNDDRV_卡并启用阵列?设备的数量是多少?2) 注册平台驱动程序后,内核将调用probe()API来检测设备。环回_探测()。在这里,您可以检查在增加“启用”设备的数量后它被调用的次数。