[PATCH] axi: fix a warning

Sergei Antonov saproj at gmail.com
Mon Jun 19 22:35:41 CEST 2023


Fix an enum/integer mismatch encountered in 'sandbox_defconfig' build.

.../u-boot/drivers/axi/axi-emul-uclass.c:16:5: warning: conflicting types for ‘axi_sandbox_get_emul’ due to enum/integer mismatch; have ‘int(struct udevice *, ulong,  enum axi_size_t,  struct udevice **)’ {aka ‘int(struct udevice *, long unsigned int,  enum axi_size_t,  struct udevice **)’} [-Wenum-int-mismatch]
   16 | int axi_sandbox_get_emul(struct udevice *bus, ulong address,
      |     ^~~~~~~~~~~~~~~~~~~~
In file included from .../u-boot/drivers/axi/axi-emul-uclass.c:14:
.../u-boot/arch/sandbox/include/asm/axi.h:48:5: note: previous declaration of ‘axi_sandbox_get_emul’ with type ‘int(struct udevice *, ulong,  uint,  struct udevice **)’ {aka ‘int(struct udevice *, long unsigned int,  unsigned int,  struct udevice **)’}
   48 | int axi_sandbox_get_emul(struct udevice *bus, ulong address, uint length,
      |     ^~~~~~~~~~~~~~~~~~~~

Make function declaration match function definition.

Cc: Mario Six <mario.six at gdsys.cc>
Signed-off-by: Sergei Antonov <saproj at gmail.com>
---
 arch/sandbox/include/asm/axi.h | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/arch/sandbox/include/asm/axi.h b/arch/sandbox/include/asm/axi.h
index d483f7b65a02..a93975c6534b 100644
--- a/arch/sandbox/include/asm/axi.h
+++ b/arch/sandbox/include/asm/axi.h
@@ -7,6 +7,8 @@
 #ifndef __asm_axi_h
 #define __asm_axi_h
 
+#include <axi.h>
+
 #define axi_emul_get_ops(dev)	((struct axi_emul_ops *)(dev)->driver->ops)
 
 /**
@@ -14,10 +16,10 @@
  * @bus:     The AXI bus from which to retrieve a emulation device
  * @address: The address of a transfer that should be handled by a emulation
  *	     device
- * @length:  The data width of a transfer that should be handled by a emulation
+ * @size:    The data width of a transfer that should be handled by a emulation
  *	     device
  * @emulp:   Pointer to a buffer receiving the emulation device that handles
- *	     the transfer specified by the address and length parameters
+ *	     the transfer specified by the address and size parameters
  *
  * To test the AXI uclass, we implement a simple AXI emulation device, which is
  * a virtual device on a AXI bus that exposes a simple storage interface: When
@@ -45,7 +47,7 @@
  * Return: 0 of OK, -ENODEV if no device capable of handling the specified
  *	   transfer exists or the device could not be retrieved
  */
-int axi_sandbox_get_emul(struct udevice *bus, ulong address, uint length,
+int axi_sandbox_get_emul(struct udevice *bus, ulong address, enum axi_size_t size,
 			 struct udevice **emulp);
 /**
  * axi_get_store() - Get address of internal storage of a emulated AXI device
-- 
2.37.2



More information about the U-Boot mailing list