On Thu Jul 3, 2025 at 9:30 PM CEST, Daniel Almeida wrote: > +/// Callbacks for an IRQ handler. > +pub trait Handler: Sync { > + /// The hard IRQ handler. > + /// > + /// This is executed in interrupt context, hence all corresponding > + /// limitations do apply. > + /// > + /// All work that does not necessarily need to be executed from > + /// interrupt context, should be deferred to a threaded handler. > + /// See also [`ThreadedRegistration`]. > + fn handle(&self) -> IrqReturn; > +} One thing I forgot, the IRQ handlers should have a &Device<Bound> argument, i.e.: fn handle(&self, dev: &Device<Bound>) -> IrqReturn IRQ registrations naturally give us this guarantee, so we should take advantage of that. - Danilo