u32 nr_blocks; /* how many blocks */ struct edac_device_block *blocks; /* block array */
/* edac sysfs device control */ struct kobject kobj;
};
/* *Abstractedac_devicecontrolinfostructure *
*/ struct edac_device_ctl_info { /* for global list of edac_device_ctl_info structs */ struct list_head link;
struct module *owner; /* Module owner of this control struct */
int dev_idx;
/* Per instance controls for this edac_device */ int log_ue; /* boolean for logging UEs */ int log_ce; /* boolean for logging CEs */ int panic_on_ue; /* boolean for panic'ing on an UE */ unsigned poll_msec; /* number of milliseconds to poll interval */ unsignedlong delay; /* number of jiffies for poll_msec */
/* Additional top controller level attributes, but specified *bythelowleveldriver. * *Setbythelowleveldrivertoprovideattributesatthe *controllerlevel,samelevelas'ue_count'and'ce_count'above. *Anarrayofstructures,NULLterminated * *Ifattributesaredesired,thensettoarrayofattributes *Ifnoattributesaredesired,leaveNULL
*/ struct edac_dev_sysfs_attribute *sysfs_attributes;
/* pointer to main 'edac' subsys in sysfs */ conststruct bus_type *edac_subsys;
/* the internal state of this controller instance */ int op_state; /* work struct for this instance */ struct delayed_work work;
struct device *dev; /* pointer to device structure */
constchar *mod_name; /* module name */ constchar *ctl_name; /* edac controller name */ constchar *dev_name; /* pci/platform/etc... name */
void *pvt_info; /* pointer to 'private driver' info */
unsignedlong start_time; /* edac_device load start time (jiffies) */
/* sysfs top name under 'edac' directory *andinstancename: *cpu/cpu0/... *cpu/cpu1/... *cpu/cpu2/... *...
*/ char name[EDAC_DEVICE_NAME_LEN + 1];
/* Number of instances supported on this control structure *andthearrayofthoseinstances
*/
u32 nr_instances; struct edac_device_instance *instances; struct edac_device_block *blocks;
/* Event counters for the this whole EDAC Device */ struct edac_device_counter counters;
/* edac sysfs device control for the 'name' *devicethisstructurecontrols
*/ struct kobject kobj;
};
/* To get from the instance's wq to the beginning of the ctl structure */ #define to_edac_mem_ctl_work(w) \
container_of(w, struct mem_ctl_info, work)
/* The offset value can be: *-1indicatingnooffsetvalue *0forzero-basedblocknumbers *1for1-basedblocknumber *otherforother-basedblocknumber
*/ #define BLOCK_OFFSET_VALUE_OFF ((unsigned) -1)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.