[PATCH v2 0/9] Overhaul is_thunderbolt

Mario Limonciello
2022-02-10T22:43:47Z

Various drivers in the kernel use `is_thunderbolt` or
`pci_is_thunderbolt_attached` to designate behaving differently
from a device that is internally in the machine. This relies upon checks
for a specific capability only set on Intel controllers.

Non-Intel USB4 designs should also match this designation so that they
can be treated the same regardless of the host they're connected to.

As part of adding the generic USB4 controller code, it was realized that
`is_thunderbolt` and `pcie_is_thunderbolt_attached` have been overloaded.

Instead migrate to using removable attribute from device core.

Changes from v1->v2:
- Add Alex's tag to first patch
- Move lack of command completion into a quirk (Lukas)
- Drop `is_thunderbolt` attribute and `pci_is_thunderbolt_attached` and
use device core removable attribute instead
- Adjust all consumers of old attribute to use removable

Mario Limonciello (9):
thunderbolt: move definition of PCI_CLASS_SERIAL_USB_USB4
PCI: Move `is_thunderbolt` check for lack of command completed to a
quirk
PCI: drop `is_thunderbolt` attribute
PCI: mark USB4 devices as removable
drm/amd: drop the use of `pci_is_thunderbolt_attached`
drm/nouveau: drop the use of `pci_is_thunderbolt_attached`
drm/radeon: drop the use of `pci_is_thunderbolt_attached`
platform/x86: amd-gmux: drop the use of `pci_is_thunderbolt_attached`
PCI: drop `pci_is_thunderbolt_attached`

drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c | 2 +-
drivers/gpu/drm/amd/amdgpu/nbio_v2_3.c | 2 +-
drivers/gpu/drm/nouveau/nouveau_vga.c | 4 ++--
drivers/gpu/drm/radeon/radeon_device.c | 4 ++--
drivers/gpu/drm/radeon/radeon_kms.c | 2 +-
drivers/pci/hotplug/pciehp_hpc.c | 6 +-----
drivers/pci/pci.c | 2 +-
drivers/pci/probe.c | 21 ++++++++-------------
drivers/pci/quirks.c | 17 +++++++++++++++++
drivers/platform/x86/apple-gmux.c | 2 +-
drivers/thunderbolt/nhi.h | 2 --
include/linux/pci.h | 25 ++-----------------------
include/linux/pci_ids.h | 1 +
13 files changed, 38 insertions(+), 52 deletions(-)

--
2.34.1