diff --git a/arch/x86/lib/tables.c b/arch/x86/lib/tables.c index e62705af41..025b183d6b 100644 --- a/arch/x86/lib/tables.c +++ b/arch/x86/lib/tables.c @@ -12,6 +12,11 @@ #include #include +static u32 write_smbios_table_wrapper(u32 addr) +{ + return write_smbios_table(addr); +} + /** * Function prototype to write a specific configuration table * @@ -34,7 +39,7 @@ static table_write table_write_funcs[] = { write_acpi_tables, #endif #ifdef CONFIG_GENERATE_SMBIOS_TABLE - write_smbios_table, + write_smbios_table_wrapper, #endif }; diff --git a/include/smbios.h b/include/smbios.h index 623a703693..5962d4ca2b 100644 --- a/include/smbios.h +++ b/include/smbios.h @@ -221,7 +221,7 @@ static inline void fill_smbios_header(void *table, int type, * @handle: the structure's handle, a unique 16-bit number * @return: size of the structure */ -typedef int (*smbios_write_type)(u32 *addr, int handle); +typedef int (*smbios_write_type)(uintptr_t *addr, int handle); /** * write_smbios_table() - Write SMBIOS table @@ -231,6 +231,6 @@ typedef int (*smbios_write_type)(u32 *addr, int handle); * @addr: start address to write SMBIOS table * @return: end address of SMBIOS table */ -u32 write_smbios_table(u32 addr); +uintptr_t write_smbios_table(uintptr_t addr); #endif /* _SMBIOS_H_ */ diff --git a/lib/smbios.c b/lib/smbios.c index 9808ee7b9c..8dfd4860e4 100644 --- a/lib/smbios.c +++ b/lib/smbios.c @@ -69,7 +69,7 @@ static int smbios_string_table_len(char *start) return len + 1; } -static int smbios_write_type0(u32 *current, int handle) +static int smbios_write_type0(uintptr_t *current, int handle) { struct smbios_type0 *t = (struct smbios_type0 *)*current; int len = sizeof(struct smbios_type0); @@ -98,7 +98,7 @@ static int smbios_write_type0(u32 *current, int handle) return len; } -static int smbios_write_type1(u32 *current, int handle) +static int smbios_write_type1(uintptr_t *current, int handle) { struct smbios_type1 *t = (struct smbios_type1 *)*current; int len = sizeof(struct smbios_type1); @@ -114,7 +114,7 @@ static int smbios_write_type1(u32 *current, int handle) return len; } -static int smbios_write_type2(u32 *current, int handle) +static int smbios_write_type2(uintptr_t *current, int handle) { struct smbios_type2 *t = (struct smbios_type2 *)*current; int len = sizeof(struct smbios_type2); @@ -132,7 +132,7 @@ static int smbios_write_type2(u32 *current, int handle) return len; } -static int smbios_write_type3(u32 *current, int handle) +static int smbios_write_type3(uintptr_t *current, int handle) { struct smbios_type3 *t = (struct smbios_type3 *)*current; int len = sizeof(struct smbios_type3); @@ -152,7 +152,7 @@ static int smbios_write_type3(u32 *current, int handle) return len; } -static int smbios_write_type4(u32 *current, int handle) +static int smbios_write_type4(uintptr_t *current, int handle) { struct smbios_type4 *t = (struct smbios_type4 *)*current; int len = sizeof(struct smbios_type4); @@ -185,7 +185,7 @@ static int smbios_write_type4(u32 *current, int handle) return len; } -static int smbios_write_type32(u32 *current, int handle) +static int smbios_write_type32(uintptr_t *current, int handle) { struct smbios_type32 *t = (struct smbios_type32 *)*current; int len = sizeof(struct smbios_type32); @@ -198,7 +198,7 @@ static int smbios_write_type32(u32 *current, int handle) return len; } -static int smbios_write_type127(u32 *current, int handle) +static int smbios_write_type127(uintptr_t *current, int handle) { struct smbios_type127 *t = (struct smbios_type127 *)*current; int len = sizeof(struct smbios_type127); @@ -221,7 +221,7 @@ static smbios_write_type smbios_write_funcs[] = { smbios_write_type127 }; -u32 write_smbios_table(u32 addr) +uintptr_t write_smbios_table(uintptr_t addr) { struct smbios_entry *se; u32 tables;