关于Platform 总线

qq_17496907 2016-03-10 10:41:48
小弟刚接触系统驱动,然后老大让看ASoc体系结构,准备干声卡驱动了,然后干着干着就郁闷了,内核中声卡驱动是基于平台总线的,驱动注册时并没有f实例化ile_operation这个结构体,当然也就没有read,write等接口,现在问题来了,我用户空间如何去操作这个声卡?是打开对应的设备节点,然后用ioctl命令么?但是如果这样的话open操作如何传进内核打开声卡呢?请知情者为俺解答,万分感谢,临表涕零。。。。。。
...全文
406 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yirenyang 2016-03-19
  • 打赏
  • 举报
回复
驱动加载之后节点的生成是有file_operations结构体赋值的;比如生成/dev/snd/controlC0的控制节点,这个file_operations的结构体在内核代码的/sound/core/control.c中,是以下这个的值;其他的节点也是有,你可以参考看看。 static const struct file_operations snd_ctl_f_ops = { .owner = THIS_MODULE, .read = snd_ctl_read, .open = snd_ctl_open, .release = snd_ctl_release, .llseek = no_llseek, .poll = snd_ctl_poll, .unlocked_ioctl = snd_ctl_ioctl, .compat_ioctl = snd_ctl_ioctl_compat, .fasync = snd_ctl_fasync, };
jlovej1314 2016-03-18
  • 打赏
  • 举报
回复
这个博客讲的很好:http://www.cnblogs.com/jason-lu/articles/3123750.html 声卡的设备在 /dev/snd/pcm*, pcmC0D0c为capture设备(麦克风输入),pcmC0D0p为playback设备(功放输出)。
jlovej1314 2016-03-18
  • 打赏
  • 举报
回复
http://www.cnblogs.com/jason-lu/articles/3123750.html
qq_17496907 2016-03-10
  • 打赏
  • 举报
回复
有知道的进来看看啊 万分感谢 自顶

1,318

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧