From 7a6194962c4c55ac8f225de3b64cac347b9901a0 Mon Sep 17 00:00:00 2001
From: Joel Stanley <joel.stanley@au1.ibm.com>
Date: Mon, 21 Aug 2017 16:21:08 +0930
Subject: [PATCH] htmgt: Remove unused variable

Change-Id: I633f2faca41e40b47ed49a05bfe0724fa4b2114d
Signed-off-by: Joel Stanley <joel.stanley@au1.ibm.com>
---
 src/usr/htmgt/htmgt_cfgdata.C | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/usr/htmgt/htmgt_cfgdata.C b/src/usr/htmgt/htmgt_cfgdata.C
index 584793c69eb8..19e7b21bf23a 100644
--- a/src/usr/htmgt/htmgt_cfgdata.C
+++ b/src/usr/htmgt/htmgt_cfgdata.C
@@ -5,7 +5,7 @@
 /*                                                                        */
 /* OpenPOWER HostBoot Project                                             */
 /*                                                                        */
-/* Contributors Listed Below - COPYRIGHT 2014,2016                        */
+/* Contributors Listed Below - COPYRIGHT 2014,2017                        */
 /* [+] International Business Machines Corp.                              */
 /*                                                                        */
 /*                                                                        */
@@ -654,7 +654,6 @@ void getSystemConfigMessageData(const TargetHandle_t i_occ, uint8_t* o_data,
     //If a new processor with more cores comes along,
     //this command will have to change.
     TargetHandleList cores;
-    TargetHandleList::iterator coreIt;
     getChildChiplets(cores, proc, TYPE_CORE, false);
 
     uint16_t tempSensor = 0;
-- 
2.14.1

