QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 921|回复: 2

请问一个alsa在ml上的编译问题.

[复制链接]
发表于 2006-2-10 17:42:43 | 显示全部楼层 |阅读模式
alsa 1.0.10  的 core 里出现一个
CONFIG_CREATE_WORKQUEUE_FLAGS for Aurox distro

代码是 acore/misc.inc
#ifdef CONFIG_CREATE_WORKQUEUE_FLAGS
  
  #include <linux/workqueue.h>
  
  struct workqueue_struct *snd_compat_create_workqueue2(const char *name)
  {
      return create_workqueue(name, 0);
  }
  
#endif

请问是什么东西  干吗用的  
在我机子上这里编译通不过 ( `create_workqueue' undeclared (first use in this function)
我用的是2.6.9这个老内核

------------------------------------------
In file included from /home/czy/tmp/alsa/alsa-driver-1.0.10/acore/misc.c:77:
/home/czy/tmp/alsa/alsa-driver-1.0.10/acore/misc.inc:494:33: macro "create_workqueue" passed 2 arguments, but takes just 1
In file included from /home/czy/tmp/alsa/alsa-driver-1.0.10/acore/misc.c:77:
/home/czy/tmp/alsa/alsa-driver-1.0.10/acore/misc.inc: In function `snd_compat_create_workqueue2':
/home/czy/tmp/alsa/alsa-driver-1.0.10/acore/misc.inc:494: error: `create_workqueue' undeclared (first use in this function)
/home/czy/tmp/alsa/alsa-driver-1.0.10/acore/misc.inc:494: error: (Each undeclared identifier is reported only once
/home/czy/tmp/alsa/alsa-driver-1.0.10/acore/misc.inc:494: error: for each function it appears in.)
make[4]: *** [/home/czy/tmp/alsa/alsa-driver-1.0.10/acore/misc.o] 错误 1
make[3]: *** [/home/czy/tmp/alsa/alsa-driver-1.0.10/acore] 错误 2
make[2]: *** [_module_/home/czy/tmp/alsa/alsa-driver-1.0.10] 错误 2
 楼主| 发表于 2006-2-10 18:11:29 | 显示全部楼层
include/adriver.h  里有这样的定义

#ifdef CONFIG_CREATE_WORKQUEUE_FLAGS
#include <linux/workqueue.h>
#undef create_workqueue
struct workqueue_struct *snd_compat_create_workqueue2(const char *name);
#define create_workqueue(name) snd_compat_create_workqueue2(name)
#endif


是说 create_workqueue 这个函数多了一个 参数??
我把misc.inc 里的改成这样??      这样编译是通得过的
-----------------------------------------------
  #ifdef CONFIG_CREATE_WORKQUEUE_FLAGS
  
  #include <linux/workqueue.h>
  
  struct workqueue_struct *snd_compat_create_workqueue2(const char *name)
  {
      return create_workqueue(name);
  }
  
  #endif
---------------------------------------------------------
回复

使用道具 举报

发表于 2006-2-10 20:29:58 | 显示全部楼层
alsa 这种驱动,是依赖内核的。
尤其是 2.6.11 (好象是)以后 Kernel 修改了很多接口的定义。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-25 09:46 , Processed in 0.050111 second(s), 15 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表