Better question? Why do some vendors such as HP restrict the capabilities of ACPI and keep some hardware hidden from the OS?
There’s an alternative universe where we decided to teach the kernel about every piece of hardware it should run on. Fortunately (or, well, unfortunately) we’ve seen that in the ARM world. Most device-specific simply never reaches mainline, and most users are stuck running ancient kernels as a result. Imagine every x86 device vendor shipping their own kernel optimised for their hardware, and now imagine how well that works out given the quality of their firmware. Does that really seem better to you?
Now this is a very good observation however this mess only happened with ARM because there’s no standard firmware (UEFI) support for it like we have with x86. In x86 the UEFI is made by brands such as AMI, Phoenix and Insyde that essentially provide a generic hardware abstraction layer in a more or less consistent way to all hardware manufacturers and kernels while with ARM everyone does it’s thing. Another thing to consider is that if you look at the boards from the big vendors, DELL, HP and whatnot, they’re all outsourced / designed by a small group of Chinese companies making things even more standard.