On Tue, Nov 4, 2008 at 19:39, Nathaniel McCallumAlso, would it not be possible to break the 4k barrier with a binary attribute?
<nathaniel@xxxxxxxxxxxxxxxx> wrote:
Please CC me to responses as I'm not subscribed to LKML. Also, this is my
first kernel patch, advise is certainly welcome.
For something I'm working on I have the need to answer the question, "given
a hardware ID, does Linux distro X have a driver to support this hardware?"
and more specifically, "which drivers support this hardware?" I can,
generally speaking, get this data from files like
/lib/modules/*/modules.alias. However, this does not work for drivers built
into the kernel. With that in mind, I've cooked up a little proof of
concept. Basically, its a sysfs file
/sys/modules/$module/drivers/$driver/modalias that, when read, contains
modalias-style filters for this driver.
The attached patch only does this for PCI drivers, each subsystem would need
a patch like this. Is this idea crazy? Is there a better implementation?
Hmm, what if that gets larger than 4k? It seems not really like
something for sysfs. There are also drivers which export a modalias
which matches more devices, than the device it actually would accept
to bind to. Some driver have logic in the match() function to exclude
stuff.