#[cfg(feature = "dev-usb-chipidea")]
#[cfg_attr(docsrs, doc(cfg(feature = "dev-usb-chipidea")))]
pub mod chipidea;
#[cfg(feature = "dev-usb-dwc2")]
#[cfg_attr(docsrs, doc(cfg(feature = "dev-usb-dwc2")))]
pub mod dwc2;
#[cfg(feature = "dev-usb-ehci")]
#[cfg_attr(docsrs, doc(cfg(feature = "dev-usb-ehci")))]
pub mod ehci;
#[cfg(feature = "dev-usb-hid")]
#[cfg_attr(docsrs, doc(cfg(feature = "dev-usb-hid")))]
pub mod hid;
pub fn register(registry: &mut crate::core::Registry) -> crate::Result<()> {
#[cfg(feature = "dev-usb-ehci")]
ehci::register(registry)?;
#[cfg(feature = "dev-usb-chipidea")]
chipidea::register(registry)?;
#[cfg(feature = "dev-usb-dwc2")]
dwc2::register(registry)?;
#[cfg(feature = "dev-usb-hid")]
hid::register(registry)?;
let _ = registry;
Ok(())
}
pub fn bind(bindings: &mut crate::machine::Bindings) -> crate::Result<()> {
#[cfg(feature = "dev-usb-ehci")]
ehci::bind(bindings)?;
#[cfg(feature = "dev-usb-chipidea")]
chipidea::bind(bindings)?;
#[cfg(feature = "dev-usb-dwc2")]
dwc2::bind(bindings)?;
#[cfg(feature = "dev-usb-hid")]
hid::bind(bindings)?;
let _ = bindings;
Ok(())
}
#[must_use]
#[allow(unused_mut, clippy::vec_init_then_push)]
pub fn schemas() -> alloc::vec::Vec<crate::machine::validate::ClassSchema> {
let mut out = alloc::vec::Vec::new();
#[cfg(feature = "dev-usb-ehci")]
out.push(ehci::schema());
#[cfg(feature = "dev-usb-chipidea")]
out.push(chipidea::schema());
#[cfg(feature = "dev-usb-dwc2")]
out.push(dwc2::schema());
#[cfg(feature = "dev-usb-hid")]
out.push(hid::schema());
out
}