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?
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With