hwc: Rename libexternal to serve HDMI as primary or external

This change will make is easier to build new functionality
applicable to both HDMI scenarios.

Change-Id: I417184568cb65a49c2ccb4199aff313ae2ee9b24
diff --git a/Android.mk b/Android.mk
index 772b66e..d8b168d 100644
--- a/Android.mk
+++ b/Android.mk
@@ -1,5 +1,5 @@
 display-hals := libgralloc libgenlock libcopybit liblight
-display-hals += libhwcomposer liboverlay libqdutils libexternal libqservice
+display-hals += libhwcomposer liboverlay libqdutils libhdmi libqservice
 display-hals += libmemtrack
 ifeq ($(call is-vendor-board-platform,QCOM),true)
     include $(call all-named-subdir-makefiles,$(display-hals))
diff --git a/common.mk b/common.mk
index 14d8ded..ae6c95a 100644
--- a/common.mk
+++ b/common.mk
@@ -4,7 +4,7 @@
 common_includes += $(LOCAL_PATH)/../libcopybit
 common_includes += $(LOCAL_PATH)/../libqdutils
 common_includes += $(LOCAL_PATH)/../libhwcomposer
-common_includes += $(LOCAL_PATH)/../libexternal
+common_includes += $(LOCAL_PATH)/../libhdmi
 common_includes += $(LOCAL_PATH)/../libqservice
 
 ifeq ($(TARGET_USES_POST_PROCESSING),true)
diff --git a/libexternal/Android.mk b/libhdmi/Android.mk
similarity index 67%
rename from libexternal/Android.mk
rename to libhdmi/Android.mk
index 05e42d4..89ba4a9 100644
--- a/libexternal/Android.mk
+++ b/libhdmi/Android.mk
@@ -2,12 +2,12 @@
 include $(LOCAL_PATH)/../common.mk
 include $(CLEAR_VARS)
 
-LOCAL_MODULE                  := libexternal
+LOCAL_MODULE                  := libhdmi
 LOCAL_MODULE_TAGS             := optional
 LOCAL_C_INCLUDES              := $(common_includes) $(kernel_includes)
 LOCAL_SHARED_LIBRARIES        := $(common_libs) liboverlay libqdutils
-LOCAL_CFLAGS                  := $(common_flags) -DLOG_TAG=\"qdexternal\"
+LOCAL_CFLAGS                  := $(common_flags) -DLOG_TAG=\"qdhdmi\"
 LOCAL_ADDITIONAL_DEPENDENCIES := $(common_deps)
-LOCAL_SRC_FILES               := external.cpp
+LOCAL_SRC_FILES               := hdmi.cpp
 
 include $(BUILD_SHARED_LIBRARY)
diff --git a/libexternal/external.cpp b/libhdmi/hdmi.cpp
similarity index 93%
rename from libexternal/external.cpp
rename to libhdmi/hdmi.cpp
index 28cf590..9497934 100644
--- a/libexternal/external.cpp
+++ b/libhdmi/hdmi.cpp
@@ -26,7 +26,7 @@
 #include <sys/ioctl.h>
 #include <cutils/properties.h>
 #include "hwc_utils.h"
-#include "external.h"
+#include "hdmi.h"
 #include "overlayUtils.h"
 #include "overlay.h"
 #include "qd_utils.h"
@@ -83,7 +83,7 @@
 // Number of modes in gEDIDData
 const int gEDIDCount = (sizeof(gEDIDData)/sizeof(gEDIDData)[0]);
 
-int ExternalDisplay::configure() {
+int HDMIDisplay::configure() {
     if(!openFrameBuffer()) {
         ALOGE("%s: Failed to open FB: %d", __FUNCTION__, mFbNum);
         return -1;
@@ -113,12 +113,12 @@
     return 0;
 }
 
-void ExternalDisplay::getAttributes(uint32_t& width, uint32_t& height) {
+void HDMIDisplay::getAttributes(uint32_t& width, uint32_t& height) {
     uint32_t fps = 0;
     getAttrForMode(width, height, fps);
 }
 
-int ExternalDisplay::teardown() {
+int HDMIDisplay::teardown() {
     closeFrameBuffer();
     resetInfo();
     // unset system property
@@ -126,7 +126,7 @@
     return 0;
 }
 
-ExternalDisplay::ExternalDisplay():mFd(-1),
+HDMIDisplay::HDMIDisplay():mFd(-1),
     mCurrentMode(-1), mModeCount(0), mPrimaryWidth(0), mPrimaryHeight(0),
     mUnderscanSupported(false)
 {
@@ -166,7 +166,7 @@
  * to the sysfs node, so that the driver can get that information
  * Used to show QCOM 8974 instead of Input 1 for example
  */
-void ExternalDisplay::setSPDInfo(const char* node, const char* property) {
+void HDMIDisplay::setSPDInfo(const char* node, const char* property) {
     char info[PROPERTY_VALUE_MAX];
     ssize_t err = -1;
     int spdFile = openDeviceNode(node, O_RDWR);
@@ -189,12 +189,12 @@
     }
 }
 
-void ExternalDisplay::setHPD(uint32_t value) {
+void HDMIDisplay::setHPD(uint32_t value) {
     ALOGD_IF(DEBUG,"HPD enabled=%d", value);
     writeHPDOption(value);
 }
 
-void ExternalDisplay::setActionSafeDimension(int w, int h) {
+void HDMIDisplay::setActionSafeDimension(int w, int h) {
     ALOGD_IF(DEBUG,"ActionSafe w=%d h=%d", w, h);
     char actionsafeWidth[PROPERTY_VALUE_MAX];
     char actionsafeHeight[PROPERTY_VALUE_MAX];
@@ -204,12 +204,12 @@
     property_set("persist.sys.actionsafe.height", actionsafeHeight);
 }
 
-int ExternalDisplay::getModeCount() const {
+int HDMIDisplay::getModeCount() const {
     ALOGD_IF(DEBUG,"HPD mModeCount=%d", mModeCount);
     return mModeCount;
 }
 
-void ExternalDisplay::readCEUnderscanInfo()
+void HDMIDisplay::readCEUnderscanInfo()
 {
     int hdmiScanInfoFile = -1;
     ssize_t len = -1;
@@ -258,8 +258,8 @@
 
     if (ce_info_str) {
         // ce_info contains the underscan information
-        if (ce_info == EXT_SCAN_ALWAYS_UNDERSCANED ||
-            ce_info == EXT_SCAN_BOTH_SUPPORTED)
+        if (ce_info == HDMI_SCAN_ALWAYS_UNDERSCANED ||
+            ce_info == HDMI_SCAN_BOTH_SUPPORTED)
             // if TV supported underscan, then driver will always underscan
             // hence no need to apply action safe rectangle
             mUnderscanSupported = true;
@@ -273,7 +273,7 @@
     return;
 }
 
-ExternalDisplay::~ExternalDisplay()
+HDMIDisplay::~HDMIDisplay()
 {
     delete [] supported_video_mode_lut;
     closeFrameBuffer();
@@ -309,7 +309,7 @@
     info.upper_margin = mode->back_porch_v;
 }
 
-int ExternalDisplay::parseResolution(char* edidStr)
+int HDMIDisplay::parseResolution(char* edidStr)
 {
     char delim = ',';
     int count = 0;
@@ -330,7 +330,7 @@
     return count;
 }
 
-bool ExternalDisplay::readResolution()
+bool HDMIDisplay::readResolution()
 {
     ssize_t len = -1;
     char edidStr[128] = {'\0'};
@@ -364,7 +364,7 @@
     return (len > 0);
 }
 
-bool ExternalDisplay::openFrameBuffer()
+bool HDMIDisplay::openFrameBuffer()
 {
     if (mFd == -1) {
         char strDevPath[MAX_SYSFS_FILE_PATH];
@@ -376,7 +376,7 @@
     return (mFd > 0);
 }
 
-bool ExternalDisplay::closeFrameBuffer()
+bool HDMIDisplay::closeFrameBuffer()
 {
     int ret = 0;
     if(mFd >= 0) {
@@ -387,7 +387,7 @@
 }
 
 // clears the vinfo, edid, best modes
-void ExternalDisplay::resetInfo()
+void HDMIDisplay::resetInfo()
 {
     memset(&mVInfo, 0, sizeof(mVInfo));
     memset(mEDIDModes, 0, sizeof(mEDIDModes));
@@ -403,7 +403,7 @@
     property_set("hw.underscan_supported", prop);
 }
 
-int ExternalDisplay::getModeOrder(int mode)
+int HDMIDisplay::getModeOrder(int mode)
 {
     for (int dataIndex = 0; dataIndex < gEDIDCount; dataIndex++) {
         if (gEDIDData[dataIndex].mMode == mode) {
@@ -415,7 +415,7 @@
 }
 
 /// Returns the user mode set(if any) using adb shell
-int ExternalDisplay::getUserMode() {
+int HDMIDisplay::getUserMode() {
     /* Based on the property set the resolution */
     char property_value[PROPERTY_VALUE_MAX];
     property_get("hw.hdmi.resolution", property_value, "-1");
@@ -429,7 +429,7 @@
 }
 
 // Get the best mode for the current HD TV
-int ExternalDisplay::getBestMode() {
+int HDMIDisplay::getBestMode() {
     int bestOrder = 0;
     int bestMode = HDMI_VFRMT_640x480p60_4_3;
     // for all the edid read, get the best mode
@@ -444,7 +444,7 @@
     return bestMode;
 }
 
-inline bool ExternalDisplay::isValidMode(int ID)
+inline bool HDMIDisplay::isValidMode(int ID)
 {
     bool valid = false;
     for (int i = 0; i < mModeCount; i++) {
@@ -457,7 +457,7 @@
 }
 
 // returns true if the mode(ID) is interlaced mode format
-bool ExternalDisplay::isInterlacedMode(int ID) {
+bool HDMIDisplay::isInterlacedMode(int ID) {
     bool interlaced = false;
     switch(ID) {
         case HDMI_VFRMT_1440x480i60_4_3:
@@ -476,7 +476,7 @@
 
 // Does a put_vscreen info on the HDMI interface which will update
 // the configuration (resolution, timing info) to match mCurrentMode
-void ExternalDisplay::activateDisplay()
+void HDMIDisplay::activateDisplay()
 {
     int ret = 0;
     ret = ioctl(mFd, FBIOGET_VSCREENINFO, &mVInfo);
@@ -526,7 +526,7 @@
     }
 }
 
-bool ExternalDisplay::writeHPDOption(int userOption) const
+bool HDMIDisplay::writeHPDOption(int userOption) const
 {
     bool ret = true;
     if(mFbNum != -1) {
@@ -550,7 +550,7 @@
 }
 
 
-void ExternalDisplay::setAttributes() {
+void HDMIDisplay::setAttributes() {
     uint32_t fps = 0;
     // Always set dpyAttr res to mVInfo res
     getAttrForMode(mXres, mYres, fps);
@@ -619,7 +619,7 @@
     ALOGD_IF(DEBUG, "%s xres=%d, yres=%d", __FUNCTION__, mXres, mYres);
 }
 
-void ExternalDisplay::getAttrForMode(uint32_t& width, uint32_t& height,
+void HDMIDisplay::getAttrForMode(uint32_t& width, uint32_t& height,
         uint32_t& fps) {
     for (int dataIndex = 0; dataIndex < gEDIDCount; dataIndex++) {
         if (gEDIDData[dataIndex].mMode == mCurrentMode) {
@@ -633,7 +633,7 @@
 }
 
 /* returns the fd related to the node specified*/
-int ExternalDisplay::openDeviceNode(const char* node, int fileMode) const {
+int HDMIDisplay::openDeviceNode(const char* node, int fileMode) const {
     char sysFsFilePath[MAX_SYSFS_FILE_PATH];
     memset(sysFsFilePath, 0, sizeof(sysFsFilePath));
     snprintf(sysFsFilePath , sizeof(sysFsFilePath),
@@ -649,12 +649,12 @@
     return fd;
 }
 
-bool ExternalDisplay::isHDMIPrimaryDisplay() {
+bool HDMIDisplay::isHDMIPrimaryDisplay() {
     int hdmiNode = qdutils::getHDMINode();
     return (hdmiNode == HWC_DISPLAY_PRIMARY);
 }
 
-int ExternalDisplay::getConnectedState() {
+int HDMIDisplay::getConnectedState() {
     int ret = -1;
     int mFbNum = qdutils::getHDMINode();
     int connectedNode = openDeviceNode("connected", O_RDONLY);
@@ -679,7 +679,7 @@
     return ret;
 }
 
-void ExternalDisplay::setPrimaryAttributes(uint32_t primaryWidth,
+void HDMIDisplay::setPrimaryAttributes(uint32_t primaryWidth,
         uint32_t primaryHeight) {
     mPrimaryHeight = primaryHeight;
     mPrimaryWidth = primaryWidth;
diff --git a/libexternal/external.h b/libhdmi/hdmi.h
similarity index 90%
rename from libexternal/external.h
rename to libhdmi/hdmi.h
index fa98de9..605d9be 100644
--- a/libexternal/external.h
+++ b/libhdmi/hdmi.h
@@ -18,8 +18,8 @@
  * limitations under the License.
  */
 
-#ifndef HWC_EXTERNAL_DISPLAY_H
-#define HWC_EXTERNAL_DISPLAY_H
+#ifndef HWC_HDMI_DISPLAY_H
+#define HWC_HDMI_DISPLAY_H
 
 #include <linux/fb.h>
 
@@ -28,11 +28,11 @@
 namespace qhwc {
 
 //Type of scanning of EDID(Video Capability Data Block)
-enum external_scansupport_type {
-    EXT_SCAN_NOT_SUPPORTED      = 0,
-    EXT_SCAN_ALWAYS_OVERSCANED  = 1,
-    EXT_SCAN_ALWAYS_UNDERSCANED = 2,
-    EXT_SCAN_BOTH_SUPPORTED     = 3
+enum hdmi_scansupport_type {
+    HDMI_SCAN_NOT_SUPPORTED      = 0,
+    HDMI_SCAN_ALWAYS_OVERSCANED  = 1,
+    HDMI_SCAN_ALWAYS_UNDERSCANED = 2,
+    HDMI_SCAN_BOTH_SUPPORTED     = 3
 };
 
 // Structure to store EDID related data
@@ -45,11 +45,11 @@
     { }
 };
 
-class ExternalDisplay
+class HDMIDisplay
 {
 public:
-    ExternalDisplay();
-    ~ExternalDisplay();
+    HDMIDisplay();
+    ~HDMIDisplay();
     void setHPD(uint32_t startEnd);
     void setActionSafeDimension(int w, int h);
     bool isCEUnderscanSupported() { return mUnderscanSupported; }
@@ -107,4 +107,4 @@
 
 }; //qhwc
 // ---------------------------------------------------------------------------
-#endif //HWC_EXTERNAL_DISPLAY_H
+#endif //HWC_HDMI_DISPLAY_H
diff --git a/libhwcomposer/Android.mk b/libhwcomposer/Android.mk
index 8e3fc8e..df3e464 100644
--- a/libhwcomposer/Android.mk
+++ b/libhwcomposer/Android.mk
@@ -9,7 +9,7 @@
                                  $(TOP)/external/skia/include/core \
                                  $(TOP)/external/skia/include/images
 LOCAL_SHARED_LIBRARIES        := $(common_libs) libEGL liboverlay \
-                                 libexternal libqdutils libhardware_legacy \
+                                 libhdmi libqdutils libhardware_legacy \
                                  libdl libmemalloc libqservice libsync \
                                  libbinder libmedia
 
diff --git a/libhwcomposer/hwc.cpp b/libhwcomposer/hwc.cpp
index ae1389d..288b2e0 100644
--- a/libhwcomposer/hwc.cpp
+++ b/libhwcomposer/hwc.cpp
@@ -34,7 +34,7 @@
 #include "hwc_fbupdate.h"
 #include "hwc_mdpcomp.h"
 #include "hwc_dump_layers.h"
-#include "external.h"
+#include "hdmi.h"
 #include "hwc_copybit.h"
 #include "hwc_ad.h"
 #include "profiler.h"
@@ -442,7 +442,7 @@
         if(mode == HWC_POWER_MODE_NORMAL) {
             // Enable HPD here, as during bootup POWER_MODE_NORMAL is set
             // when SF is completely initialized
-            ctx->mExtDisplay->setHPD(1);
+            ctx->mHDMIDisplay->setHPD(1);
         }
 
         ctx->dpyAttr[dpy].isActive = not(mode == HWC_POWER_MODE_OFF);
diff --git a/libhwcomposer/hwc_ad.cpp b/libhwcomposer/hwc_ad.cpp
index 679e6d6..7e96d97 100644
--- a/libhwcomposer/hwc_ad.cpp
+++ b/libhwcomposer/hwc_ad.cpp
@@ -34,7 +34,6 @@
 #include <mdp_version.h>
 #include "hwc_ad.h"
 #include "hwc_utils.h"
-#include "external.h"
 
 #define DEBUG 0
 using namespace overlay;
diff --git a/libhwcomposer/hwc_fbupdate.cpp b/libhwcomposer/hwc_fbupdate.cpp
index 7839139..30ae03d 100644
--- a/libhwcomposer/hwc_fbupdate.cpp
+++ b/libhwcomposer/hwc_fbupdate.cpp
@@ -25,7 +25,6 @@
 #include <overlayRotator.h>
 #include "hwc_fbupdate.h"
 #include "mdp_version.h"
-#include "external.h"
 
 using namespace qdutils;
 using namespace overlay;
diff --git a/libhwcomposer/hwc_mdpcomp.cpp b/libhwcomposer/hwc_mdpcomp.cpp
index 072eda3..d52955d 100644
--- a/libhwcomposer/hwc_mdpcomp.cpp
+++ b/libhwcomposer/hwc_mdpcomp.cpp
@@ -19,7 +19,7 @@
 #include <math.h>
 #include "hwc_mdpcomp.h"
 #include <sys/ioctl.h>
-#include "external.h"
+#include "hdmi.h"
 #include "qdMetaData.h"
 #include "mdp_version.h"
 #include "hwc_fbupdate.h"
diff --git a/libhwcomposer/hwc_uevents.cpp b/libhwcomposer/hwc_uevents.cpp
index 821bfa9..65e041b 100644
--- a/libhwcomposer/hwc_uevents.cpp
+++ b/libhwcomposer/hwc_uevents.cpp
@@ -30,7 +30,7 @@
 #include "hwc_mdpcomp.h"
 #include "hwc_copybit.h"
 #include "comptype.h"
-#include "external.h"
+#include "hdmi.h"
 #include "hwc_virtual.h"
 #include "mdp_version.h"
 using namespace overlay;
@@ -109,7 +109,7 @@
 
             Locker::Autolock _l(ctx->mDrawLock);
             destroyCompositionResources(ctx, dpy);
-            ctx->mExtDisplay->teardown();
+            ctx->mHDMIDisplay->teardown();
             resetDisplayInfo(ctx, dpy);
 
             /* We need to send hotplug to SF only when we are disconnecting
@@ -163,8 +163,8 @@
                         "uevent thread", __FUNCTION__);
                 ctx->mWfdSyncLock.unlock();
             }
-            ctx->mExtDisplay->configure();
-            ctx->mExtDisplay->activateDisplay();
+            ctx->mHDMIDisplay->configure();
+            ctx->mHDMIDisplay->activateDisplay();
 
             Locker::Autolock _l(ctx->mDrawLock);
             updateDisplayInfo(ctx, dpy);
diff --git a/libhwcomposer/hwc_utils.cpp b/libhwcomposer/hwc_utils.cpp
index 44725de..d67a7a1 100644
--- a/libhwcomposer/hwc_utils.cpp
+++ b/libhwcomposer/hwc_utils.cpp
@@ -37,7 +37,7 @@
 #include "mdp_version.h"
 #include "hwc_copybit.h"
 #include "hwc_dump_layers.h"
-#include "external.h"
+#include "hdmi.h"
 #include "hwc_qclient.h"
 #include "QService.h"
 #include "comptype.h"
@@ -112,21 +112,21 @@
     }
 }
 
-// Initialize external display attributes based on
-// external display class state
+// Initialize hdmi display attributes based on
+// hdmi display class state
 void updateDisplayInfo(hwc_context_t* ctx, int dpy) {
-    ctx->dpyAttr[dpy].fd = ctx->mExtDisplay->getFd();
-    ctx->dpyAttr[dpy].xres = ctx->mExtDisplay->getWidth();
-    ctx->dpyAttr[dpy].yres = ctx->mExtDisplay->getHeight();
-    ctx->dpyAttr[dpy].mMDPScalingMode = ctx->mExtDisplay->getMDPScalingMode();
-    ctx->dpyAttr[dpy].vsync_period = ctx->mExtDisplay->getVsyncPeriod();
+    ctx->dpyAttr[dpy].fd = ctx->mHDMIDisplay->getFd();
+    ctx->dpyAttr[dpy].xres = ctx->mHDMIDisplay->getWidth();
+    ctx->dpyAttr[dpy].yres = ctx->mHDMIDisplay->getHeight();
+    ctx->dpyAttr[dpy].mMDPScalingMode = ctx->mHDMIDisplay->getMDPScalingMode();
+    ctx->dpyAttr[dpy].vsync_period = ctx->mHDMIDisplay->getVsyncPeriod();
     ctx->mViewFrame[dpy].left = 0;
     ctx->mViewFrame[dpy].top = 0;
     ctx->mViewFrame[dpy].right = ctx->dpyAttr[dpy].xres;
     ctx->mViewFrame[dpy].bottom = ctx->dpyAttr[dpy].yres;
 }
 
-// Reset external display attributes and list stats structures
+// Reset hdmi display attributes and list stats structures
 void resetDisplayInfo(hwc_context_t* ctx, int dpy) {
     memset(&(ctx->dpyAttr[dpy]), 0, sizeof(ctx->dpyAttr[dpy]));
     memset(&(ctx->listStats[dpy]), 0, sizeof(ctx->listStats[dpy]));
@@ -260,12 +260,12 @@
                                                          HWC_DISPLAY_PRIMARY);
     }
 
-    ctx->mExtDisplay = new ExternalDisplay();
-    // Send the primary resolution to the external display class
+    ctx->mHDMIDisplay = new HDMIDisplay();
+    // Send the primary resolution to the hdmi display class
     // to be used for MDP scaling functionality
     uint32_t priW = ctx->dpyAttr[HWC_DISPLAY_PRIMARY].xres;
     uint32_t priH = ctx->dpyAttr[HWC_DISPLAY_PRIMARY].yres;
-    ctx->mExtDisplay->setPrimaryAttributes(priW, priH);
+    ctx->mHDMIDisplay->setPrimaryAttributes(priW, priH);
     ctx->mHWCVirtual = new HWCVirtualVDS();
     ctx->dpyAttr[HWC_DISPLAY_EXTERNAL].isActive = false;
     ctx->dpyAttr[HWC_DISPLAY_EXTERNAL].connected = false;
@@ -366,9 +366,9 @@
         ctx->dpyAttr[HWC_DISPLAY_PRIMARY].fd = -1;
     }
 
-    if(ctx->mExtDisplay) {
-        delete ctx->mExtDisplay;
-        ctx->mExtDisplay = NULL;
+    if(ctx->mHDMIDisplay) {
+        delete ctx->mHDMIDisplay;
+        ctx->mHDMIDisplay = NULL;
     }
 
     for(int i = 0; i < HWC_NUM_DISPLAY_TYPES; i++) {
@@ -478,7 +478,7 @@
     if(ctx->dpyAttr[dpy].mMDPScalingMode) {
         // if MDP scaling mode is enabled for external, need to query
         // the actual width and height, as that is the physical w & h
-         ctx->mExtDisplay->getAttributes(fbWidth, fbHeight);
+         ctx->mHDMIDisplay->getAttributes(fbWidth, fbHeight);
     }
 
 
@@ -610,7 +610,7 @@
     if(ctx->dpyAttr[dpy].mMDPScalingMode) {
         uint32_t extW = 0, extH = 0;
         if(dpy == HWC_DISPLAY_EXTERNAL) {
-            ctx->mExtDisplay->getAttributes(extW, extH);
+            ctx->mHDMIDisplay->getAttributes(extW, extH);
         } else if(dpy == HWC_DISPLAY_VIRTUAL) {
             extW = ctx->mHWCVirtual->getScalingWidth();
             extH = ctx->mHWCVirtual->getScalingHeight();
@@ -696,7 +696,7 @@
                 float fbHeight = (float)ctx->dpyAttr[dpy].yres;
                 // query MDP configured attributes
                 if(dpy == HWC_DISPLAY_EXTERNAL) {
-                    ctx->mExtDisplay->getAttributes(extW, extH);
+                    ctx->mHDMIDisplay->getAttributes(extW, extH);
                 } else if(dpy == HWC_DISPLAY_VIRTUAL) {
                     extW = ctx->mHWCVirtual->getScalingWidth();
                     extH = ctx->mHWCVirtual->getScalingHeight();
@@ -1114,7 +1114,7 @@
     // Disable Actionsafe for non HDMI displays.
     if(!(dpy == HWC_DISPLAY_EXTERNAL) ||
         qdutils::MDPVersion::getInstance().is8x74v2() ||
-        ctx->mExtDisplay->isCEUnderscanSupported()) {
+        ctx->mHDMIDisplay->isCEUnderscanSupported()) {
         return false;
     }
 
diff --git a/libhwcomposer/hwc_utils.h b/libhwcomposer/hwc_utils.h
index 041ca74..cae22f1 100644
--- a/libhwcomposer/hwc_utils.h
+++ b/libhwcomposer/hwc_utils.h
@@ -62,7 +62,7 @@
 namespace qhwc {
 //fwrd decl
 class QueuedBufferStore;
-class ExternalDisplay;
+class HDMIDisplay;
 class VirtualDisplay;
 class IFBUpdate;
 class IVideoOverlay;
@@ -545,8 +545,9 @@
 
     //Primary and external FB updater
     qhwc::IFBUpdate *mFBUpdate[HWC_NUM_DISPLAY_TYPES];
-    // External display related information
-    qhwc::ExternalDisplay *mExtDisplay;
+    // HDMI display related object. Used to configure/teardown
+    // HDMI when it is connected as primary or external.
+    qhwc::HDMIDisplay *mHDMIDisplay;
     qhwc::MDPInfo mMDP;
     qhwc::VsyncState vstate;
     qhwc::DisplayAttributes dpyAttr[HWC_NUM_DISPLAY_TYPES];
diff --git a/libhwcomposer/hwc_vsync.cpp b/libhwcomposer/hwc_vsync.cpp
index 66988f7..07d1e4e 100644
--- a/libhwcomposer/hwc_vsync.cpp
+++ b/libhwcomposer/hwc_vsync.cpp
@@ -29,7 +29,6 @@
 #include "hwc_utils.h"
 #include "qd_utils.h"
 #include "string.h"
-#include "external.h"
 #include "overlay.h"
 #define __STDC_FORMAT_MACROS 1
 #include <inttypes.h>