diff options
author | Daniel Almeida <daniel.almeida@collabora.com> | 2025-08-11 13:03:42 -0300 |
---|---|---|
committer | Danilo Krummrich <dakr@kernel.org> | 2025-08-12 20:22:09 +0200 |
commit | 135d40523244dcad3c64eb2ce131cf018db5cff4 (patch) | |
tree | 5447afba8d433a25c8a9151792c44dc4014254bc /rust/kernel/irq.rs | |
parent | 0851d34a8cc3a0a43acd79a5c4980d45c6471aab (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.rs | 5 |
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, +}; |