STRUCT EDAC_SCRUB_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct edac_scrub_ops(9) πŸ’–

okay bestie, welcome to the Kernel API Manual β€” this page is giving β€œscrub device ops, but make it optional” energy, because literally every element here is optional. No cap. 🫢


✨ NAME ✨

struct edac_scrub_ops β€” scrub device operations, and bestie, all elements are optional. Every single one. The whole vibe is β€œuse what you need, skip what you don’t.” πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

here’s the whole struct, copied with love and zero edits:

       struct edac_scrub_ops {
           int (*read_addr)(struct device *dev, void *drv_data, u64 *base);
           int (*read_size)(struct device *dev, void *drv_data, u64 *size);
           int (*write_addr)(struct device *dev, void *drv_data, u64 base);
           int (*write_size)(struct device *dev, void *drv_data, u64 size);
           int (*get_enabled_bg)(struct device *dev, void *drv_data, bool
       *enable);
           int (*set_enabled_bg)(struct device *dev, void *drv_data, bool
       enable);
           int (*get_min_cycle)(struct device *dev, void *drv_data,  u32 *min);
           int (*get_max_cycle)(struct device *dev, void *drv_data,  u32 *max);
           int (*get_cycle_duration)(struct device *dev, void *drv_data, u32
       *cycle);
           int (*set_cycle_duration)(struct device *dev, void *drv_data, u32
       cycle);
        };

🌸 Members 🌸

  • read_addr β€” reads the base address of the scrubbing range. iconic little address reader. πŸ“
  • read_size β€” reads the offset of the scrubbing range. yes, offset, bestie. πŸ“
  • write_addr β€” sets the base address of the scrubbing range. write it down, slay. ✍️
  • write_size β€” sets the offset of the scrubbing range. offset but make it official. πŸŽ€
  • get_enabled_bg β€” checks if it’s currently performing a background scrub. bg-scrub status check, iykyk. πŸ‘€
  • set_enabled_bg β€” starts or stops a bg-scrub. on or off, no in-between. πŸ”₯
  • get_min_cycle β€” gets the minimum supported scrub cycle duration in seconds. seconds, periodt. ⏱️
  • get_max_cycle β€” gets the maximum supported scrub cycle duration in seconds. also seconds, also slay. ⏲️
  • get_cycle_duration β€” gets the current scrub cycle duration in seconds. current duration check ✨
  • set_cycle_duration β€” sets the current scrub cycle duration in seconds. new duration, who dis πŸ’«
bestie reminder: all elements are optional. the struct is not gonna force you into anything. πŸ™ˆ

πŸ‘‘ SEE ALSO πŸ‘‘

go read these too, bestie β€” they’re all right here in the group chat:

  • Kernel file ./include/linux/edac.h
  • enum dev_type(9)
  • enum hw_event_mc_err_type(9)
  • enum mem_type(9)
  • enum edac_type(9)
  • enum scrub_type(9)
  • enum edac_mc_layer_type(9)
  • struct edac_mc_layer(9)
  • struct rank_info(9)
  • struct edac_raw_error_desc(9)
  • edac_get_dimm(9)
  • struct edac_ecs_ops(9)
  • struct edac_mem_repair_ops(9)

with all the love, from ./include/linux, October 2026 β€” mwah πŸ’‹πŸ’–

πŸ“¦ where this page comes from