mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 10:41:38 -04:00
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (21 commits) x86/PCI: use dev_printk when possible PCI: add D3 power state avoidance quirk PCI: fix bogus "'device' may be used uninitialized" warning in pci_slot PCI: add an option to allow ASPM enabled forcibly PCI: disable ASPM on pre-1.1 PCIe devices PCI: disable ASPM per ACPI FADT setting PCI MSI: Don't disable MSIs if the mask bit isn't supported PCI: handle 64-bit resources better on 32-bit machines PCI: rewrite PCI BAR reading code PCI: document pci_target_state PCI hotplug: fix typo in pcie hotplug output x86 gart: replace to_pages macro with iommu_num_pages x86, AMD IOMMU: replace to_pages macro with iommu_num_pages iommu: add iommu_num_pages helper function dma-coherent: add documentation to new interfaces Cris: convert to using generic dma-coherent mem allocator Sh: use generic per-device coherent dma allocator ARM: support generic per-device coherent dma mem Generic dma-coherent: fix DMA_MEMORY_EXCLUSIVE x86: use generic per-device dma coherent allocator ...
This commit is contained in:
commit
1d9b9f6a53
36 changed files with 512 additions and 568 deletions
|
|
@ -76,9 +76,9 @@ static struct acpi_pci_driver acpi_pci_slot_driver = {
|
|||
};
|
||||
|
||||
static int
|
||||
check_slot(acpi_handle handle, int *device, unsigned long *sun)
|
||||
check_slot(acpi_handle handle, unsigned long *sun)
|
||||
{
|
||||
int retval = 0;
|
||||
int device = -1;
|
||||
unsigned long adr, sta;
|
||||
acpi_status status;
|
||||
struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
|
||||
|
|
@ -89,32 +89,27 @@ check_slot(acpi_handle handle, int *device, unsigned long *sun)
|
|||
if (check_sta_before_sun) {
|
||||
/* If SxFy doesn't have _STA, we just assume it's there */
|
||||
status = acpi_evaluate_integer(handle, "_STA", NULL, &sta);
|
||||
if (ACPI_SUCCESS(status) && !(sta & ACPI_STA_DEVICE_PRESENT)) {
|
||||
retval = -1;
|
||||
if (ACPI_SUCCESS(status) && !(sta & ACPI_STA_DEVICE_PRESENT))
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
||||
status = acpi_evaluate_integer(handle, "_ADR", NULL, &adr);
|
||||
if (ACPI_FAILURE(status)) {
|
||||
dbg("_ADR returned %d on %s\n", status, (char *)buffer.pointer);
|
||||
retval = -1;
|
||||
goto out;
|
||||
}
|
||||
|
||||
*device = (adr >> 16) & 0xffff;
|
||||
|
||||
/* No _SUN == not a slot == bail */
|
||||
status = acpi_evaluate_integer(handle, "_SUN", NULL, sun);
|
||||
if (ACPI_FAILURE(status)) {
|
||||
dbg("_SUN returned %d on %s\n", status, (char *)buffer.pointer);
|
||||
retval = -1;
|
||||
goto out;
|
||||
}
|
||||
|
||||
device = (adr >> 16) & 0xffff;
|
||||
out:
|
||||
kfree(buffer.pointer);
|
||||
return retval;
|
||||
return device;
|
||||
}
|
||||
|
||||
struct callback_args {
|
||||
|
|
@ -144,7 +139,8 @@ register_slot(acpi_handle handle, u32 lvl, void *context, void **rv)
|
|||
struct callback_args *parent_context = context;
|
||||
struct pci_bus *pci_bus = parent_context->pci_bus;
|
||||
|
||||
if (check_slot(handle, &device, &sun))
|
||||
device = check_slot(handle, &sun);
|
||||
if (device < 0)
|
||||
return AE_OK;
|
||||
|
||||
slot = kmalloc(sizeof(*slot), GFP_KERNEL);
|
||||
|
|
|
|||
Loading…
Reference in a new issue