Re: [PATCH] rtc: s35390a: Make buf an unsigned char in s35390a_init

From: Alexandre Belloni
Date: Fri Oct 19 2018 - 15:48:13 EST


Hello,

On 18/10/2018 14:42:07-0700, Nathan Chancellor wrote:
> Clang warns:
>
> drivers/rtc/rtc-s35390a.c:124:27: warning: implicit conversion from
> 'int' to 'char' changes value from 192 to -64 [-Wconstant-conversion]
> buf = S35390A_FLAG_RESET | S35390A_FLAG_24H;
> ~ ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
> 1 warning generated.
>
> Update buf to be an unsigned char, which matches the size and signedness
> of the buf member in struct i2c_msg (__u8).
>
> https://github.com/ClangBuiltLinux/linux/issues/145
> Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx>
> ---
> drivers/rtc/rtc-s35390a.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/rtc/rtc-s35390a.c b/drivers/rtc/rtc-s35390a.c
> index 77feb603cd4c..9fd51337cfae 100644
> --- a/drivers/rtc/rtc-s35390a.c
> +++ b/drivers/rtc/rtc-s35390a.c
> @@ -108,7 +108,7 @@ static int s35390a_get_reg(struct s35390a *s35390a, int reg, char *buf, int len)
>
> static int s35390a_init(struct s35390a *s35390a)
> {
> - char buf;
> + unsigned char buf;

I would use a u8 directly which has the advantage to be shorter :)

> int ret;
> unsigned initcount = 0;
>
> --
> 2.19.1
>

--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com