当前位置: 技术问答>linux和unix
音频设备驱动使用出错!请高手指教!
来源: 互联网 发布时间:2015-10-23
本文导语: 音频设备已经提供了驱动程序,有一段内容如下: static struct audio_driver ssi_audio_driver = { owner: THIS_MODULE, open: ssi_audio_open, close: ...
音频设备已经提供了驱动程序,有一段内容如下:
static struct audio_driver ssi_audio_driver =
{
owner: THIS_MODULE,
open: ssi_audio_open,
close: ssi_audio_close,
output_block: ssi_audio_output_block,
ioctl: ssi_audio_ioctl,
halt_io: ssi_audio_reset,
trigger: ssi_audio_trigger,
set_channels: ssi_audio_setchannel,
};
我编写了一个应用程序,调用open ,close ,ioctl等都正常,但应用程序中调用set_channels, trigger,在arm-linux-gcc下编译不通过。
出错信息:
/tmp/ccfB8zzi.o: In function 'main':
/tmp/ccfB8zzi.o( .text+0x98):undefined reference to 'set_channels'
/tmp/ccfB8zzi.o( .text+0xa4):undefined reference to 'trigger'
collect2: ld returned 1 exit status
set_channels之类的能不能在应用程序中调用的?如果能,应用程序还有做那些修改?初学Linux驱动,问题比较低级,请高手指教!
static struct audio_driver ssi_audio_driver =
{
owner: THIS_MODULE,
open: ssi_audio_open,
close: ssi_audio_close,
output_block: ssi_audio_output_block,
ioctl: ssi_audio_ioctl,
halt_io: ssi_audio_reset,
trigger: ssi_audio_trigger,
set_channels: ssi_audio_setchannel,
};
我编写了一个应用程序,调用open ,close ,ioctl等都正常,但应用程序中调用set_channels, trigger,在arm-linux-gcc下编译不通过。
出错信息:
/tmp/ccfB8zzi.o: In function 'main':
/tmp/ccfB8zzi.o( .text+0x98):undefined reference to 'set_channels'
/tmp/ccfB8zzi.o( .text+0xa4):undefined reference to 'trigger'
collect2: ld returned 1 exit status
set_channels之类的能不能在应用程序中调用的?如果能,应用程序还有做那些修改?初学Linux驱动,问题比较低级,请高手指教!
|
ioctl应该可以实现set_channels,trigger等函数的功能,推荐直接使用ioctl就行了。