From 926da40a88c9baddc33b4e376e9ee32b4c264703 Mon Sep 17 00:00:00 2001 From: Mario Limonciello Date: Tue, 28 Aug 2018 09:25:46 -0500 Subject: [PATCH] thunderbolt: Move setting parentage of TB16 into quirks --- plugins/thunderbolt/fu-plugin-thunderbolt.c | 20 +------------------ .../fu-thunderbolt-known-devices.h | 17 ---------------- plugins/thunderbolt/meson.build | 4 ++++ plugins/thunderbolt/thunderbolt.quirk | 9 +++++++++ 4 files changed, 14 insertions(+), 36 deletions(-) delete mode 100644 plugins/thunderbolt/fu-thunderbolt-known-devices.h create mode 100644 plugins/thunderbolt/thunderbolt.quirk diff --git a/plugins/thunderbolt/fu-plugin-thunderbolt.c b/plugins/thunderbolt/fu-plugin-thunderbolt.c index 6c96d3055..a684a6b86 100644 --- a/plugins/thunderbolt/fu-plugin-thunderbolt.c +++ b/plugins/thunderbolt/fu-plugin-thunderbolt.c @@ -21,7 +21,6 @@ #include "fu-plugin-vfuncs.h" #include "fu-device-metadata.h" #include "fu-thunderbolt-image.h" -#include "fu-thunderbolt-known-devices.h" #ifndef HAVE_GUDEV_232 #pragma clang diagnostic push @@ -227,23 +226,6 @@ fu_plugin_thunderbolt_is_native (GUdevDevice *udevice, gboolean *is_native, GErr error); } -static void -fu_plugin_thunderbolt_add_known_parents (FuDevice *device, guint16 vid, guint16 did) -{ - const gchar *parent = NULL; - - if (vid == THUNDERBOLT_VENDOR_DELL) { - if (did == THUNDERBOLT_DEVICE_DELL_TB16_CABLE || - did == THUNDERBOLT_DEVICE_DELL_TB16_DOCK) - parent = PARENT_GUID_DELL_TB16; - } - - if (parent != NULL ) { - fu_device_add_parent_guid (device, parent); - g_debug ("Add known parent %s to %u:%u", parent, vid, did); - } -} - static void fu_plugin_thunderbolt_add (FuPlugin *plugin, GUdevDevice *device) { @@ -341,7 +323,6 @@ fu_plugin_thunderbolt_add (FuPlugin *plugin, GUdevDevice *device) (guint) did, is_native ? "-native" : ""); fu_device_add_flag (dev, FWUPD_DEVICE_FLAG_UPDATABLE); - fu_plugin_thunderbolt_add_known_parents (dev, vid, did); } else { fu_device_set_update_error (dev, "Device is in safe mode"); } @@ -366,6 +347,7 @@ fu_plugin_thunderbolt_add (FuPlugin *plugin, GUdevDevice *device) fu_device_add_icon (dev, "audio-card"); } + fu_device_set_quirks (dev, fu_plugin_get_quirks (plugin)); vendor = g_udev_device_get_sysfs_attr (device, "vendor_name"); if (vendor != NULL) fu_device_set_vendor (dev, vendor); diff --git a/plugins/thunderbolt/fu-thunderbolt-known-devices.h b/plugins/thunderbolt/fu-thunderbolt-known-devices.h deleted file mode 100644 index 060ab89ad..000000000 --- a/plugins/thunderbolt/fu-thunderbolt-known-devices.h +++ /dev/null @@ -1,17 +0,0 @@ -/* - * Copyright (C) 2018 Dell, Inc. - * - * SPDX-License-Identifier: LGPL-2.1+ - */ - -#ifndef __FU_THUNDERBOLT_KNOWN_DEVICES_H__ -#define __FU_THUNDERBOLT_KNOWN_DEVICES_H__ - -#define THUNDERBOLT_VENDOR_DELL 0x00d4 - -/* Dell TB16 dock */ -#define THUNDERBOLT_DEVICE_DELL_TB16_CABLE 0xb051 -#define THUNDERBOLT_DEVICE_DELL_TB16_DOCK 0xb054 -#define PARENT_GUID_DELL_TB16 "e7ca1f36-bf73-4574-afe6-a4ccacabf479" - -#endif /* __FU_THUNDERBOLT_KNOWN_DEVICES_H__ */ diff --git a/plugins/thunderbolt/meson.build b/plugins/thunderbolt/meson.build index 17e81b73e..82820de8d 100644 --- a/plugins/thunderbolt/meson.build +++ b/plugins/thunderbolt/meson.build @@ -1,5 +1,9 @@ cargs = ['-DG_LOG_DOMAIN="FuPluginThunderbolt"'] +install_data(['thunderbolt.quirk'], + install_dir: join_paths(datadir, 'fwupd', 'quirks.d') +) + fu_plugin_thunderbolt = shared_module('fu_plugin_thunderbolt', sources : [ 'fu-plugin-thunderbolt.c', diff --git a/plugins/thunderbolt/thunderbolt.quirk b/plugins/thunderbolt/thunderbolt.quirk new file mode 100644 index 000000000..8e864266e --- /dev/null +++ b/plugins/thunderbolt/thunderbolt.quirk @@ -0,0 +1,9 @@ +# Dell TB16/TB18 cable +[Guid=TBT-00d4b051] +Plugin = thunderbolt +ParentGuid = e7ca1f36-bf73-4574-afe6-a4ccacabf479 + +# Dell TB16/TB18 dock +[Guid=TBT-00d4b054] +Plugin = thunderbolt +ParentGuid = e7ca1f36-bf73-4574-afe6-a4ccacabf479