diff --git a/bta/dm/bta_dm_act.c b/bta/dm/bta_dm_act.c
index 1fb47df..1ab4f61 100644
--- a/bta/dm/bta_dm_act.c
+++ b/bta/dm/bta_dm_act.c
@@ -109,6 +109,7 @@
 static void btm_dm_start_gatt_discovery ( BD_ADDR bd_addr);
 static void bta_dm_cancel_gatt_discovery(BD_ADDR bd_addr);
 static void bta_dm_gattc_callback(tBTA_GATTC_EVT event, tBTA_GATTC *p_data);
+extern tBTA_DM_CONTRL_STATE bta_dm_pm_obtain_controller_state(void);
     #endif
 static void bta_dm_observe_results_cb (tBTM_INQ_RESULTS *p_inq, UINT8 *p_eir);
 static void bta_dm_observe_cmpl_cb (void * p_result);
@@ -121,7 +122,6 @@
 static void bta_dm_remove_sec_dev_entry(BD_ADDR remote_bd_addr);
 
 extern void sdpu_uuid16_to_uuid128(UINT16 uuid16, UINT8* p_uuid128);
-extern tBTA_DM_CONTRL_STATE bta_dm_pm_obtain_controller_state(void);
 
 const UINT16 bta_service_id_to_uuid_lkup_tbl [BTA_MAX_SERVICE_ID] =
 {
diff --git a/bta/dm/bta_dm_int.h b/bta/dm/bta_dm_int.h
index 8b8689b..a16ebab 100644
--- a/bta/dm/bta_dm_int.h
+++ b/bta/dm/bta_dm_int.h
@@ -926,7 +926,9 @@
     tBTA_DM_BLE_PF_CFG_CBACK     *p_scan_filt_cfg_cback;
     tBTA_DM_BLE_PF_STATUS_CBACK  *p_scan_filt_status_cback;
     tBTA_DM_BLE_PF_PARAM_CBACK   *p_scan_filt_param_cback;
+#if ((defined BLE_INCLUDED) && (BLE_INCLUDED == TRUE))
     tBTA_BLE_ENERGY_INFO_CBACK   *p_energy_info_cback;
+#endif
     TIMER_LIST_ENT              signal_strength_timer;
     tBTA_SIG_STRENGTH_MASK      signal_strength_mask;
     UINT16                      state;
diff --git a/bta/dm/bta_dm_pm.c b/bta/dm/bta_dm_pm.c
index 2038605..a5783c0 100644
--- a/bta/dm/bta_dm_pm.c
+++ b/bta/dm/bta_dm_pm.c
@@ -971,6 +971,7 @@
 
 }
 
+#if ((defined BLE_INCLUDED) && (BLE_INCLUDED == TRUE))
 /*******************************************************************************
 **
 ** Function         bta_dm_pm_obtain_controller_state
@@ -991,3 +992,4 @@
     APPL_TRACE_DEBUG("bta_dm_pm_obtain_controller_state: %d", cur_state);
     return cur_state;
 }
+#endif
diff --git a/btif/src/btif_dm.c b/btif/src/btif_dm.c
index c3dbe95..43a34e2 100644
--- a/btif/src/btif_dm.c
+++ b/btif/src/btif_dm.c
@@ -1891,6 +1891,7 @@
    btif_transfer_context(btif_dm_remote_service_record_evt, event, (char*)p_data, sizeof(tBTA_DM_SEARCH), NULL);
 }
 
+#if (defined(BLE_INCLUDED) && (BLE_INCLUDED == TRUE))
 /*******************************************************************************
 **
 ** Function         bta_energy_info_cb
@@ -1918,6 +1919,7 @@
     btif_transfer_context(btif_dm_upstreams_evt, BTA_DM_ENER_INFO_READ,
                           (char*) &btif_cb, sizeof(btif_activity_energy_info_cb_t), NULL);
 }
+#endif
 
 /*****************************************************************************
 **
@@ -2854,7 +2856,9 @@
 *******************************************************************************/
 void btif_dm_read_energy_info()
 {
+#if (defined(BLE_INCLUDED) && (BLE_INCLUDED == TRUE))
     BTA_DmBleGetEnergyInfo(bta_energy_info_cb);
+#endif
 }
 
 static char* btif_get_default_local_name() {
diff --git a/stack/btm/btm_pm.c b/stack/btm/btm_pm.c
index a74b24d..7582f9a 100644
--- a/stack/btm/btm_pm.c
+++ b/stack/btm/btm_pm.c
@@ -1028,6 +1028,7 @@
         return TRUE;
     }
 
+#if ((defined BLE_INCLUDED) && (BLE_INCLUDED == TRUE))
     /* Check BLE states */
     if (btm_ble_get_conn_st() != BLE_CONN_IDLE)
     {
@@ -1035,6 +1036,7 @@
                         btm_ble_get_conn_st());
         return TRUE;
     }
+#endif
 
     return FALSE;
 }
