Bug 222255

Summary: RPI random number generator breaks kernel build when BCM2835_RNG_USE_CALLOUT is set
Product: Base System Reporter: Sylvain Garrigues <sylvain>
Component: armAssignee: freebsd-arm (Nobody) <freebsd-arm>
Status: Closed FIXED    
Severity: Affects Only Me CC: adrian, delphij, stevek, sylvain
Priority: ---    
Version: CURRENT   
Hardware: arm   
OS: Any   

Description Sylvain Garrigues 2017-09-12 12:48:06 UTC
/usr/src/sys/arm/broadcom/bcm2835/bcm2835_rng.c:323:2: error: incompatible pointer types passing 'void (struct bcm2835_rng_softc *)' to parameter of type 'void (*)(void *)' [-Werror,-Wincompatible-pointer-types]                     
                   ^               
/usr/src/sys/arm/broadcom/bcm2835/bcm2835_rng.c:476:2: error: incompatible pointer types passing 'void (struct bcm2835_rng_softc *)' to parameter of type 'void (*)(void *)' [-Werror,-Wincompatible-pointer-types]


Things work when we use a cast:
callout_reset(&sc->sc_rngto, sc->sc_rnghz, bcm2835_rng_harvest, sc);
==>
callout_reset(&sc->sc_rngto, sc->sc_rnghz, (void (*)(void *))bcm2835_rng_harvest, sc);
Comment 1 Sylvain Garrigues 2018-03-10 11:42:34 UTC
Fixed in r330727