On Tue, Jul 15, 2025 at 12:16:41PM -0300, Daniel Almeida wrote: > This patch adds support for threaded IRQs and handlers through > irq::ThreadedRegistration and the irq::ThreadedHandler trait. > > Threaded interrupts are more permissive in the sense that further > processing is possible in a kthread. This means that said execution takes > place outside of interrupt context, which is rather restrictive in many > ways. > > Registering a threaded irq is dependent upon having an IrqRequest that > was previously allocated by a given device. This will be introduced in > subsequent patches. > > Signed-off-by: Daniel Almeida <daniel.almeida@xxxxxxxxxxxxx> A few of the same nits as on the non-threaded patch apply here too. > +/// impl kernel::irq::request::ThreadedHandler for Handler { If you import ThreadedHandler at the top of the example, then you don't need this. If you want it to say irq in the path here, then import kernel::irq::self and use `impl irq::ThreadedHandler for Handler` here. The same could make sense for the flags. You can write irq::Flags::SHARED if you import the irq module. (This requires a re-export in the irq module if you don't have one already. Also, I would make the irq module private so that end-users import everything via the irq:: path without a sub-module.) Alice