STRUCT TI_SCI_RM_IRQ_OPS(9)
π struct ti_sci_rm_irq_ops(9) π
okay bestie, this is a page from the Kernel API Manual and it's literally all about struct ti_sci_rm_irq_ops β the IRQ management operations struct. yes, the whole thing. let's get into it π«Ά
β¨ NAME β¨
struct ti_sci_rm_irq_ops β IRQ management operations
like... the operations. for managing IRQs. it's giving "the plug for your interrupts" energy π
πΈ SYNOPSIS πΈ
here's the whole struct, no cap, every function pointer exactly as it lives:
struct ti_sci_rm_irq_ops {
int (*set_irq)(const struct ti_sci_handle *handle, u16 src_id, u16
src_index, u16 dst_id, u16 dst_host_irq);
int (*set_event_map)(const struct ti_sci_handle *handle, u16 src_id,
u16 src_index, u16 ia_id, u16 vint, u16 global_event, u8
vint_status_bit);
int (*free_irq)(const struct ti_sci_handle *handle, u16 src_id, u16
src_index, u16 dst_id, u16 dst_host_irq);
int (*free_event_map)(const struct ti_sci_handle *handle, u16
src_id, u16 src_index, u16 ia_id, u16 vint, u16 global_event, u8
vint_status_bit);
};
four function pointers, all returning int, all taking const struct ti_sci_handle *handle first because obviously the handle is the main character β¨
π Members π
okay so here's the cast, one by one:
set_irqβ Set an IRQ route between the requested source and destination. that's it, that's the vibe: source β‘οΈ destination, route established π₯set_event_mapβ Set an Event based peripheral irq to Interrupt Aggregator. event-based peripheral irq, meet the Interrupt Aggregator. you're gonna be mapped together πfree_irqβ Free an IRQ route between the requested source and destination. yes with the period, it's very final about it π the route? gone. released. bye bestie πfree_event_mapβ Free an event based peripheral irq to Interrupt Aggregator. also with a period. also very final. the event map gets freed, no notes π
π¦ SEE ALSO π¦
if you're obsessed (and you should be), the kernel file lives at ./include/linux/soc/ti/ti_sci_protocol.h β go read it, iykyk π
and here's the whole friend group of related structs, all in one big SEE ALSO group hug π«Ά:
struct ti_sci_version_info(9)struct ti_sci_core_ops(9)struct ti_sci_dev_ops(9)struct ti_sci_clk_ops(9)struct ti_sci_pm_ops(9)struct ti_sci_resource_desc(9)struct ti_sci_rm_core_ops(9)struct ti_sci_msg_rm_ring_cfg(9)struct ti_sci_rm_ringacc_ops(9)struct ti_sci_rm_psil_ops(9)struct ti_sci_rm_udmap_ops(9)struct ti_sci_proc_ops(9)struct ti_sci_ops(9)struct ti_sci_handle(9)struct ti_sci_resource(9)
ngl the whole ti_sci family is a lot of structs and that's okay β read them all, slay, periodt π
π that's the page!! sourced from ./include/linux/soc/ti, dated October 2026, and honestly? iconic. go map some interrupts bestie, you got this ππβ¨
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms