Message ID | 79e1dec195d287001515600b1dae0bcaa33fbf65.1583522277.git.hns@goldelico.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | nvmem: jz4780-efuse: fix build warnings on ARCH=x86_64 or riscv | expand |
On 06/03/2020 19:17, H. Nikolaus Schaller wrote: > 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(-) > Applied thanks, srini
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;
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(-)