aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/mod/file2alias.c
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/mod/file2alias.c')
-rw-r--r--scripts/mod/file2alias.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c
index 1e5d4d693195..36e3754db53a 100644
--- a/scripts/mod/file2alias.c
+++ b/scripts/mod/file2alias.c
@@ -496,7 +496,21 @@ static int do_sdio_entry(const char *filename,
496 ADD(alias, "c", id->class != (__u8)SDIO_ANY_ID, id->class); 496 ADD(alias, "c", id->class != (__u8)SDIO_ANY_ID, id->class);
497 ADD(alias, "v", id->vendor != (__u16)SDIO_ANY_ID, id->vendor); 497 ADD(alias, "v", id->vendor != (__u16)SDIO_ANY_ID, id->vendor);
498 ADD(alias, "d", id->device != (__u16)SDIO_ANY_ID, id->device); 498 ADD(alias, "d", id->device != (__u16)SDIO_ANY_ID, id->device);
499 return 1;
500}
501
502/* Looks like: ssb:vNidNrevN. */
503static int do_ssb_entry(const char *filename,
504 struct ssb_device_id *id, char *alias)
505{
506 id->vendor = TO_NATIVE(id->vendor);
507 id->coreid = TO_NATIVE(id->coreid);
508 id->revision = TO_NATIVE(id->revision);
499 509
510 strcpy(alias, "ssb:");
511 ADD(alias, "v", id->vendor != SSB_ANY_VENDOR, id->vendor);
512 ADD(alias, "id", id->coreid != SSB_ANY_ID, id->coreid);
513 ADD(alias, "rev", id->revision != SSB_ANY_REV, id->revision);
500 return 1; 514 return 1;
501} 515}
502 516
@@ -619,6 +633,10 @@ void handle_moddevtable(struct module *mod, struct elf_info *info,
619 do_table(symval, sym->st_size, 633 do_table(symval, sym->st_size,
620 sizeof(struct sdio_device_id), "sdio", 634 sizeof(struct sdio_device_id), "sdio",
621 do_sdio_entry, mod); 635 do_sdio_entry, mod);
636 else if (sym_is(symname, "__mod_ssb_device_table"))
637 do_table(symval, sym->st_size,
638 sizeof(struct ssb_device_id), "ssb",
639 do_ssb_entry, mod);
622} 640}
623 641
624/* Now add out buffered information to the generated C source */ 642/* Now add out buffered information to the generated C source */