From af917f558b84a31b2c544f77d8fa831f15fad98b Mon Sep 17 00:00:00 2001 From: Richard Hughes Date: Wed, 29 Apr 2020 14:39:19 +0100 Subject: [PATCH] vli: Add two standard USB instance IDs for shared-PD devices --- plugins/vli/fu-vli-usbhub-pd-device.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/plugins/vli/fu-vli-usbhub-pd-device.c b/plugins/vli/fu-vli-usbhub-pd-device.c index be2984245..9d2f8f2b7 100644 --- a/plugins/vli/fu-vli-usbhub-pd-device.c +++ b/plugins/vli/fu-vli-usbhub-pd-device.c @@ -45,6 +45,8 @@ fu_vli_usbhub_pd_device_probe (FuDevice *device, GError **error) guint32 fwver; g_autofree gchar *fwver_str = NULL; g_autofree gchar *instance_id1 = NULL; + g_autofree gchar *instance_id2 = NULL; + g_autofree gchar *instance_id3 = NULL; /* get version */ fwver = GUINT32_FROM_BE (self->hdr.fwver); @@ -68,6 +70,16 @@ fu_vli_usbhub_pd_device_probe (FuDevice *device, GError **error) fu_vli_common_device_kind_to_string (self->device_kind)); fu_device_add_instance_id (device, instance_id1); + /* add standard GUIDs in order of priority */ + instance_id2 = g_strdup_printf ("USB\\VID_%04X&PID_%04X", + GUINT16_FROM_LE (self->hdr.vid), + GUINT16_FROM_LE (self->hdr.pid)); + fu_device_add_instance_id (device, instance_id2); + instance_id3 = g_strdup_printf ("USB\\VID_%04X", + GUINT16_FROM_LE (self->hdr.vid)); + fu_device_add_instance_id_full (device, instance_id3, + FU_DEVICE_INSTANCE_FLAG_ONLY_QUIRKS); + /* these have a backup section */ if (fu_vli_common_device_kind_get_offset (self->device_kind) == VLI_USBHUB_FLASHMAP_ADDR_PD) fu_device_add_flag (FU_DEVICE (self), FWUPD_DEVICE_FLAG_SELF_RECOVERY);