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

This patch adds support for non-threaded IRQs and handlers through
irq::Registration and the irq::Handler trait.

Registering an irq is dependent upon having a 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-3-0485dcd9bcbf@collabora.com
[ Remove expect(dead_code) from Flags::into_inner(), add
  expect(dead_code) to IrqRequest::new(), fix intra-doc links. - Danilo ]
Signed-off-by: Danilo Krummrich <dakr@kernel.org>
rust/bindings/bindings_helper.h
rust/helpers/helpers.c
rust/helpers/irq.c [new file with mode: 0644]
rust/kernel/irq.rs
rust/kernel/irq/flags.rs
rust/kernel/irq/request.rs [new file with mode: 0644]