STRUCT EDAC_SCRUB_OPS(9)
π 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
- 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