24 #include <linux/module.h>
35 #define DRV_NAME "tile-edac"
38 #define TILE_EDAC_NR_CSROWS 1
41 #define TILE_EDAC_NR_CHANS 1
44 #define TILE_EDAC_ERROR_GRAIN 8
71 if (mem_error.sbe_count != priv->
ce_count) {
73 priv->
ce_count = mem_error.sbe_count;
103 switch (mem_info.mem_type) {
140 layers[0].is_virt_csrow =
true;
143 layers[1].is_virt_csrow =
false;
158 mci->
ctl_name =
"TILEGx_Memory_Controller";
160 mci->
ctl_name =
"TILEPro_Memory_Controller";
169 if (tile_edac_init_csrows(mci)) {
176 platform_set_drvdata(pdev, mci);
181 dev_err(&pdev->
dev,
"failed to register with EDAC core\n");
204 .probe = tile_edac_mc_probe,
211 static int __init tile_edac_init(
void)
230 sprintf(hv_file,
"mshim/%d", i);
234 pdev = platform_device_register_simple(
DRV_NAME, i,
NULL, 0);
237 mshim_pdev[
i] = pdev;
251 static void __exit tile_edac_exit(
void)
260 platform_set_drvdata(pdev,
NULL);