summaryrefslogtreecommitdiff
path: root/rust/kernel/irq.rs
diff options
context:
space:
mode:
authorDaniel Almeida <daniel.almeida@collabora.com>2025-08-11 13:03:42 -0300
committerDanilo Krummrich <dakr@kernel.org>2025-08-12 20:22:09 +0200
commit135d40523244dcad3c64eb2ce131cf018db5cff4 (patch)
tree5447afba8d433a25c8a9151792c44dc4014254bc /rust/kernel/irq.rs
parent0851d34a8cc3a0a43acd79a5c4980d45c6471aab (diff)
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>
Diffstat (limited to 'rust/kernel/irq.rs')
-rw-r--r--rust/kernel/irq.rs5
1 files changed, 4 insertions, 1 deletions
diff --git a/rust/kernel/irq.rs b/rust/kernel/irq.rs
index c1019bc36ad1..20abd4056655 100644
--- a/rust/kernel/irq.rs
+++ b/rust/kernel/irq.rs
@@ -18,4 +18,7 @@ mod request;
pub use flags::Flags;
-pub use request::{Handler, IrqRequest, IrqReturn, Registration};
+pub use request::{
+ Handler, IrqRequest, IrqReturn, Registration, ThreadedHandler, ThreadedIrqReturn,
+ ThreadedRegistration,
+};