[PATCH 0/5] Add the pci_get_base_class() helper and use it

From: Sui Jingfeng
Date: Fri Aug 25 2023 - 02:28:25 EST


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