以前接触到音频驱动移植的时候,就注意到内核音频驱动位于sound目录下而不是drivers/sound,觉得有点奇怪,但是也没有再追究,当作常识记下了。

这次在分析内核源码目录的时候,再次碰到了这个问题,想稍微了解下这其中的缘由。

到现在为止获得信息如下:
1、早期的2.4内核所有的音频驱动和其他驱动一样都是位于drivers目录下的:drivers/sound

2、到了2.5开发版内核,所有的音频驱动包括音频框架代码由drivers/sound移到了sound目录下:

   (1)2.6内核之前的git记录查找http://git.kernel.org/?p=linux/kernel/git/tglx/history.git;a=summary

   (2)音频驱动代码被移动的git提交:


authorJaroslav Kysela  
 Wed, 13 Feb 2002 03:32:11 +0000 (19:32 -0800)
committerJaroslav Kysela  
 Wed, 13 Feb 2002 03:32:11 +0000 (19:32 -0800)
commit91e39521bbf6557b429f87da38e9bbf8cad301f7
treed8a20d04d5a13a5934fd92316778ca5160141f4etree | snapshot
parent74c0102446bb3160f186555bd133062003acf194commit | diff
[PATCH] ALSA patch for 2.5.4

Integrate ALSA into v2.5.4

            Jaroslav

这个提交是在2.5.4~2.5.5-pre1之间发生的

从这个提交信息可以看出,是在Linux内核正式引入ALSA音频构架的时候,所有的代码都被移动到了drivers/sound下。 

也就是在同一天,音频子系统的维护由原来的Alan Cox转为Jaroslav Kysela:
  1. Make Jaroslav the sound maintainer, remove Alan on his request.
  2. authorLinus Torvalds
  3. Wed, 13 Feb 2002 04:05:43 +0000 (20:05 -0800)
  4. committerLinus Torvalds
  5. Wed, 13 Feb 2002 04:05:43 +0000 (20:05 -0800)
  6. commitfdf4ccff6939d5d2f245e2fc3d66db4bb924424a
  7. tree06027469c4cb104fb885c764542701bfa15b2185tree | snapshot
  8. parent9b04ae8c2d16e2b1539aeffee84d4f8fb47aca5acommit | diff
  9. Make Jaroslav the sound maintainer, remove Alan on his request.

所以这个代码的移动应该是在ALSA那个分支开发的时候就已经是这样的了,但是为什么要这么做?我去alsa-dev的邮件列表中查找,只找到了:

Re: [linux-audio-dev] Re: [Alsa-devel] ALSA is in 2.5!!!
这些信息,但是原因还是没有找到。这个只有请教高人了~~~不知哪位看官可以找到原因~~~~~
12-24 07:43