]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
rust: irq: add support for threaded IRQs and handlers
authorDaniel Almeida <daniel.almeida@collabora.com>
Mon, 11 Aug 2025 16:03:42 +0000 (13:03 -0300)
committerDanilo Krummrich <dakr@kernel.org>
Tue, 12 Aug 2025 18:22:09 +0000 (20:22 +0200)
commit135d40523244dcad3c64eb2ce131cf018db5cff4
tree5447afba8d433a25c8a9151792c44dc4014254bc
parent0851d34a8cc3a0a43acd79a5c4980d45c6471aab
rust: irq: add support for threaded IRQs and handlers

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.

Tested-by: Joel Fernandes <joelagnelf@nvidia.com>
Tested-by: Dirk Behme <dirk.behme@de.bosch.com>
Reviewed-by: Alice Ryhl <aliceryhl@google.com>
Signed-off-by: Daniel Almeida <daniel.almeida@collabora.com>
Link: https://lore.kernel.org/r/20250811-topics-tyr-request_irq2-v9-4-0485dcd9bcbf@collabora.com
[ Add now available intra-doc links back in. - Danilo ]
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
rust/kernel/irq.rs
rust/kernel/irq/request.rs