Re: [PATCH v5 0/6] rust: add support for request_irq

From: Daniel Almeida
Date: Fri Jun 27 2025 - 12:32:21 EST




> 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