It seems as time goes by the Linux Kernel is supporting more hardware and delivering more functionality. This is great but it introduces the problem of bloat. Bloat is bad but the fact of the matter is bloat cannot be avoided although it can be reduced.
Distribution vendors are the ones responsible for including more or less bloat in their Kernels and unfortunately the current trend is to simply include as much as possible without any thought whatsoever.
I was tinkering with Ubuntu 10.04 LTS (64-bit) a few days ago and found it very amusing that support for an S3 Trio graphics card was included in the 64-bit Kernel.
And a Voodoo 5, Cirrus Logic, Riva TNT....
Canonical Ltd has included support for various hardware (not just old ancient video cards) that no longer exists or even if it did, would no longer work on modern systems.
Even though most of these are compiled as Kernel modules and the impact on the core Kernel code size is minimal, there is no reason to include its support.
I can therefore only conclude that the reason why Canonical Ltd continue to include support for ancient unusable hardware and various other Kernel functionality that is deprecated is because they are lazy.
When was the last time a Kernel clean up exercise was performed?
But is it just Canonical Ltd who continue to bloat their Kernels unnecessarily with ancient hardware support and unused Kernel functionality?
Equally as time goes by hardware becomes obsolete and certain functionality unused but distribution vendors continue to include such support in their Kernels.