Discussion:
[U-Boot] [PATCH] imx: mx53ppd: fix build error
Peng Fan
2018-12-09 11:45:02 UTC
Permalink
board/ge/mx53ppd/mx53ppd.c: In function 'board_late_init':
board/ge/mx53ppd/mx53ppd.c:359:23: error: passing argument 2 of 'read_vpd' from incompatible pointer type [-Werror=incompatible-pointer-types]
res = read_vpd(&vpd, vpd_callback);
^~~~~~~~~~~~
In file included from board/ge/mx53ppd/mx53ppd.c:37:0:
board/ge/mx53ppd/../../ge/common/vpd_reader.h:19:5: note: expected 'int (*)(struct vpd_cache *, u8, u8, u8, size_t, const u8 *) {aka int (*)(struct vpd_cache *, unsigned char, unsigned char, unsigned char, unsigned int, const unsigned char *)}' but argument is of type 'int (*)(void *, u8, u8, u8, size_t, const u8 *) {aka int (*)(void *, unsigned char, unsigned char, unsigned char, unsigned int, const unsigned char *)}'
int read_vpd(struct vpd_cache *cache,
^~~~~~~~
cc1: all warnings being treated as errors

Signed-off-by: Peng Fan <***@nxp.com>
---
board/ge/mx53ppd/mx53ppd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/board/ge/mx53ppd/mx53ppd.c b/board/ge/mx53ppd/mx53ppd.c
index f0c8abf0bb..23bfe55541 100644
--- a/board/ge/mx53ppd/mx53ppd.c
+++ b/board/ge/mx53ppd/mx53ppd.c
@@ -290,10 +290,10 @@ struct vpd_cache {
/*
* Extracts MAC and product information from the VPD.
*/
-static int vpd_callback(void *userdata, u8 id, u8 version, u8 type, size_t size,
- u8 const *data)
+static int vpd_callback(struct vpd_cache *userdata, u8 id, u8 version,
+ u8 type, size_t size, u8 const *data)
{
- struct vpd_cache *vpd = (struct vpd_cache *)userdata;
+ struct vpd_cache *vpd = userdata;

if (id == VPD_BLOCK_HWID && version == 1 && type != VPD_TYPE_INVALID &&
size >= 1) {
--
2.14.1
Stefano Babic
2018-12-09 13:11:23 UTC
Permalink
Hi Peng,
Post by Peng Fan
board/ge/mx53ppd/mx53ppd.c:359:23: error: passing argument 2 of 'read_vpd' from incompatible pointer type [-Werror=incompatible-pointer-types]
res = read_vpd(&vpd, vpd_callback);
^~~~~~~~~~~~
board/ge/mx53ppd/../../ge/common/vpd_reader.h:19:5: note: expected 'int (*)(struct vpd_cache *, u8, u8, u8, size_t, const u8 *) {aka int (*)(struct vpd_cache *, unsigned char, unsigned char, unsigned char, unsigned int, const unsigned char *)}' but argument is of type 'int (*)(void *, u8, u8, u8, size_t, const u8 *) {aka int (*)(void *, unsigned char, unsigned char, unsigned char, unsigned int, const unsigned char *)}'
int read_vpd(struct vpd_cache *cache,
^~~~~~~~
cc1: all warnings being treated as errors
---
board/ge/mx53ppd/mx53ppd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/board/ge/mx53ppd/mx53ppd.c b/board/ge/mx53ppd/mx53ppd.c
index f0c8abf0bb..23bfe55541 100644
--- a/board/ge/mx53ppd/mx53ppd.c
+++ b/board/ge/mx53ppd/mx53ppd.c
@@ -290,10 +290,10 @@ struct vpd_cache {
/*
* Extracts MAC and product information from the VPD.
*/
-static int vpd_callback(void *userdata, u8 id, u8 version, u8 type, size_t size,
- u8 const *data)
+static int vpd_callback(struct vpd_cache *userdata, u8 id, u8 version,
+ u8 type, size_t size, u8 const *data)
{
- struct vpd_cache *vpd = (struct vpd_cache *)userdata;
+ struct vpd_cache *vpd = userdata;
if (id == VPD_BLOCK_HWID && version == 1 && type != VPD_TYPE_INVALID &&
size >= 1) {
Thanks for this !

Acked-by: Stefano Babic <***@denx.de>

Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: ***@denx.de
=====================================================================
Loading...