> On 27 Jun 2025, at 13:21, Daniel Almeida <daniel.almeida@xxxxxxxxxxxxx> wrote: > > > --- > Changes in v5: > > Thanks, Danilo { > - Removed extra scope in the examples. > - Renamed Registration::register() to Registration::new(), > - Switched to try_pin_init! in Registration::new() (thanks for the > code and the help, Boqun and Benno) > - Renamed the trait functions to handle() and handle_on_thread(). > - Introduced IrqRequest with an unsafe pub(crate) constructor > - Made both register() and the accessors that return IrqRequest public > the idea is to allow both of these to work: > // `irq` is an `irq::Registration` > let irq = pdev.threaded_irq_by_name()? > and > // `req` is an `IrqRequest`. > let req = pdev.irq_by_name()?; > // `irq` is an `irq::Registration` > let irq = irq::ThreadedRegistration::new(req)?; > > - Added another name in the byname variants. There's now one for the > request part and the other one to register() > - Reworked the examples in request.rs > - Implemented the irq accessors in place for pci.rs > - Split the platform accessor macros into two > } > > - Added a rust helper for pci_irq_vectors if !CONFIG_PCI_MSI (thanks, > Intel 0day bot) > - Link to v4: https://lore.kernel.org/r/20250608-topics-tyr-request_irq-v4-0-81cb81fb8073@xxxxxxxxxxxxx > Sorry, I forgot to mention that this now depends on the new Devres series at [0]. [0] https://git.kernel.org/pub/scm/linux/kernel/git/dakr/linux.git/log/?h=rust/devres