Module Name: src Committed By: nonaka Date: Fri Nov 7 12:33:57 UTC 2014
Modified Files: src/sys/external/bsd/drm2/dist/drm/i915: intel_acpi.c Log Message: pci_attach_args of pci_find_device and match function is not the same thing. fix PR/49372. To generate a diff of this commit: cvs rdiff -u -r1.4 -r1.5 src/sys/external/bsd/drm2/dist/drm/i915/intel_acpi.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/external/bsd/drm2/dist/drm/i915/intel_acpi.c diff -u src/sys/external/bsd/drm2/dist/drm/i915/intel_acpi.c:1.4 src/sys/external/bsd/drm2/dist/drm/i915/intel_acpi.c:1.5 --- src/sys/external/bsd/drm2/dist/drm/i915/intel_acpi.c:1.4 Thu Nov 6 01:26:02 2014 +++ src/sys/external/bsd/drm2/dist/drm/i915/intel_acpi.c Fri Nov 7 12:33:57 2014 @@ -259,11 +259,9 @@ static bool intel_dsm_pci_probe(struct p } #ifdef __NetBSD__ -struct dsm_pa { - struct pci_attach_args pa; - int vga_count; - bool has_dsm; -}; + +static int vga_count; +static bool has_dsm; /* XXX from sys/dev/pci/vga_pcivar.h */ #define DEVICE_IS_VGA_PCI(class, id) \ @@ -275,30 +273,27 @@ struct dsm_pa { static int intel_dsm_vga_match(const struct pci_attach_args *pa) { - struct dsm_pa *dpa = (struct dsm_pa *)__UNCONST(pa); if (!DEVICE_IS_VGA_PCI(pa->pa_class, pa->pa_id)) return 0; - dpa->vga_count++; + vga_count++; struct acpi_devnode *node = acpi_pcidev_find(0 /*XXX segment*/, pa->pa_bus, pa->pa_device, pa->pa_function); if (node != NULL) - dpa->has_dsm |= intel_dsm_pci_probe(node->ad_handle); + has_dsm |= intel_dsm_pci_probe(node->ad_handle); return 0; } static bool intel_dsm_detect(struct drm_device *dev) { char acpi_method_name[255] = { 0 }; - struct dsm_pa dpa; - dpa.pa = dev->pdev->pd_pa; - dpa.vga_count = 0; - dpa.has_dsm = false; - pci_find_device(&dpa.pa, intel_dsm_vga_match); + vga_count = 0; + has_dsm = false; + pci_find_device(&dev->pdev->pd_pa, intel_dsm_vga_match); - if (dpa.vga_count == 2 && dpa.has_dsm) { + if (vga_count == 2 && has_dsm) { const char *name = acpi_name(intel_dsm_priv.dhandle); strlcpy(acpi_method_name, name, sizeof(acpi_method_name)); DRM_DEBUG_DRIVER("VGA switcheroo: detected DSM switching method %s handle\n",