[PATCH] EISA bus MODALIAS attributes support
[linux-2.6.git] / scripts / mod / file2alias.c
index de76da8..f61c9cc 100644 (file)
@@ -444,6 +444,14 @@ static int do_input_entry(const char *filename, struct input_device_id *id,
        return 1;
 }
 
+static int do_eisa_entry(const char *filename, struct eisa_device_id *eisa,
+               char *alias)
+{
+       if (eisa->sig[0])
+               sprintf(alias, EISA_DEVICE_MODALIAS_FMT "*", eisa->sig);
+       return 1;
+}
+
 /* Ignore any prefix, eg. v850 prepends _ */
 static inline int sym_is(const char *symbol, const char *name)
 {
@@ -547,6 +555,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,
                do_table(symval, sym->st_size,
                         sizeof(struct input_device_id), "input",
                         do_input_entry, mod);
+       else if (sym_is(symname, "__mod_eisa_device_table"))
+               do_table(symval, sym->st_size,
+                        sizeof(struct eisa_device_id), "eisa",
+                        do_eisa_entry, mod);
 }
 
 /* Now add out buffered information to the generated C source */