]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/gpu/drm/nouveau/nouveau_acpi.c
Merge tag 'v2.6.38' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / gpu / drm / nouveau / nouveau_acpi.c
index 119152606e4c97af9583b451415954637d1a4d74..a54238058dc54a5d75cb2bacb5b9467eccb7a8b4 100644 (file)
@@ -130,10 +130,15 @@ static int nouveau_dsm_init(void)
 
 static int nouveau_dsm_get_client_id(struct pci_dev *pdev)
 {
-       if (nouveau_dsm_priv.dhandle == DEVICE_ACPI_HANDLE(&pdev->dev))
+       /* easy option one - intel vendor ID means Integrated */
+       if (pdev->vendor == PCI_VENDOR_ID_INTEL)
                return VGA_SWITCHEROO_IGD;
-       else
-               return VGA_SWITCHEROO_DIS;
+
+       /* is this device on Bus 0? - this may need improving */
+       if (pdev->bus->number == 0)
+               return VGA_SWITCHEROO_IGD;
+
+       return VGA_SWITCHEROO_DIS;
 }
 
 static struct vga_switcheroo_handler nouveau_dsm_handler = {