On Tue, Feb 26, 2008 at 01:21:00PM +0100, Martin Michlmayr wrote: > With 2.6.25-rc3 and a config file with > > CONFIG_CRYPTO_DEV_HIFN_795X=m > CONFIG_CRYPTO_DEV_HIFN_795X_RNG=y > > I get the following build error on at least ARM and MIPS: > > Building modules, stage 2. > MODPOST 759 modules > ERROR: "__divdi3" [drivers/crypto/hifn_795x.ko] undefined! Fix below. > Martin Michlmayr cu Adrian <-- snip --> Using ndelay() with a 64bit variable as parameter can result in build errors like the following on some 32bit systems when it results in a 64bit division: <-- snip --> ... MODPOST 759 modules ERROR: "__divdi3" [drivers/crypto/hifn_795x.ko] undefined! <-- snip --> Reported by Martin Michlmayr. Signed-off-by: Adrian Bunk --- 40b45041ddc587c20b872a86a6a36952c28b02c7 diff --git a/drivers/crypto/hifn_795x.c b/drivers/crypto/hifn_795x.c index 3110bf7..b1541c6 100644 --- a/drivers/crypto/hifn_795x.c +++ b/drivers/crypto/hifn_795x.c @@ -807,7 +807,7 @@ static int hifn_rng_data_present(struct hwrng *rng, int wait) return 1; if (!wait) return 0; - ndelay(nsec); + ndelay((u32)nsec); return 1; }