vli: Define the device GType in the quirk file

This allows us to define different types of devices in the future.
This commit is contained in:
Richard Hughes 2019-12-17 09:28:41 +00:00
parent 15857f8056
commit 62b84d4c5b
4 changed files with 61 additions and 1 deletions

View File

@ -62,6 +62,7 @@ the other flash chip parameters. For example:
[DeviceInstanceId=USB\VID_2109&PID_0210]
Plugin = vli
GType = FuVliUsbhubDevice
SpiCmdReadId = 0xf8
SpiCmdReadIdSz = 4

View File

@ -17,9 +17,11 @@ void
fu_plugin_init (FuPlugin *plugin)
{
fu_plugin_set_build_hash (plugin, FU_BUILD_HASH);
fu_plugin_set_device_gtype (plugin, FU_TYPE_VLI_USBHUB_DEVICE);
fu_plugin_add_firmware_gtype (plugin, "vli-usbhub", FU_TYPE_VLI_USBHUB_FIRMWARE);
fu_plugin_add_firmware_gtype (plugin, "vli-usbhub-pd", FU_TYPE_VLI_USBHUB_PD_FIRMWARE);
/* register the custom types */
g_type_ensure (FU_TYPE_VLI_USBHUB_DEVICE);
}
/* reboot the FuVliUsbhubDevice if we update the FuVliUsbhubPdDevice */

View File

@ -1,168 +1,210 @@
# Lenovo CS18 Ultra Dock
[DeviceInstanceId=USB\VID_17EF&PID_3070]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb3
[DeviceInstanceId=USB\VID_17EF&PID_3071]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2
# Lenovo CS18 Pro and Basic Dock
[DeviceInstanceId=USB\VID_17EF&PID_3072]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb3
[DeviceInstanceId=USB\VID_17EF&PID_3073]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2
# Lenovo TR Dock
[DeviceInstanceId=USB\VID_17EF&PID_307F]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb3,has-shared-spi-i2c
[DeviceInstanceId=USB\VID_17EF&PID_3080]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2,has-shared-spi-i2c
# Lenovo CS13 KG Dock
[DeviceInstanceId=USB\VID_17EF&PID_1010]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2,usb3
# Lenovo CS13 GD Dock
[DeviceInstanceId=USB\VID_17EF&PID_1012]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2,usb3
# Lenovo CS13 MO Dock
[DeviceInstanceId=USB\VID_17EF&PID_1013]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2,usb3
# Lenovo Payton dock
[DeviceInstanceId=USB\VID_17EF&PID_305A]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier1,usb2,usb3
[DeviceInstanceId=USB\VID_17EF&PID_305B]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier2,usb2,usb3
# Lenovo USB3 Ultra Dock
[DeviceInstanceId=USB\VID_17EF&PID_1014]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier1,usb2,usb3
[DeviceInstanceId=USB\VID_17EF&PID_1015]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier2,usb2,usb3
# Lenovo USB3 Pro Dock
[DeviceInstanceId=USB\VID_17EF&PID_1016]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier1,usb2,usb3
[DeviceInstanceId=USB\VID_17EF&PID_1018]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier2,usb2,usb3
# Lenovo Workstation D40
[DeviceInstanceId=USB\VID_17EF&PID_1033]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2,usb3
# Lenovo Workstation S40
[DeviceInstanceId=USB\VID_17EF&PID_1034]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2,usb3
# Lenovo Workstation v40
[DeviceInstanceId=USB\VID_17EF&PID_1035]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2,usb3
# Lenovo One Link Plus
[DeviceInstanceId=USB\VID_17EF&PID_1018]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier1,usb2,usb3
[DeviceInstanceId=USB\VID_17EF&PID_1019]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier2,usb2,usb3
# Lenovo Hybrid dock
[DeviceInstanceId=USB\VID_17EF&PID_A356]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier1,usb3
[DeviceInstanceId=USB\VID_17EF&PID_1028]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier1,usb2
[DeviceInstanceId=USB\VID_17EF&PID_A357]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier2,usb3
[DeviceInstanceId=USB\VID_17EF&PID_1029]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier2,usb2
# Lenovo Travel hub
[DeviceInstanceId=USB\VID_17EF&PID_7216]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb3
[DeviceInstanceId=USB\VID_17EF&PID_7224]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2
# Lenovo Travel hub Gen2
[DeviceInstanceId=USB\VID_17EF&PID_721D]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb3,has-shared-spi-pd
[DeviceInstanceId=USB\VID_17EF&PID_7225]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2,has-shared-spi-pd
# Lenovo USB-C Mini dock
[DeviceInstanceId=USB\VID_17EF&PID_3094]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb3,has-shared-spi-pd
[DeviceInstanceId=USB\VID_17EF&PID_3095]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2,has-shared-spi-pd
# Lenovo Travel Hub 1in3
[DeviceInstanceId=USB\VID_17EF&PID_7228]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb3
[DeviceInstanceId=USB\VID_17EF&PID_7226]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2
# Lenovo USB-C 7-in-1 Hub
[DeviceInstanceId=USB\VID_17EF&PID_722A]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb3,has-shared-spi-pd
[DeviceInstanceId=USB\VID_17EF&PID_7229]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2,has-shared-spi-pd
# Lenovo USB-C to 4 USB-A Hub
[DeviceInstanceId=USB\VID_17EF&PID_1039]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb3,has-shared-spi-pd
[DeviceInstanceId=USB\VID_17EF&PID_103A]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2,has-shared-spi-pd
# Lenovo Gen2 dock
[DeviceInstanceId=USB\VID_17EF&PID_A391]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier1,usb3
[DeviceInstanceId=USB\VID_17EF&PID_A392]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier1,usb2
[DeviceInstanceId=USB\VID_17EF&PID_A393]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier2,usb3
[DeviceInstanceId=USB\VID_17EF&PID_A394]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = tier2,usb2
[DeviceInstanceId=USB\VID_17EF&PID_A395]
Plugin = vli
GType = FuVliUsbhubDevice
# Lenovo Powered Hub
[DeviceInstanceId=USB\VID_17EF&PID_721C]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2

View File

@ -1,46 +1,61 @@
# 3470_Class
[DeviceInstanceId=USB\VID_2109&PID_0810]
Plugin = vli
GType = FuVliUsbhubDevice
[DeviceInstanceId=USB\VID_2109&PID_0811]
Plugin = vli
GType = FuVliUsbhubDevice
[DeviceInstanceId=USB\VID_2109&PID_0812]
Plugin = vli
GType = FuVliUsbhubDevice
[DeviceInstanceId=USB\VID_2109&PID_0813]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = needs-unlock-legacy813
[DeviceInstanceId=USB\VID_2109&PID_8110]
Plugin = vli
GType = FuVliUsbhubDevice
[DeviceInstanceId=USB\VID_2109&PID_8113]
Plugin = vli
GType = FuVliUsbhubDevice
# 3507_Class
[DeviceInstanceId=USB\VID_2109&PID_0210]
Plugin = vli
GType = FuVliUsbhubDevice
# 3545_Class
[DeviceInstanceId=USB\VID_2109&PID_0211]
Plugin = vli
GType = FuVliUsbhubDevice
[DeviceInstanceId=USB\VID_2109&PID_2211]
Plugin = vli
GType = FuVliUsbhubDevice
[DeviceInstanceId=USB\VID_2109&PID_0212]
Plugin = vli
GType = FuVliUsbhubDevice
[DeviceInstanceId=USB\VID_2109&PID_2212]
Plugin = vli
GType = FuVliUsbhubDevice
# VL817
[DeviceInstanceId=USB\VID_2109&PID_0817]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb3
[DeviceInstanceId=USB\VID_2109&PID_2817]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2
# VL820
[DeviceInstanceId=USB\VID_2109&PID_0820]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb3,has-shared-spi-pd
[DeviceInstanceId=USB\VID_2109&PID_2820]
Plugin = vli
GType = FuVliUsbhubDevice
Flags = usb2,has-shared-spi-pd
# A25Lxxx