#ifndef _SKX_COMM_EDAC_H
#define _SKX_COMM_EDAC_H
#include <linux/bits.h>
#include <asm/mce.h>
#define MSG_SIZE …
#define skx_printk(level, fmt, arg...) …
#define skx_mc_printk(mci, level, fmt, arg...) …
#define GET_BITFIELD(v, lo, hi) …
#define SKX_NUM_IMC …
#define SKX_NUM_CHANNELS …
#define SKX_NUM_DIMMS …
#define I10NM_NUM_DDR_IMC …
#define I10NM_NUM_DDR_CHANNELS …
#define I10NM_NUM_DDR_DIMMS …
#define I10NM_NUM_HBM_IMC …
#define I10NM_NUM_HBM_CHANNELS …
#define I10NM_NUM_HBM_DIMMS …
#define I10NM_NUM_IMC …
#define I10NM_NUM_CHANNELS …
#define I10NM_NUM_DIMMS …
#define NUM_IMC …
#define NUM_CHANNELS …
#define NUM_DIMMS …
#define IS_DIMM_PRESENT(r) …
#define IS_NVDIMM_PRESENT(r, i) …
#define MCI_MISC_ECC_MODE(m) …
#define MCI_MISC_ECC_DDRT …
#define MCACOD_MEM_ERR_MASK …
#define MCACOD_MEM_CTL_ERR …
#define MCACOD_EXT_MEM_ERR …
struct skx_dev { … };
struct skx_pvt { … };
enum type { … };
enum { … };
#define BIT_NM_MEMCTRL …
#define BIT_NM_CHANNEL …
#define BIT_NM_DIMM …
#define BIT_NM_CS …
struct decoded_addr { … };
struct pci_bdf { … };
struct res_config { … };
get_dimm_config_f;
skx_decode_f;
skx_show_retry_log_f;
int skx_adxl_get(void);
void skx_adxl_put(void);
void skx_set_decode(skx_decode_f decode, skx_show_retry_log_f show_retry_log);
void skx_set_mem_cfg(bool mem_cfg_2lm);
int skx_get_src_id(struct skx_dev *d, int off, u8 *id);
int skx_get_node_id(struct skx_dev *d, u8 *id);
int skx_get_all_bus_mappings(struct res_config *cfg, struct list_head **list);
int skx_get_hi_lo(unsigned int did, int off[], u64 *tolm, u64 *tohm);
int skx_get_dimm_info(u32 mtr, u32 mcmtr, u32 amap, struct dimm_info *dimm,
struct skx_imc *imc, int chan, int dimmno,
struct res_config *cfg);
int skx_get_nvdimm_info(struct dimm_info *dimm, struct skx_imc *imc,
int chan, int dimmno, const char *mod_str);
int skx_register_mci(struct skx_imc *imc, struct pci_dev *pdev,
const char *ctl_name, const char *mod_str,
get_dimm_config_f get_dimm_config,
struct res_config *cfg);
int skx_mce_check_error(struct notifier_block *nb, unsigned long val,
void *data);
void skx_remove(void);
#endif