drm/radeon: Use pci_get_base_class() to reduce duplicated code
authorSui Jingfeng <suijingfeng@loongson.cn>
Fri, 25 Aug 2023 06:27:14 +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-6-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: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/radeon/radeon_bios.c

index 63bdc9f6fc2434ff65aaed3ad1b644b169dabb38..3a8c5199a0fe7a032b8aba85853cec7454c1c4f7 100644 (file)
@@ -199,7 +199,11 @@ static bool radeon_atrm_get_bios(struct radeon_device *rdev)
        if (rdev->flags & RADEON_IS_IGP)
                return false;
 
-       while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_VGA << 8, pdev)) != NULL) {
+       while ((pdev = pci_get_base_class(PCI_BASE_CLASS_DISPLAY, pdev))) {
+               if ((pdev->class != PCI_CLASS_DISPLAY_VGA << 8) &&
+                   (pdev->class != PCI_CLASS_DISPLAY_OTHER << 8))
+                       continue;
+
                dhandle = ACPI_HANDLE(&pdev->dev);
                if (!dhandle)
                        continue;
@@ -211,20 +215,6 @@ static bool radeon_atrm_get_bios(struct radeon_device *rdev)
                }
        }
 
-       if (!found) {
-               while ((pdev = pci_get_class(PCI_CLASS_DISPLAY_OTHER << 8, pdev)) != NULL) {
-                       dhandle = ACPI_HANDLE(&pdev->dev);
-                       if (!dhandle)
-                               continue;
-
-                       status = acpi_get_handle(dhandle, "ATRM", &atrm_handle);
-                       if (ACPI_SUCCESS(status)) {
-                               found = true;
-                               break;
-                       }
-               }
-       }
-
        if (!found)
                return false;
        pci_dev_put(pdev);