#[cfg(feature = "dev-flash-cfi")]
#[cfg_attr(docsrs, doc(cfg(feature = "dev-flash-cfi")))]
pub mod cfi;
#[cfg(feature = "dev-flash-spinor")]
#[cfg_attr(docsrs, doc(cfg(feature = "dev-flash-spinor")))]
pub mod spinor;
#[cfg(feature = "dev-flash-cfi")]
pub use cfi::Cfi;
#[cfg(feature = "dev-flash-spinor")]
pub use spinor::SpiNor;
pub fn register(registry: &mut crate::core::Registry) -> crate::core::Result<()> {
#[cfg(feature = "dev-flash-cfi")]
cfi::register(registry)?;
#[cfg(feature = "dev-flash-spinor")]
spinor::register(registry)?;
Ok(())
}
pub fn bind(bindings: &mut crate::machine::Bindings) -> crate::core::Result<()> {
#[cfg(feature = "dev-flash-cfi")]
cfi::bind(bindings)?;
#[cfg(feature = "dev-flash-spinor")]
spinor::bind(bindings)?;
Ok(())
}
#[must_use]
pub fn schemas() -> alloc::vec::Vec<crate::machine::validate::ClassSchema> {
let mut out = alloc::vec::Vec::new();
#[cfg(feature = "dev-flash-cfi")]
{
out.push(cfi::schema());
}
#[cfg(feature = "dev-flash-spinor")]
{
out.push(spinor::schema());
}
out
}