[U-Boot] [PATCH 01/82] WIP: x86: Fix up types in smbios code
Simon Glass
sjg at chromium.org
Mon Sep 26 05:33:04 CEST 2016
This gives warnings with 64-bit compilation at present. Fix these up.
Note that this is a placeholder patch while we wait for this patch to be
applied:
https://patchwork.ozlabs.org/patch/660592/
Signed-off-by: Simon Glass <sjg at chromium.org>
---
arch/x86/include/asm/smbios.h | 2 +-
arch/x86/lib/smbios.c | 20 ++++++++++----------
2 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/arch/x86/include/asm/smbios.h b/arch/x86/include/asm/smbios.h
index 623a703..fd13f2d 100644
--- a/arch/x86/include/asm/smbios.h
+++ b/arch/x86/include/asm/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)(ulong *addr, int handle);
/**
* write_smbios_table() - Write SMBIOS table
diff --git a/arch/x86/lib/smbios.c b/arch/x86/lib/smbios.c
index 9f30550..c338b82 100644
--- a/arch/x86/lib/smbios.c
+++ b/arch/x86/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(ulong *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(ulong *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(ulong *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(ulong *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(ulong *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(ulong *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(ulong *current, int handle)
{
struct smbios_type127 *t = (struct smbios_type127 *)*current;
int len = sizeof(struct smbios_type127);
@@ -224,7 +224,7 @@ static smbios_write_type smbios_write_funcs[] = {
u32 write_smbios_table(u32 addr)
{
struct smbios_entry *se;
- u32 tables;
+ ulong tables;
int len = 0;
int max_struct_size = 0;
int handle = 0;
@@ -235,7 +235,7 @@ u32 write_smbios_table(u32 addr)
/* 16 byte align the table address */
addr = ALIGN(addr, 16);
- se = (struct smbios_entry *)addr;
+ se = (struct smbios_entry *)(uintptr_t)addr;
memset(se, 0, sizeof(struct smbios_entry));
addr += sizeof(struct smbios_entry);
@@ -244,7 +244,7 @@ u32 write_smbios_table(u32 addr)
/* populate minimum required tables */
for (i = 0; i < ARRAY_SIZE(smbios_write_funcs); i++) {
- int tmp = smbios_write_funcs[i](&addr, handle++);
+ int tmp = smbios_write_funcs[i]((ulong *)&addr, handle++);
max_struct_size = max(max_struct_size, tmp);
len += tmp;
}
--
2.8.0.rc3.226.g39d4020
More information about the U-Boot
mailing list