aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/acpi/osl.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/acpi/osl.c')
-rw-r--r--drivers/acpi/osl.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/acpi/osl.c b/drivers/acpi/osl.c
index 65b25a303b8..a351291496f 100644
--- a/drivers/acpi/osl.c
+++ b/drivers/acpi/osl.c
@@ -547,9 +547,10 @@ acpi_os_write_memory(acpi_physical_address phys_addr, u32 value, u32 width)
547 547
548acpi_status 548acpi_status
549acpi_os_read_pci_configuration(struct acpi_pci_id * pci_id, u32 reg, 549acpi_os_read_pci_configuration(struct acpi_pci_id * pci_id, u32 reg,
550 u32 *value, u32 width) 550 u64 *value, u32 width)
551{ 551{
552 int result, size; 552 int result, size;
553 u32 value32;
553 554
554 if (!value) 555 if (!value)
555 return AE_BAD_PARAMETER; 556 return AE_BAD_PARAMETER;
@@ -570,7 +571,8 @@ acpi_os_read_pci_configuration(struct acpi_pci_id * pci_id, u32 reg,
570 571
571 result = raw_pci_read(pci_id->segment, pci_id->bus, 572 result = raw_pci_read(pci_id->segment, pci_id->bus,
572 PCI_DEVFN(pci_id->device, pci_id->function), 573 PCI_DEVFN(pci_id->device, pci_id->function),
573 reg, size, value); 574 reg, size, &value32);
575 *value = value32;
574 576
575 return (result ? AE_ERROR : AE_OK); 577 return (result ? AE_ERROR : AE_OK);
576} 578}
@@ -626,7 +628,7 @@ static void acpi_os_derive_pci_id_2(acpi_handle rhandle, /* upper bound */
626 status = acpi_evaluate_integer(handle, METHOD_NAME__ADR, NULL, 628 status = acpi_evaluate_integer(handle, METHOD_NAME__ADR, NULL,
627 &temp); 629 &temp);
628 if (ACPI_SUCCESS(status)) { 630 if (ACPI_SUCCESS(status)) {
629 u32 val; 631 u64 val;
630 pci_id->device = ACPI_HIWORD(ACPI_LODWORD(temp)); 632 pci_id->device = ACPI_HIWORD(ACPI_LODWORD(temp));
631 pci_id->function = ACPI_LOWORD(ACPI_LODWORD(temp)); 633 pci_id->function = ACPI_LOWORD(ACPI_LODWORD(temp));
632 634