lkml.org 
[lkml]   [2018]   [Jul]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH 1/3] clk: tegra: refactor 7.1 div calculation
Date
Quoting Aapo Vienamo (2018-07-04 00:51:48)
> On Tue, 3 Jul 2018 11:10:21 -0400
> Peter Geis <pgwipeout@gmail.com> wrote:
>
> > Good Morning,
> >
> > Just a heads up.
> > During compilation with your patches, I get the following warning:
> >
> > In file included from ./arch/arm/include/asm/div64.h:127:0,
> > from ./include/linux/kernel.h:174,
> > from drivers/clk/tegra/div71.c:17:
> > drivers/clk/tegra/div71.c: In function ‘div71_get’:
> > ./include/asm-generic/div64.h:222:28: warning: comparison of distinct
> > pointer types lacks a cast
> > (void)(((typeof((n)) *)0) == ((uint64_t *)0)); \
> > ^
> > drivers/clk/tegra/div71.c:40:2: note: in expansion of macro ‘do_div’
> > do_div(divider_ux1, rate);
> > ^~~~~~
> >
> > Very Respectfully,
> > Peter Geis
> >
>
> That's indeed true. Looks like this warning is produced only on 32-bit
> arm as it uses a different variant of the do_div macro than arm64.
>

divider_ux1 is an s64, but the generic do_div() macro is checking to
make sure that's compatible with a u64, and it isn't. Maybe you should
use a function like div64_long()?

\
 
 \ /
  Last update: 2018-07-06 19:11    [W:0.096 / U:0.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site