On Mon, Jul 14, 2008 at 07:45:46PM -0400, Jon Smirl wrote:
On 7/14/08, Timur Tabi [off-list ref] wrote:
quoted
Mark Brown wrote:
quoted
> chassis - on Linux drivers can be automatically loaded based on these
> strings. See drivers/misc/thinkpad_acpi.c for an example of a driver
> that does this.
Allowing multiple binds at the root causes the problem of something
like compatible="lite5200b,mpc5200-simple". Both platforms would bind
and that's not what you want.
Binding isn't the issue here - it's loading the driver in the first
place. Once the drivers are loaded they can (hopefully) figure out if
they are running on appropriate hardware.
Another scheme would be to add kernel code to always create virtual OF
devices like "lite5200b-fabric" that are derived off from the machine
name that achieved a bind.
This is what I'm suggesting, modulo the fact that I'm suggesting *not*
creating virtual devices but rather providing a mechanism for drivers to
load without binding to anything. It strikes me that you're going to
run into similar situations with other hardware at some point - either
for undocumented extras that you happen to know exist on the system
(like much of the DMI usage on x86) or for other things where you've got
on-board hardware structured like sound hardware tends to be.