Messages in this thread Patch in this message | | | From | "H. Nikolaus Schaller" <> | Subject | [PATCH] nvmem: jz4780-efuse: fix build warnings on ARCH=x86_64 or riscv | Date | Fri, 6 Mar 2020 20:17:58 +0100 |
| |
kbuild-robot did find a type error in the min(a, b) function used by this driver if built for x86_64 or riscv.
Althought it is very unlikely that this driver is built for those platforms it could be used as a template for something else and therefore should be correct.
The problem is that we implicitly cast a size_t to unsigned int inside the implementation of the min() function.
Since size_t may differ on different compilers and plaforms there may be warnings or not.
So let's use only size_t variables on all platforms.
Reported-by: kbuild test robot <lkp@intel.com> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au> Cc: srinivas.kandagatla@linaro.org Cc: prasannatsmkumar@gmail.com Cc: malat@debian.org Cc: paul@crapouillou.net Signed-off-by: H. Nikolaus Schaller <hns@goldelico.com> --- drivers/nvmem/jz4780-efuse.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/nvmem/jz4780-efuse.c b/drivers/nvmem/jz4780-efuse.c index 51d140980b1e..512e1872ba36 100644 --- a/drivers/nvmem/jz4780-efuse.c +++ b/drivers/nvmem/jz4780-efuse.c @@ -72,9 +72,9 @@ static int jz4780_efuse_read(void *context, unsigned int offset, struct jz4780_efuse *efuse = context; while (bytes > 0) { - unsigned int start = offset & ~(JZ_EFU_READ_SIZE - 1); - unsigned int chunk = min(bytes, (start + JZ_EFU_READ_SIZE) - - offset); + size_t start = offset & ~(JZ_EFU_READ_SIZE - 1); + size_t chunk = min(bytes, (start + JZ_EFU_READ_SIZE) + - offset); char buf[JZ_EFU_READ_SIZE]; unsigned int tmp; u32 ctrl; -- 2.23.0
| |