Re: [PATCH] Module alias and table support

From: Adam J. Richter (adam@yggdrasil.com)
Date: Mon Nov 25 2002 - 22:26:27 EST


        I really like Rusty's "module aliases" idea.

        Its full potential has not been recognized in this discussion.

        If we're going to use strings for device ID matching,
then we can consolidate all of the xxx_device_id types into one:

struct device_id {
        const char *pattern;
        /* In practice, many drivers want scalar driver data, many
           want an integer, and a few could benefit from having both.
           Alternatively, we could have no extra match data at all
           and make drivers declare a parallel table, for it, but
           most drivers only have a few ID's to match, so the cost of
           providing these fields is small. */
        int match_scalar;
        void *match_ptr;
};

        There would be a long period of backward compatability wrappers
and porting to use the interface directly, but eventually we would have:

        - only one kind of module device table for generating module aliases,

        - device ID matching consolidated into drivers/base,

        - No need for user level programs to query devices to generate
          hotplug information (goodbye pcimodules, usbmodules,
          isapnpmodules),

        - Zero changes to user or kernel needed to add a new hotplug
          bus type (just drop the driver modules in /lib/modules/nnn/
          and run depmod).

Adam J. Richter __ ______________ 575 Oroville Road
adam@yggdrasil.com \ / Milpitas, California 95035
+1 408 309-6081 | g g d r a s i l United States of America
                         "Free Software For The Rest Of Us."
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sat Nov 30 2002 - 22:00:12 EST