Skip to contentSkip to conversation

x86: fix es7000 compiling

PATCH New Yinghai Lu 2 participants 3 messages Oct 17, 2008 – Nov 16, 2008 5 messages not in the archive x86

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): [email protected]

Yinghai Lu

author
#5 lore raw

PATCH 1/1 x86: fix es7000 compiling

es7000 is broken...

CC arch/x86/kernel/es7000_32.o
arch/x86/kernel/es7000_32.c: In function ‘find_unisys_acpi_oem_table’:
arch/x86/kernel/es7000_32.c:255: error: implicit declaration of function ‘acpi_get_table_with_size’ arch/x86/kernel/es7000_32.c:261: error: implicit declaration of function ‘early_acpi_os_unmap_memory’ arch/x86/kernel/es7000_32.c: In function ‘unmap_unisys_acpi_oem_table’:
arch/x86/kernel/es7000_32.c:277: error: implicit declaration of function ‘__acpi_unmap_table’ make[1]: *** [arch/x86/kernel/es7000_32.o] Error 1

we applied one patch out of order...

| commit a73aaedd95703bd49f4c3f9df06fb7b7373ba905
| Author: Yinghai Lu <[email protected]>
| Date:   Sun Sep 14 02:33:14 2008 -0700
|
|    x86: check dsdt before find oem table for es7000, v2
|
|    v2: use __acpi_unmap_table()

that patch need
x86: use early_ioremap in __acpi_map_table
x86: always explicitly map acpi memory
acpi: remove final __acpi_map_table mapping before setting acpi_gbl_permanent_mmap acpi/x86: introduce __apci_map_table, v4

workaround it here

after those patches applied, need to revert this one

arch/x86/kernel/es7000_32.c +1 -8
index f454c78..0aa2c44 100644
@@ -250,31 +250,24 @@ int __init find_unisys_acpi_oem_table(unsigned long *oem_addr)
 {
 	struct acpi_table_header *header = NULL;
 	int i = 0;
-	acpi_size tbl_size;
 
-	while (ACPI_SUCCESS(acpi_get_table_with_size("OEM1", i++, &header, &tbl_size))) {
+	while (ACPI_SUCCESS(acpi_get_table("OEM1", i++, &header))) {
 		if (!memcmp((char *) &header->oem_id, "UNISYS", 6)) {
 			struct oem_table *t = (struct oem_table *)header;
 
 			oem_addrX = t->OEMTableAddr;
 			oem_size = t->OEMTableSize;
-			early_acpi_os_unmap_memory(header, tbl_size);
 
 			*oem_addr = (unsigned long)__acpi_map_table(oem_addrX,
 								    oem_size);
 			return 0;
 		}
-		early_acpi_os_unmap_memory(header, tbl_size);
 	}
 	return -1;
 }
 
 void __init unmap_unisys_acpi_oem_table(unsigned long oem_addr)
 {
-	if (!oem_addr)
-		return;
-
-	__acpi_unmap_table((char *)oem_addr, oem_size);
 }
 #endif
 
author
#6 lore raw

PATCH 1/1 x86: fix es7000 compiling

In reply to a message not in the archive

resend

---

Impact: fix es7000 compiling

CC arch/x86/kernel/es7000_32.o
arch/x86/kernel/es7000_32.c: In function ‘find_unisys_acpi_oem_table’:
arch/x86/kernel/es7000_32.c:255: error: implicit declaration of function ‘acpi_get_table_with_size’ arch/x86/kernel/es7000_32.c:261: error: implicit declaration of function ‘early_acpi_os_unmap_memory’ arch/x86/kernel/es7000_32.c: In function ‘unmap_unisys_acpi_oem_table’:
arch/x86/kernel/es7000_32.c:277: error: implicit declaration of function ‘__acpi_unmap_table’ make[1]: *** [arch/x86/kernel/es7000_32.o] Error 1

we applied one patch out of order...

| commit a73aaedd95703bd49f4c3f9df06fb7b7373ba905
| Author: Yinghai Lu <[email protected]>
| Date:   Sun Sep 14 02:33:14 2008 -0700
|
|    x86: check dsdt before find oem table for es7000, v2
|
|    v2: use __acpi_unmap_table()

that patch need
x86: use early_ioremap in __acpi_map_table
x86: always explicitly map acpi memory
acpi: remove final __acpi_map_table mapping before setting acpi_gbl_permanent_mmap acpi/x86: introduce __apci_map_table, v4

workaround it here

after those patches applied, need to revert this one

arch/x86/kernel/es7000_32.c +1 -8
index f454c78..0aa2c44 100644
@@ -250,31 +250,24 @@ int __init find_unisys_acpi_oem_table(unsigned long *oem_addr)
 {
 	struct acpi_table_header *header = NULL;
 	int i = 0;
-	acpi_size tbl_size;
 
-	while (ACPI_SUCCESS(acpi_get_table_with_size("OEM1", i++, &header, &tbl_size))) {
+	while (ACPI_SUCCESS(acpi_get_table("OEM1", i++, &header))) {
 		if (!memcmp((char *) &header->oem_id, "UNISYS", 6)) {
 			struct oem_table *t = (struct oem_table *)header;
 
 			oem_addrX = t->OEMTableAddr;
 			oem_size = t->OEMTableSize;
-			early_acpi_os_unmap_memory(header, tbl_size);
 
 			*oem_addr = (unsigned long)__acpi_map_table(oem_addrX,
 								    oem_size);
 			return 0;
 		}
-		early_acpi_os_unmap_memory(header, tbl_size);
 	}
 	return -1;
 }
 
 void __init unmap_unisys_acpi_oem_table(unsigned long oem_addr)
 {
-	if (!oem_addr)
-		return;
-
-	__acpi_unmap_table((char *)oem_addr, oem_size);
 }
 #endif
 
Applied
#7 lore raw
Quoted 9 lines · Yinghai Lu

Impact: fix es7000 compiling

CC arch/x86/kernel/es7000_32.o
arch/x86/kernel/es7000_32.c: In function ‘find_unisys_acpi_oem_table’:
arch/x86/kernel/es7000_32.c:255: error: implicit declaration of function ‘acpi_get_table_with_size’ arch/x86/kernel/es7000_32.c:261: error: implicit declaration of function ‘early_acpi_os_unmap_memory’ arch/x86/kernel/es7000_32.c: In function ‘unmap_unisys_acpi_oem_table’:
arch/x86/kernel/es7000_32.c:277: error: implicit declaration of function ‘__acpi_unmap_table’ make[1]: *** [arch/x86/kernel/es7000_32.o] Error 1

applied to tip/x86/urgent, thanks Yinghai!

Ingo