STRUCT CORESIGHT_OPS_SINK(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct coresight_ops_sink β€” Kernel API Manual πŸ’–

✨ NAME ✨

struct coresight_ops_sink β€” basic operations for a sink. These are the operations available for sinks, bestie. 🫢

πŸ¦‹ SYNOPSIS πŸ¦‹

Here’s the struct in all its exact, character-for-character glory β€” no cap, don’t touch the punctuation:

       struct coresight_ops_sink {
           int (*enable)(struct coresight_device *csdev, enum cs_mode mode,
       struct coresight_path *path);
           int (*disable)(struct coresight_device *csdev);
           void *(*alloc_buffer)(struct coresight_device *csdev, struct
       perf_event *event, void **pages, int nr_pages, bool overwrite);
           void (*free_buffer)(void *config);
           unsigned long (*update_buffer)(struct coresight_device *csdev,
       struct perf_output_handle *handle, void *sink_config);
        };

πŸ’… Members πŸ’…

Okay so the members are giving β€œsmall struct, big responsibilities”:

  • enable β€” enables the sink. Slay. πŸ’…
  • disable β€” disables the sink. Also slay. ✨
  • alloc_buffer β€” initialises perf's ring buffer for trace collection. πŸŽ€
  • free_buffer β€” release memory allocated in get_config. Yes, it literally says get_config. πŸ‘€
  • update_buffer β€” update buffer pointers after a trace session. 🌸

🌈 SEE ALSO 🌈

Go peek at these too, iykyk:

  • Kernel file: ./include/linux/coresight.h
  • union coresight_dev_subtype(9)
  • struct coresight_platform_data(9)
  • struct csdev_access(9)
  • struct coresight_desc(9)
  • struct coresight_connection(9)
  • struct coresight_sysfs_link(9)
  • struct coresight_device(9)
  • struct coresight_path(9)
  • struct coresight_ops_link(9)
  • struct coresight_ops_source(9)
  • struct coresight_ops_helper(9)
  • struct coresight_ops_panic(9)

That’s the whole vibe. This page is from ./include/linux, dated October 2026, and it’s the struct coresight_ops_sink(9) entry in the Kernel API Manual β€” mwah πŸ’‹πŸ’–

πŸ“¦ where this page comes from