Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why in linux kernel sound driver code is placed separately in /sound rather than /driver

I am recently skimming linux kernel code and find that sound driver code is placed in /sound while other drivers for example gpu is in /driver. Can anyone tell me why?

like image 639
Yates Avatar asked Sep 03 '25 15:09

Yates


1 Answers

For historical reasons.

Once upon a time, the kernel took the OSS sound drivers and put them into /drivers/sound/. However, the OSS author later stopped developing the free drivers and tried to sell his own as an add-on, so the drivers in the kernel were not really well maintained. For this reason, almost every distribution added the ALSA drivers to the kernel instead. The ALSA patch used /sound to avoid conflicts with the OSS drivers.

Beginning with the 2.6 kernel series, the ALSA drivers were officially merged into the kernel, and still put under /sound as a makeshift arrangement because the OSS drivers were kept for compatibility reasons.

Nowadays, the OSS drivers are gone, but moving the sound drivers into /drivers would cost time and effort, without much of a benefit, so nobody wants to bother doing it.

like image 82
CL. Avatar answered Sep 05 '25 05:09

CL.