On Friday 21 June 2024 14:24:58 Hans de Goede wrote: > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), > + DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6440"), > + }, > + .driver_data = (void *)0x29L, > + }, > + { > + .matches = { > + DMI_MATCH(DMI_SYS_VENDOR, "Dell Inc."), > + DMI_MATCH(DMI_PRODUCT_NAME, "Latitude E6440 ATG"), > + }, > + .driver_data = (void *)0x29L, > + }, This is an example why DMI_MATCH is not a good idea for usage and DMI_EXACT_MATCH should be there instead. First entry is substring of second entry, so kernel running on second model will use first entry. Both have same driver_data, so it is not an issue now. But if the list will be extended in future then DMI_MATCH conflicts can appear invisibly. Anyway, in i2c-i801.c is exact match on the both vendor and product name.