drm/nouveau: Use pci_get_base_class() to reduce duplicated code
authorSui Jingfeng <suijingfeng@loongson.cn>
Fri, 25 Aug 2023 06:27:12 +0000 (14:27 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Thu, 28 Sep 2023 21:54:54 +0000 (16:54 -0500)
Use pci_get_base_class() to reduce duplicated code.  No functional change
intended.

Link: https://lore.kernel.org/r/20230825062714.6325-4-sui.jingfeng@linux.dev
Signed-off-by: Sui Jingfeng <suijingfeng@loongson.cn>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Cc: Ben Skeggs <bskeggs@redhat.com>
Cc: Karol Herbst <kherbst@redhat.com>
Cc: Lyude Paul <lyude@redhat.com>
Cc: David Airlie <airlied@gmail.com>
Cc: Daniel Vetter <daniel@ffwll.ch>
drivers/gpu/drm/nouveau/nouveau_acpi.c

index a2ae8c21e4dcea81c18d87913c5961e46f36234d..8f0c69aad248ea34c5e5b34738067f67cb6ce938 100644 (file)
@@ -284,14 +284,11 @@ static bool nouveau_dsm_detect(void)
                printk("MXM: GUID detected in BIOS\n");
 
        /* now do DSM detection */
-       while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_VGA << 8, pdev)) != NULL) {
-               vga_count++;
-
-               nouveau_dsm_pci_probe(pdev, &dhandle, &has_mux, &has_optimus,
-                                     &has_optimus_flags, &has_power_resources);
-       }
+       while ((pdev = pci_get_base_class(PCI_BASE_CLASS_DISPLAY, pdev))) {
+               if ((pdev->class != PCI_CLASS_DISPLAY_VGA << 8) &&
+                   (pdev->class != PCI_CLASS_DISPLAY_3D << 8))
+                       continue;
 
-       while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_3D << 8, pdev)) != NULL) {
                vga_count++;
 
                nouveau_dsm_pci_probe(pdev, &dhandle, &has_mux, &has_optimus,