From: Gary McGee <gary.mc...@intel.com>

Previously, this was defined in a header file. As a config option,
it can be referenced in the NCR driver in drivers/misc.
Files referencing the define were updated.

Signed-off-by: Gary McGee <gary.mc...@intel.com>
---
 arch/arm/mach-axxia/Kconfig         |    7 +++++++
 arch/arm/mach-axxia/axxia.c         |    4 ++--
 arch/arm/mach-axxia/axxia.h         |    9 ---------
 arch/arm/mach-axxia/ddr_retention.c |    3 +++
 drivers/misc/lsi-ncr.c              |    2 +-
 include/linux/lsi-ncr.h             |   13 ++++++++++++-
 6 files changed, 25 insertions(+), 13 deletions(-)

diff --git a/arch/arm/mach-axxia/Kconfig b/arch/arm/mach-axxia/Kconfig
index 4a4922f..3f23fbb 100644
--- a/arch/arm/mach-axxia/Kconfig
+++ b/arch/arm/mach-axxia/Kconfig
@@ -28,4 +28,11 @@ config ARCH_AXXIA_DT
          If your bootloader supports Flattened Device Tree based booting,
          say Y here.
 
+config ARCH_AXXIA_NCR_RESET_CHECK
+    bool "Axxia NCR driver reset checking"
+    help
+      Enabling this option will allow the Axxia NCA Config Ring driver to
+      coordinate with the RTE ncp driver to detect when NCA hardware is
+      being held in reset.
+
 endmenu
diff --git a/arch/arm/mach-axxia/axxia.c b/arch/arm/mach-axxia/axxia.c
index 1df6353..ee3b0cd 100644
--- a/arch/arm/mach-axxia/axxia.c
+++ b/arch/arm/mach-axxia/axxia.c
@@ -64,7 +64,7 @@ static const char *axxia_dt_match[] __initconst = {
 static void __iomem *base;
 void __iomem *dickens;
 
-#ifdef AXXIA_NCR_RESET_CHECK
+#ifdef CONFIG_ARCH_AXXIA_NCR_RESET_CHECK
 int ncr_reset_active;
 EXPORT_SYMBOL(ncr_reset_active);
 #endif
@@ -210,7 +210,7 @@ void __init axxia_dt_init(void)
                flush_l3();
        }
 
-#ifdef AXXIA_NCR_RESET_CHECK
+#ifdef CONFIG_ARCH_AXXIA_NCR_RESET_CHECK
        ncr_reset_active = 0;
 #endif
 
diff --git a/arch/arm/mach-axxia/axxia.h b/arch/arm/mach-axxia/axxia.h
index 5b83378..c3a9084 100644
--- a/arch/arm/mach-axxia/axxia.h
+++ b/arch/arm/mach-axxia/axxia.h
@@ -11,15 +11,6 @@ extern void axxia_secondary_startup(void);
 
 extern struct smp_operations axxia_smp_ops;
 
-/*
- * when defined, the RTE driver module will set/clear
- * the ncr_reset_active flag to indicate when Axxia device
- * reset is in progress. This flag will be checked by the
- * kernel lsi-ncr driver and ddr_retention code.
- */
-#define AXXIA_NCR_RESET_CHECK
-extern int ncr_reset_active;
-
 extern void __iomem *syscon;
 extern void __iomem *dickens;
 
diff --git a/arch/arm/mach-axxia/ddr_retention.c 
b/arch/arm/mach-axxia/ddr_retention.c
index 1bf3e8f..243deb1 100644
--- a/arch/arm/mach-axxia/ddr_retention.c
+++ b/arch/arm/mach-axxia/ddr_retention.c
@@ -197,8 +197,11 @@ retention_reset_prepare(void)
         * If the axxia device is in reset then DDR retention is not
         * possible. Just do an emergency_restart instead.
         */
+
+#ifdef CONFIG_ARCH_AXXIA_NCR_RESET_CHECK
        if (ncr_reset_active)
                emergency_restart();
+#endif /* CONFIG_ARCH_AXXIA_NCR_RESET_CHECK */
 
        preempt_disable();
 
diff --git a/drivers/misc/lsi-ncr.c b/drivers/misc/lsi-ncr.c
index a00fc6c..723e2ef 100644
--- a/drivers/misc/lsi-ncr.c
+++ b/drivers/misc/lsi-ncr.c
@@ -72,7 +72,7 @@ EXPORT_SYMBOL(nca_access_lock);
 
 static unsigned long ncr_spin_flags;
 
-#ifdef AXXIA_NCR_RESET_CHECK
+#ifdef CONFIG_ARCH_AXXIA_NCR_RESET_CHECK
 /*
  * define behavior if NCA register read/write is called while
  * the axxia device is being reset. Any attempt to access NCA
diff --git a/include/linux/lsi-ncr.h b/include/linux/lsi-ncr.h
index db54f6b..c06de4a 100644
--- a/include/linux/lsi-ncr.h
+++ b/include/linux/lsi-ncr.h
@@ -23,7 +23,7 @@
 
 #ifndef NCP_REGION_ID
 #define NCP_REGION_ID(node, target) \
-(unsigned long) ((((node) & 0xffff) << 16) | ((target) & 0xffff))
+((unsigned long) ((((node) & 0xffff) << 16) | ((target) & 0xffff)))
 #endif
 
 #ifndef NCP_NODE_ID
@@ -41,4 +41,15 @@ int ncr_write(unsigned long, unsigned long, int, void *);
 int ncr_read_nolock(unsigned long, unsigned long, int, void *);
 int ncr_write_nolock(unsigned long, unsigned long, int, void *);
 
+
+ /*
+  * when defined, the RTE driver module will set/clear
+  * the ncr_reset_active flag to indicate when Axxia device
+  * reset is in progress. This flag will be checked by the
+  * kernel lsi-ncr driver and ddr_retention code.
+  */
+#ifdef CONFIG_ARCH_AXXIA_NCR_RESET_CHECK
+extern int ncr_reset_active;
+#endif
+
 #endif /*  __DRIVERS_LSI_ACP_NCR_H */
-- 
1.7.9.5

-- 
_______________________________________________
linux-yocto mailing list
linux-yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/linux-yocto

Reply via email to