From: Sui Jingfeng <suijingfeng@xxxxxxxxxxx> There is no function that can be used to get all PCI(e) devices in a system by matching against its the PCI base class code only, while keep the sub-class code and the programming interface ignored. Therefore, add the pci_get_base_class() function to suit the need. For example, if an application want to process all PCI(e) display devices in a system, it can achieve such goal by writing the code as following: pdev = NULL; do { pdev = pci_get_base_class(PCI_BASE_CLASS_DISPLAY, pdev); if (!pdev) break; do_something_for_pci_display_device(pdev); } while (1); Sui Jingfeng (5): PCI: Add the pci_get_base_class() helper ALSA: hda/intel: Use pci_get_base_class() to reduce duplicated code drm/nouveau: Use pci_get_base_class() to reduce duplicated code drm/amdgpu: Use pci_get_base_class() to reduce duplicated code drm/radeon: Use pci_get_base_class() to reduce duplicated code drivers/gpu/drm/amd/amdgpu/amdgpu_acpi.c | 11 +++------ drivers/gpu/drm/amd/amdgpu/amdgpu_bios.c | 20 ++++----------- drivers/gpu/drm/nouveau/nouveau_acpi.c | 11 +++------ drivers/gpu/drm/radeon/radeon_bios.c | 20 ++++----------- drivers/pci/search.c | 31 ++++++++++++++++++++++++ include/linux/pci.h | 5 ++++ sound/pci/hda/hda_intel.c | 16 ++++-------- 7 files changed, 59 insertions(+), 55 deletions(-) -- 2.34.1