1 // SPDX-License-Identifier: GPL-2.0 2 3 //! IRQ abstractions. 4 //! 5 //! An IRQ is an interrupt request from a device. It is used to get the CPU's 6 //! attention so it can service a hardware event in a timely manner. 7 //! 8 //! The current abstractions handle IRQ requests and handlers, i.e.: it allows 9 //! drivers to register a handler for a given IRQ line. 10 //! 11 //! C header: [`include/linux/device.h`](srctree/include/linux/interrupt.h) 12 13 /// Flags to be used when registering IRQ handlers. 14 mod flags; 15 16 /// IRQ allocation and handling. 17 mod request; 18 19 pub use flags::Flags; 20 21 pub use request::{ 22 Handler, IrqRequest, IrqReturn, Registration, ThreadedHandler, ThreadedIrqReturn, 23 ThreadedRegistration, 24 }; 25