You can absolutely write drivers with zero unsafe Rust. The bridge from Rust to C is where unsafe code lies.