diff --git a/arch/x86/pci/acpi.c b/arch/x86/pci/acpi.c
index cfd1b13..72e7465 100644
--- a/arch/x86/pci/acpi.c
+++ b/arch/x86/pci/acpi.c
@@ -251,7 +251,9 @@ static acpi_status resource_to_addr(struct acpi_resource *resource,
 		return AE_OK;
 	case ACPI_RESOURCE_TYPE_ADDRESS16:
 	case ACPI_RESOURCE_TYPE_ADDRESS32:
+#if BITS_PER_LONG == 64
 	case ACPI_RESOURCE_TYPE_ADDRESS64:
+#endif
 		status = acpi_resource_to_address64(resource, addr);
 		if (ACPI_SUCCESS(status) &&
 		    (addr->resource_type == ACPI_MEMORY_RANGE ||
@@ -259,6 +261,10 @@ static acpi_status resource_to_addr(struct acpi_resource *resource,
 		    addr->address_length > 0) {
 			return AE_OK;
 		}
+#if BITS_PER_LONG == 32
+	case ACPI_RESOURCE_TYPE_ADDRESS64:
+	/* We don't want to play with 64 bits mmio on x86-32bit */
+#endif
 		break;
 	}
 	return AE_ERROR;