Re: [PATCH] fbdev/g364fb: Fix a compilation issue
Hi Xurui, On 1/9/23 11:04, Geert Uytterhoeven wrote: This time with the new linux-mips mailing list address... On Mon, Jan 9, 2023 at 11:01 AM Geert Uytterhoeven wrote: Hi Xurui, On Thu, Jan 5, 2023 at 10:45 AM xurui wrote: drivers/video/fbdev/g364fb.c:202:4: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] Signed-off-by: xurui Thanks for your patch! --- a/drivers/video/fbdev/g364fb.c +++ b/drivers/video/fbdev/g364fb.c @@ -175,7 +175,8 @@ int __init g364fb_init(void) { volatile unsigned int *curs_pal_ptr = (volatile unsigned int *) CURS_PAL_REG; - int mem, i; + int mem; + uintptr_t i; This doesn't look like the right fix to me. The line the compiler[1] complains about is: *(unsigned short *) (CURS_PAT_REG + i * 8) = 0; Interestingly, it doesn't complain about: *(unsigned short *) (CURS_PAT_REG + 14 * 64) = 0x; This driver uses raw memory writes to write to hardware registers. Probably it should use writel() instead. Xurui, I'll drop this patch from fbdev git tree for now. Please check if the driver can be converted to writel() or similiar. Thanks, Helge [1] mips64-linux-gnuabi64-gcc version 10.3.0 (Ubuntu 10.3.0-1ubuntu1) jazz_defconfig + CONFIG_64BIT=y
Re: [PATCH] fbdev/g364fb: Fix a compilation issue
This time with the new linux-mips mailing list address... On Mon, Jan 9, 2023 at 11:01 AM Geert Uytterhoeven wrote: > > Hi Xurui, > > On Thu, Jan 5, 2023 at 10:45 AM xurui wrote: > > drivers/video/fbdev/g364fb.c:202:4: error: cast to pointer from integer of > > different size [-Werror=int-to-pointer-cast] > > > > Signed-off-by: xurui > > Thanks for your patch! > > > --- a/drivers/video/fbdev/g364fb.c > > +++ b/drivers/video/fbdev/g364fb.c > > @@ -175,7 +175,8 @@ int __init g364fb_init(void) > > { > > volatile unsigned int *curs_pal_ptr = > > (volatile unsigned int *) CURS_PAL_REG; > > - int mem, i; > > + int mem; > > + uintptr_t i; > > This doesn't look like the right fix to me. > > The line the compiler[1] complains about is: > > *(unsigned short *) (CURS_PAT_REG + i * 8) = 0; > > Interestingly, it doesn't complain about: > > *(unsigned short *) (CURS_PAT_REG + 14 * 64) = 0x; > > This driver uses raw memory writes to write to hardware registers. > Probably it should use writel() instead. > > [1] mips64-linux-gnuabi64-gcc version 10.3.0 (Ubuntu 10.3.0-1ubuntu1) > jazz_defconfig + CONFIG_64BIT=y > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- > ge...@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like > that. > -- Linus Torvalds
Re: [PATCH] fbdev/g364fb: Fix a compilation issue
Hi Xurui, On Thu, Jan 5, 2023 at 10:45 AM xurui wrote: > drivers/video/fbdev/g364fb.c:202:4: error: cast to pointer from integer of > different size [-Werror=int-to-pointer-cast] > > Signed-off-by: xurui Thanks for your patch! > --- a/drivers/video/fbdev/g364fb.c > +++ b/drivers/video/fbdev/g364fb.c > @@ -175,7 +175,8 @@ int __init g364fb_init(void) > { > volatile unsigned int *curs_pal_ptr = > (volatile unsigned int *) CURS_PAL_REG; > - int mem, i; > + int mem; > + uintptr_t i; This doesn't look like the right fix to me. The line the compiler[1] complains about is: *(unsigned short *) (CURS_PAT_REG + i * 8) = 0; Interestingly, it doesn't complain about: *(unsigned short *) (CURS_PAT_REG + 14 * 64) = 0x; This driver uses raw memory writes to write to hardware registers. Probably it should use writel() instead. [1] mips64-linux-gnuabi64-gcc version 10.3.0 (Ubuntu 10.3.0-1ubuntu1) jazz_defconfig + CONFIG_64BIT=y Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds
Re: [PATCH] fbdev/g364fb: Fix a compilation issue
On 1/5/23 10:40, xurui wrote: drivers/video/fbdev/g364fb.c:202:4: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] Signed-off-by: xurui applied. Thanks! Helge --- drivers/video/fbdev/g364fb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/video/fbdev/g364fb.c b/drivers/video/fbdev/g364fb.c index 05837a3b985c..beef4bcec3c5 100644 --- a/drivers/video/fbdev/g364fb.c +++ b/drivers/video/fbdev/g364fb.c @@ -175,7 +175,8 @@ int __init g364fb_init(void) { volatile unsigned int *curs_pal_ptr = (volatile unsigned int *) CURS_PAL_REG; - int mem, i; + int mem; + uintptr_t i; if (fb_get_options("g364fb", NULL)) return -ENODEV;