video: fbdev: intelfb: deprecate pci_get_bus_and_slot()
authorSinan Kaya <okaya@codeaurora.org>
Tue, 19 Dec 2017 05:37:58 +0000 (00:37 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 17 Jan 2018 14:16:46 +0000 (08:16 -0600)
pci_get_bus_and_slot() is restrictive such that it assumes domain=0 as
where a PCI device is present. This restricts the device drivers to be
reused for other domain numbers.

Getting ready to remove pci_get_bus_and_slot() function in favor of
pci_get_domain_bus_and_slot().

Find the domain number from pdev.

Signed-off-by: Sinan Kaya <okaya@codeaurora.org>
Signed-off-by: Bjorn Helgaas <helgaas@kernel.org>
Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
drivers/video/fbdev/intelfb/intelfbhw.c

index 83fec573cceb78f6fa9b5a13e1787bdd2fcb5e41..57aff7450bce7fa5ed1aac88f4a28e26f227faa0 100644 (file)
@@ -181,7 +181,9 @@ int intelfbhw_get_memory(struct pci_dev *pdev, int *aperture_size,
                return 1;
 
        /* Find the bridge device.  It is always 0:0.0 */
-       if (!(bridge_dev = pci_get_bus_and_slot(0, PCI_DEVFN(0, 0)))) {
+       bridge_dev = pci_get_domain_bus_and_slot(pci_domain_nr(pdev->bus), 0,
+                                                PCI_DEVFN(0, 0));
+       if (!bridge_dev) {
                ERR_MSG("cannot find bridge device\n");
                return 1;
        }