diff options
Diffstat (limited to 'scripts/mod/file2alias.c')
| -rw-r--r-- | scripts/mod/file2alias.c | 29 | 
1 files changed, 29 insertions, 0 deletions
diff --git a/scripts/mod/file2alias.c b/scripts/mod/file2alias.c index c91eba751804..02d5d79da284 100644 --- a/scripts/mod/file2alias.c +++ b/scripts/mod/file2alias.c @@ -919,6 +919,24 @@ static int do_i2c_entry(const char *filename, void *symval,  	return 1;  } +static int do_i3c_entry(const char *filename, void *symval, +			char *alias) +{ +	DEF_FIELD(symval, i3c_device_id, match_flags); +	DEF_FIELD(symval, i3c_device_id, dcr); +	DEF_FIELD(symval, i3c_device_id, manuf_id); +	DEF_FIELD(symval, i3c_device_id, part_id); +	DEF_FIELD(symval, i3c_device_id, extra_info); + +	strcpy(alias, "i3c:"); +	ADD(alias, "dcr", match_flags & I3C_MATCH_DCR, dcr); +	ADD(alias, "manuf", match_flags & I3C_MATCH_MANUF, manuf_id); +	ADD(alias, "part", match_flags & I3C_MATCH_PART, part_id); +	ADD(alias, "ext", match_flags & I3C_MATCH_EXTRA_INFO, extra_info); + +	return 1; +} +  /* Looks like: spi:S */  static int do_spi_entry(const char *filename, void *symval,  			char *alias) @@ -1335,6 +1353,15 @@ static int do_wmi_entry(const char *filename, void *symval, char *alias)  	return 1;  } +/* Looks like: mhi:S */ +static int do_mhi_entry(const char *filename, void *symval, char *alias) +{ +	DEF_FIELD_ADDR(symval, mhi_device_id, chan); +	sprintf(alias, MHI_DEVICE_MODALIAS_FMT, *chan); + +	return 1; +} +  /* Does namelen bytes of name exactly match the symbol? */  static bool sym_is(const char *name, unsigned namelen, const char *symbol)  { @@ -1386,6 +1413,7 @@ static const struct devtable devtable[] = {  	{"vmbus", SIZE_hv_vmbus_device_id, do_vmbus_entry},  	{"rpmsg", SIZE_rpmsg_device_id, do_rpmsg_entry},  	{"i2c", SIZE_i2c_device_id, do_i2c_entry}, +	{"i3c", SIZE_i3c_device_id, do_i3c_entry},  	{"spi", SIZE_spi_device_id, do_spi_entry},  	{"dmi", SIZE_dmi_system_id, do_dmi_entry},  	{"platform", SIZE_platform_device_id, do_platform_entry}, @@ -1407,6 +1435,7 @@ 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}, +	{"mhi", SIZE_mhi_device_id, do_mhi_entry},  };  /* Create MODULE_ALIAS() statements.  |