aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/acpi/acpica/exregion.c4
-rw-r--r--drivers/acpi/osl.c8
-rw-r--r--include/acpi/acpiosxf.h2
3 files changed, 7 insertions, 7 deletions
diff --git a/drivers/acpi/acpica/exregion.c b/drivers/acpi/acpica/exregion.c
index 8819d2ac5ae..de17e10da0e 100644
--- a/drivers/acpi/acpica/exregion.c
+++ b/drivers/acpi/acpica/exregion.c
@@ -353,7 +353,6 @@ acpi_ex_pci_config_space_handler(u32 function,
353 acpi_status status = AE_OK; 353 acpi_status status = AE_OK;
354 struct acpi_pci_id *pci_id; 354 struct acpi_pci_id *pci_id;
355 u16 pci_register; 355 u16 pci_register;
356 u32 value32;
357 356
358 ACPI_FUNCTION_TRACE(ex_pci_config_space_handler); 357 ACPI_FUNCTION_TRACE(ex_pci_config_space_handler);
359 358
@@ -381,8 +380,7 @@ acpi_ex_pci_config_space_handler(u32 function,
381 case ACPI_READ: 380 case ACPI_READ:
382 381
383 status = acpi_os_read_pci_configuration(pci_id, pci_register, 382 status = acpi_os_read_pci_configuration(pci_id, pci_register,
384 &value32, bit_width); 383 value, bit_width);
385 *value = value32;
386 break; 384 break;
387 385
388 case ACPI_WRITE: 386 case ACPI_WRITE:
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
diff --git a/include/acpi/acpiosxf.h b/include/acpi/acpiosxf.h
index 29bf945143e..5e225779644 100644
--- a/include/acpi/acpiosxf.h
+++ b/include/acpi/acpiosxf.h
@@ -223,7 +223,7 @@ acpi_os_write_memory(acpi_physical_address address, u32 value, u32 width);
223 */ 223 */
224acpi_status 224acpi_status
225acpi_os_read_pci_configuration(struct acpi_pci_id *pci_id, 225acpi_os_read_pci_configuration(struct acpi_pci_id *pci_id,
226 u32 reg, u32 *value, u32 width); 226 u32 reg, u64 *value, u32 width);
227 227
228acpi_status 228acpi_status
229acpi_os_write_pci_configuration(struct acpi_pci_id *pci_id, 229acpi_os_write_pci_configuration(struct acpi_pci_id *pci_id,