Subject: Re: Driver to device bindings
To: Christos Zoulas <christos@zoulas.com>
From: Nathan J. Williams <nathanw@wasabisystems.com>
List: tech-kern
Date: 12/29/2003 14:59:56
christos@zoulas.com (Christos Zoulas) writes:

> It is the chicken and egg problem. You'd need to store the information
> about which driver maps to which id somewhere, and that somewhere needs
> to be able to be dynamically updated as you add new drivers. We currently
> take the approach that it is better for the driver to know which variants
> of the device it supports (so that the driver can do different things
> depending on the device flavor) rather than the kernel telling the driver
> this is what kind of card you have.

Most of the information in the tables in individual drivers is a
single chip-type specifier, or a small number of flags. It's not hard
to imagine that a global kernel device table could have some room for
device-specific flags, and it would still be possible for drivers to
enforce stricter or weirder requirements in their match and attach
routines.

To my mind, the big question with a system like this is where the
table lives (kernel or userspace?) and how it would interact with
loadable modules. Overall, though, I think that it would be an
improvement to go this way. 

        - Nathan