On Thu, Dec 04, 2014 at 11:12:34AM +0000, Grant Likely wrote:
On Sat, 29 Nov 2014 23:27:52 +0100
There basically are two ways around that. The first one is to have all knowledge related to device IDs in drivers (which effectively is what Windows does and which implies "board files" of sorts) and the second one is to make it possible to use overlays on top of the existing ACPI tables that will allow people to provide the properties expected by a more generic driver (this way, if the vendor didn't care to provide _DSD, for example, in the original ACPI tables, the system integrator would be able to use an overlay in an initramfs or boot partition to amend them).
Either approach amounts to pretty much the same thing. The kernel/distribution needs to carry around device specific driver data which is exactly how we've supported x86 hardware. Whether the data is in-kernel or in-userspace is kind of an implementation detail. :-)
This isn't entirely what we've doing for x86 up until now - there's always been an expectation that the firmware will be setting things up to work by default (or so we can read the setup back from the hardwaer when we take over) and we're mostly just carrying quirk data when that doesn't pan out.
_DSD support is a different situation though. Even if Windows doesn't care to directly support _DSD, drivers are free to use _DSD properties. This is the scenario where the shared binding repository will be important.
Right, this would be ideal for the devices we're looking at.