/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);
Fixed in r330727