Re: [PATCH -next] fbdev: radeon: Avoid 64 bit divide

From: Benjamin Herrenschmidt
Date: Fri Jun 05 2015 - 16:09:06 EST


On Fri, 2015-06-05 at 11:05 -0700, Guenter Roeck wrote:
> A 64 bit divide causes build failures with 32 bit builds, such as
>
> ERROR: "__divdi3" [drivers/video/fbdev/aty/radeonfb.ko] undefined!
>
> or
>
> drivers/built-in.o: In function `radeon_probe_pll_params':
> radeon_base.c:(.text+0x16608b): undefined reference to `__divdi3'

What about using do_div() instead ?

> Fixes: ce8f4069dce8 ("fbdev: radeon: Remove 'struct timeval' usage")
> Cc: Tina Ruchandani <ruchandani.tina@xxxxxxxxx>
> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> ---
> drivers/video/fbdev/aty/radeon_base.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/video/fbdev/aty/radeon_base.c b/drivers/video/fbdev/aty/radeon_base.c
> index b3612e30d74f..374e47532035 100644
> --- a/drivers/video/fbdev/aty/radeon_base.c
> +++ b/drivers/video/fbdev/aty/radeon_base.c
> @@ -492,7 +492,7 @@ static int radeon_probe_pll_params(struct radeonfb_info *rinfo)
> /* Return -1 if more than 10 seconds have elapsed */
> if (delta > (10*1000000))
> return -1;
> - hz = 1000000/delta;
> + hz = 1000000 / (int)delta;
>
> hTotal = ((INREG(CRTC_H_TOTAL_DISP) & 0x1ff) + 1) * 8;
> vTotal = ((INREG(CRTC_V_TOTAL_DISP) & 0x3ff) + 1);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/