STRUCT CSDEV_ACCESS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct csdev_access(9)

okay so bestie, welcome to the Kernel API Manual ✨ β€” this is the page for struct csdev_access, and it's literally the abstraction of a CoreSight device access. that's the whole vibe. you're gonna understand it, i promise 🫢


✨ NAME ✨

struct csdev_access β€” the abstraction of a CoreSight device access. yes, that's it, that's the icon πŸ’…


🌸 SYNOPSIS 🌸

struct csdev_access {
    bool io_mem;
    union {
      void __iomem *base;
      struct {
        u64 (*read)(u32 offset, bool relaxed, bool _64bit);
        void (*write)(u64 val, u32 offset, bool relaxed, bool _64bit);
      };
    };
 };

like, look at her. she's so structured. πŸ‘‘


πŸŽ€ Members πŸŽ€

okay so let's go through the members one by one, no skips, we're doing this properly πŸ’–

  • io_mem β€” true if the device has memory mapped I/O. that's the flag, bestie, she tells you which world you're in 🌈
  • {unnamed_union} β€” anonymous. yeah she's unnamed, she doesn't need a name, main character energy fr 🧚
  • base β€” when io_mem == true, this is the base address of the component. so you only care about her when io_mem is true, okay? iykyk πŸ’€
  • {unnamed_struct} β€” also anonymous. two unnamed babies in one struct, it's giving mystery πŸ”₯
  • read β€” read from the given "offset" of the given instance. that's the function pointer, she does the reading ⭐
  • write β€” write "val" to the given "offset". and she does the writing. slay πŸ’…

πŸ¦‹ SEE ALSO πŸ¦‹

if you wanna go down the rabbit hole (and you know you do), check out the Kernel file ./include/linux/coresight.h and all her friends πŸ‘‘:

  • union coresight_dev_subtype(9)
  • struct coresight_platform_data(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_sink(9)
  • struct coresight_ops_link(9)
  • struct coresight_ops_source(9)
  • struct coresight_ops_helper(9)
  • struct coresight_ops_panic(9)

okay that's the whole page, you ate that πŸ“ this one lives in ./include/linux, dated October 2026 β€” mwah, go read the source bestie, ily πŸ’œβœ¨

πŸ“¦ where this page comes from