为什么在Linux内核中,声音驱动程序代码分别放在/ sound中而不是/ driver中

时间:2018-10-23 17:27:03

标签: linux-kernel driver

我最近正在浏览Linux内核代码,发现声音驱动程序代码放在/ sound中,而其他驱动程序(例如gpu)在/ driver中。谁能告诉我为什么?

1 个答案:

答案 0 :(得分:1)

出于历史原因。

从前,内核使用OSS声音驱动程序并将其放入/drivers/sound/中。但是,OSS作者后来停止开发免费驱动程序,并尝试将自己的驱动程序作为附件出售,因此内核中的驱动程序并未得到很好的维护。因此,几乎每个发行版都向内核添加了ALSA驱动程序。 ALSA修补程序使用/sound来避免与OSS驱动程序发生冲突。

从2.6内核系列开始,ALSA驱动程序正式并入内核,由于OSS驱动程序出于兼容性原因而保留,因此仍作为临时安排置于/sound下。

如今,OSS驱动程序已经不见了,但是将声音驱动程序移至/drivers会花费很多时间和精力,而没有太多好处,因此没有人愿意这样做。