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: Boris Brezillon <boris.brezillon@collabora.com> Signed-off-by: Vitor Soares <vitor.soares@synopsys.com> Link: https://lore.kernel.org/linux-i3c/79687073b915182e06fccfb18adcedfd0fadbc99.1582796652.git.vitor.soares@synopsys.com
This commit is contained in:
Родитель
7ec0ddb007
Коммит
1ce589ad39
|
@ -145,6 +145,13 @@ int main(void)
|
|||
DEVID(i2c_device_id);
|
||||
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_FIELD(spi_device_id, name);
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
@ -1386,6 +1404,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},
|
||||
|
|
Загрузка…
Ссылка в новой задаче