[linux-yocto] [PATCH 11/14] drivers/edac: Added linux style debug CMEM option
Daniel Dragomir
daniel.dragomir at windriver.com
Mon Dec 4 02:58:01 PST 2017
From: Marek Majtyka <marekx.majtyka at intel.com>
Changed from local define to Kconfig parameter.
Signed-off-by: Marek Majtyka <marekx.majtyka at intel.com>
---
drivers/edac/Kconfig | 9 +++++++++
drivers/edac/axxia_edac-cmc_56xx.c | 15 +++++++--------
2 files changed, 16 insertions(+), 8 deletions(-)
diff --git a/drivers/edac/Kconfig b/drivers/edac/Kconfig
index 2fd3734..856fd8f 100644
--- a/drivers/edac/Kconfig
+++ b/drivers/edac/Kconfig
@@ -431,6 +431,15 @@ config EDAC_AXXIA_CMEM_6700
the Configuration Memory error detection. Configuration Memory error
detection is interrupt driven.
+config DEBUG_EDAC_AXXIA_CMEM
+ depends on ARCH_AXXIA
+ bool "AXXIA EDAC CMEM error injection interface."
+ help
+ Support for configuration of CMEM edac error injection functionality.
+ It works for both 5600 and 6700 board families.
+ Enables error injection functionality for CMEM over procfs
+ interface (/proc/driver/).
+
config EDAC_AXXIA_L3_5500
tristate "AXXIA EDAC L3 Controller for 5500"
help
diff --git a/drivers/edac/axxia_edac-cmc_56xx.c b/drivers/edac/axxia_edac-cmc_56xx.c
index ccdd090..af6b506 100644
--- a/drivers/edac/axxia_edac-cmc_56xx.c
+++ b/drivers/edac/axxia_edac-cmc_56xx.c
@@ -31,7 +31,6 @@
#include "edac_core.h"
#include "edac_module.h"
-#define CONFIG_DEBUG_CMEM 1
#define FMT "%s: syscon lookup failed hence using hardcoded register address\n"
#define MPR_FMT2 "\n%3d %#010x %#010x"
@@ -293,7 +292,7 @@ struct __packed cm_56xx_denali_ctl_34
#endif
};
-#ifdef CONFIG_DEBUG_CMEM
+#ifdef CONFIG_DEBUG_EDAC_AXXIA_CMEM
#define CM_56XX_DENALI_CTL_62 0xf8
@@ -487,7 +486,7 @@ struct intel_edac_dev_info {
char *ctl_name;
char *blk_name;
char *proc_name;
-#ifdef CONFIG_DEBUG_CMEM
+#ifdef CONFIG_DEBUG_EDAC_AXXIA_CMEM
struct proc_dir_entry *dir_entry;
#endif
struct mutex state_machine_lock;
@@ -507,7 +506,7 @@ struct intel_edac_dev_info {
void (*check)(struct edac_device_ctl_info *edac_dev);
};
-#ifdef CONFIG_DEBUG_CMEM
+#ifdef CONFIG_DEBUG_EDAC_AXXIA_CMEM
static int setup_fault_injection(struct intel_edac_dev_info *dev_info,
int fault, int enable)
{
@@ -1283,7 +1282,7 @@ static int initialize(struct intel_edac_dev_info *dev_info)
dev_info->edac_dev->dev_name = dev_name(&dev_info->pdev->dev);
dev_info->edac_dev->edac_check = NULL;
-#ifdef CONFIG_DEBUG_CMEM
+#ifdef CONFIG_DEBUG_EDAC_AXXIA_CMEM
if (dev_info->is_ddr4)
axxia_mc_sysfs_attributes(dev_info->edac_dev);
#endif
@@ -1385,7 +1384,7 @@ static int enable_driver_irq(struct intel_edac_dev_info *dev_info)
}
-#ifdef CONFIG_DEBUG_CMEM
+#ifdef CONFIG_DEBUG_EDAC_AXXIA_CMEM
static ssize_t
axxia_cmem_read(struct file *filp, char *buffer, size_t length, loff_t *offset)
{
@@ -1642,7 +1641,7 @@ static int intel_edac_mc_probe(struct platform_device *pdev)
dev_name(&dev_info->pdev->dev));
}
-#ifdef CONFIG_DEBUG_CMEM
+#ifdef CONFIG_DEBUG_EDAC_AXXIA_CMEM
/* in this case create procfs file to be used by rte */
dev_info->proc_name =
devm_kzalloc(&pdev->dev, 32*sizeof(char),
@@ -1693,7 +1692,7 @@ static int intel_edac_mc_remove(struct platform_device *pdev)
(struct intel_edac_dev_info *) &pdev->dev;
if (dev_info) {
-#ifdef CONFIG_DEBUG_CMEM
+#ifdef CONFIG_DEBUG_EDAC_AXXIA_CMEM
remove_procfs_entry(dev_info);
#endif
--
2.7.4
More information about the linux-yocto
mailing list