__scmi_enable_evt(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… __scmi_enable_evt β€” like, the whole vibe check on events

okay so before we even start: this is a page from the Kernel API Manual, section 9, and the function is __scmi_enable_evt. yeah. it's a kernel function. and honestly? she's kind of a big deal. πŸŽ€


✨ NAME ✨

__scmi_enable_evt β€” Enable/disable events generation. that's it. that's the whole job. turning events on and off like a light switch bestie πŸ¦‹


🌸 SYNOPSIS 🌸

int __scmi_enable_evt (struct scmi_registered_event *r_evt , u32 src_id
, bool enable );

so you're calling her with a registered event, a source id, and a yes/no. three little things and she handles the rest, no cap ✨


πŸ’– ARGUMENTS πŸ’–

here's what you're handing her, one by one:

  • r_evt β€” The registered event to act upon. this is your main character pointer, the thing you're actually fiddling with 🫢
  • src_id β€” The src_id to act upon. the source you care about, like specifically that one πŸ‘€
  • enable β€” The action to perform: true->Enable, false->Disable. literally just on or off, bestie, that's the whole bit πŸ’…

πŸ¦‹ DESCRIPTION πŸ¦‹

so what she actually does: she takes care of proper refcounting while performing enable/disable. like, she's keeping score so you don't have to, and she handles the special case of ALL sources requests by herself. icon behaviour fr fr πŸ’€

also, and this is the important bit: she returns successfully if at least one of the required src_id has been successfully enabled/disabled. not all of them. at least one. yes, really. lowkey generous of her ngl 🌸


⭐ RETURN ⭐

0 on Success πŸ”₯


🌈 SEE ALSO 🌈

okay so she does not work alone, there is literally an entire friend group, and you should go meet all of them:

  • Kernel file ./drivers/firmware/arm_scmi/notify.c Theory of operation(9)
  • struct scmi_notify_instance(9)
  • struct events_queue(9)
  • struct scmi_event_header(9)
  • struct scmi_registered_events_desc(9)
  • struct scmi_registered_event(9)
  • struct scmi_event_handler(9)
  • scmi_lookup_and_call_event_chain(9)
  • scmi_process_event_header(9)
  • scmi_process_event_payload(9)
  • scmi_events_dispatcher(9)
  • scmi_notify(9)
  • scmi_kfifo_free(9)
  • scmi_initialize_events_queue(9)
  • scmi_allocate_registered_events_desc(9)
  • scmi_register_protocol_events(9)
  • scmi_deregister_protocol_events(9)
  • scmi_allocate_event_handler(9)
  • scmi_free_event_handler(9)
  • scmi_bind_event_handler(9)
  • scmi_valid_pending_handler(9)
  • scmi_register_event_handler(9)
  • __scmi_event_handler_get_ops(9)
  • scmi_get_active_handler(9)
  • scmi_put_handler_unlocked(9)
  • scmi_event_handler_enable_events(9)
  • scmi_notifier_register(9)
  • scmi_notifier_unregister(9)
  • scmi_devm_notifier_register(9)
  • scmi_devm_notifier_unregister(9)
  • scmi_protocols_late_init(9)
  • scmi_notification_init(9)
  • scmi_notification_quiesce(9)
  • scmi_notification_exit(9)

like, that's the whole group chat. go say hi. iykyk πŸ’œ


🧚 little aside, bestie: everything above is straight from the source, so if you're doing something cursed with refcounts, that's on you, not on me. take the caveats seriously, mwah πŸ’‹

and that's the page!! brought to you by ./drivers/firmware/arm_scmi, dated October 2026, and yeah β€” she's __scmi_enable_evt(9) and she ate. periodt. πŸ‘‘πŸ’–

πŸ“¦ where this page comes from