diff options
Diffstat (limited to 'scripts/mod/file2alias.c')
-rw-r--r-- | scripts/mod/file2alias.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index c91eba751804..81b0d842772d 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c @@ -1335,6 +1335,31 @@ static int do_wmi_entry(const char *filename, void *symval, char *alias) return 1; } +/* Looks like: vop:dNvN */ +static int do_vop_entry(const char *filename, void *symval, + char *alias) +{ + DEF_FIELD(symval, vop_device_id, device); + DEF_FIELD(symval, vop_device_id, vendor); + + strcpy(alias, "vop:"); + ADD(alias, "d", device != VOP_DEV_ANY_ID, device); + ADD(alias, "v", vendor != VOP_DEV_ANY_ID, vendor); + + add_wildcard(alias); + return 1; +} + +/* Looks like: cosm:S */ +static int do_cosm_entry(const char *filename, void *symval, + char *alias) +{ + DEF_FIELD_ADDR(symval, cosm_device_id, name); + sprintf(alias, COSM_MODULE_PREFIX "%s", *name); + + return 1; +} + /* Does namelen bytes of name exactly match the symbol? */ static bool sym_is(const char *name, unsigned namelen, const char *symbol) { @@ -1407,6 +1432,8 @@ static const struct devtable devtable[] = { {"typec", SIZE_typec_device_id, do_typec_entry}, {"tee", SIZE_tee_client_device_id, do_tee_entry}, {"wmi", SIZE_wmi_device_id, do_wmi_entry}, + {"vop", SIZE_vop_device_id, do_vop_entry}, + {"cosm", SIZE_cosm_device_id, do_cosm_entry}, }; /* Create MODULE_ALIAS() statements. |