@@ -1586,7 +1586,7 @@ static void set_pcie_thunderbolt(struct pci_dev *dev)
/* Is the device part of a Thunderbolt controller? */
vsec = pci_find_vsec_capability(dev, PCI_VENDOR_ID_INTEL, PCI_VSEC_ID_INTEL_TBT);
if (vsec)
- dev->is_thunderbolt = 1;
+ dev->external_facing = true;
}
static void set_pcie_untrusted(struct pci_dev *dev)
@@ -596,7 +596,7 @@ static int gmux_resume(struct device *dev)
static int is_thunderbolt(struct device *dev, void *data)
{
- return to_pci_dev(dev)->is_thunderbolt;
+ return to_pci_dev(dev)->external_facing;
}
static int gmux_probe(struct pnp_dev *pnp, const struct pnp_device_id *id)
@@ -442,7 +442,6 @@ struct pci_dev {
unsigned int is_virtfn:1;
unsigned int is_hotplug_bridge:1;
unsigned int shpc_managed:1; /* SHPC owned by shpchp */
- unsigned int is_thunderbolt:1; /* Thunderbolt controller */
unsigned int no_cmd_complete:1; /* Lies about command completed events */
/*
@@ -2447,11 +2446,11 @@ static inline bool pci_is_thunderbolt_attached(struct pci_dev *pdev)
{
struct pci_dev *parent = pdev;
- if (pdev->is_thunderbolt)
+ if (dev_is_removable(&pdev->dev))
return true;
while ((parent = pci_upstream_bridge(parent)))
- if (parent->is_thunderbolt)
+ if (dev_is_removable(&parent->dev))
return true;
return false;
The `is_thunderbolt` attribute originally had a well defined list of quirks that it existed for, but it has been overloaded with more meaning. Instead use the driver core removable attribute to indicate the detail a device is attached to a thunderbolt or USB4 chain. Signed-off-by: Mario Limonciello <mario.limonciello@amd.com> --- drivers/pci/probe.c | 2 +- drivers/platform/x86/apple-gmux.c | 2 +- include/linux/pci.h | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-)