EDAC, skx_edac: Clean up debugfs
Borislav Petkov
maintainerPATCH 3/5 EDAC, skx_edac: Clean up debugfs
Review static struct notifier_block skx_mce_dec = { · line 1033
Quoted 10 lines · Tony Luck
(quoted diff) +6
-0@@ -1072,6 +1025,48 @@ static struct notifier_block skx_mce_dec = { .priority = MCE_PRIO_EDAC, }; +#ifdef CONFIG_EDAC_DEBUG +/* + * Debug feature. Make /sys/kernel/debug/edac/skx_edac_test/addr. + * Write an address to this file to exercise the address decode + * logic in this driver. + */
This whole comment needs massaging into proper english.
Quoted 13 lines
(quoted diff) +13
-0+static struct dentry *skx_test; +static u64 skx_fake_addr; + +static int debugfs_u64_set(void *data, u64 val) +{ + struct mce m; + + m.mcgstatus = 0; + /* ADDRV + MemRd + Unknown channel */ + m.status = MCI_STATUS_ADDRV + 0x90; + /* One corrected error */ + m.status |= 1ULL << MCI_STATUS_CEC_SHIFT; + m.addr = val;
Review static struct notifier_block skx_mce_dec = { · line 1056
Quoted 10 lines
(quoted diff) +10
-0+ m.socketid = 0; + skx_mce_check_error(NULL, 0, &m); + + return 0; +} +DEFINE_SIMPLE_ATTRIBUTE(fops_u64_wo, NULL, debugfs_u64_set, "%llu\n"); + +static void setup_skx_debug(void) +{ + skx_test = edac_debugfs_create_dir("skx_edac_test");
Error handling.
Review static struct notifier_block skx_mce_dec = { · line 1058
Quoted 2 lines
(quoted diff) +2
-0+ edac_debugfs_create_file("addr", 0200, skx_test, + &skx_fake_addr, &fops_u64_wo);
Ditto.