Commit 1ce589ad authored by Boris Brezillon's avatar Boris Brezillon

i3c: Generate aliases for i3c modules

This part was missing, thus preventing user space from loading modules
automatically when MODALIAS uevents are received.
Signed-off-by: default avatarBoris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: default avatarVitor Soares <vitor.soares@synopsys.com>
Link: https://lore.kernel.org/linux-i3c/79687073b915182e06fccfb18adcedfd0fadbc99.1582796652.git.vitor.soares@synopsys.com
parent 7ec0ddb0
...@@ -145,6 +145,13 @@ int main(void) ...@@ -145,6 +145,13 @@ int main(void)
DEVID(i2c_device_id); DEVID(i2c_device_id);
DEVID_FIELD(i2c_device_id, name); DEVID_FIELD(i2c_device_id, name);
DEVID(i3c_device_id);
DEVID_FIELD(i3c_device_id, match_flags);
DEVID_FIELD(i3c_device_id, dcr);
DEVID_FIELD(i3c_device_id, manuf_id);
DEVID_FIELD(i3c_device_id, part_id);
DEVID_FIELD(i3c_device_id, extra_info);
DEVID(spi_device_id); DEVID(spi_device_id);
DEVID_FIELD(spi_device_id, name); DEVID_FIELD(spi_device_id, name);
......
...@@ -919,6 +919,24 @@ static int do_i2c_entry(const char *filename, void *symval, ...@@ -919,6 +919,24 @@ static int do_i2c_entry(const char *filename, void *symval,
return 1; 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 */ /* Looks like: spi:S */
static int do_spi_entry(const char *filename, void *symval, static int do_spi_entry(const char *filename, void *symval,
char *alias) char *alias)
...@@ -1386,6 +1404,7 @@ static const struct devtable devtable[] = { ...@@ -1386,6 +1404,7 @@ static const struct devtable devtable[] = {
{"vmbus", SIZE_hv_vmbus_device_id, do_vmbus_entry}, {"vmbus", SIZE_hv_vmbus_device_id, do_vmbus_entry},
{"rpmsg", SIZE_rpmsg_device_id, do_rpmsg_entry}, {"rpmsg", SIZE_rpmsg_device_id, do_rpmsg_entry},
{"i2c", SIZE_i2c_device_id, do_i2c_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}, {"spi", SIZE_spi_device_id, do_spi_entry},
{"dmi", SIZE_dmi_system_id, do_dmi_entry}, {"dmi", SIZE_dmi_system_id, do_dmi_entry},
{"platform", SIZE_platform_device_id, do_platform_entry}, {"platform", SIZE_platform_device_id, do_platform_entry},
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment