audio: Updates to comply with standard libhardware_legacy audio hal

Revert back to original libhardware_legacy audio hal headers from AOSP.
This makes corresponding code changes to disable features to match
audio hal implementation with standard libhardware_legacy audio hal.

Change-Id: Ibf1e50d3fffc8280ba417a26172c0f04206474e3
diff --git a/alsa_sound/audio_hw_hal.cpp b/alsa_sound/audio_hw_hal.cpp
index 58fd7d3..98edcf7 100644
--- a/alsa_sound/audio_hw_hal.cpp
+++ b/alsa_sound/audio_hw_hal.cpp
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-#define LOG_TAG "audio.primary.msm8960"
+#define LOG_TAG "qcom_audio_hw_hal"
 //#define LOG_NDEBUG 0
 
 #include <stdint.h>
@@ -176,7 +176,9 @@
 static int out_get_next_write_timestamp(const struct audio_stream_out *stream,
                                         int64_t *timestamp)
 {
-    return -EINVAL;
+    const struct qcom_stream_out *out =
+        reinterpret_cast<const struct qcom_stream_out *>(stream);
+    return out->qcom_out->getNextWriteTimestamp(timestamp);
 }
 
 /** audio_stream_in implementation **/
@@ -319,14 +321,24 @@
             AUDIO_DEVICE_OUT_WIRED_HEADPHONE |
             AUDIO_DEVICE_OUT_AUX_DIGITAL |
             AUDIO_DEVICE_OUT_ALL_SCO |
-//          AUDIO_DEVICE_OUT_ANC_HEADSET |
+#ifdef QCOM_ANC_HEADSET_ENABLED
+            AUDIO_DEVICE_OUT_ANC_HEADSET |
+            AUDIO_DEVICE_OUT_ANC_HEADPHONE |
+#endif
             AUDIO_DEVICE_OUT_ANLG_DOCK_HEADSET |
             AUDIO_DEVICE_OUT_DGTL_DOCK_HEADSET |
-//          AUDIO_DEVICE_OUT_ANC_HEADPHONE |
-//          AUDIO_DEVICE_OUT_FM |
-//          AUDIO_DEVICE_OUT_FM_TX |
-//          AUDIO_DEVICE_OUT_DIRECTOUTPUT |
-//          AUDIO_DEVICE_OUT_PROXY |
+#ifdef QCOM_FM_ENABLED
+            AUDIO_DEVICE_OUT_FM |
+#endif
+#ifdef QCOM_FM_TX_ENABLED
+            AUDIO_DEVICE_OUT_FM_TX |
+#endif
+#ifdef QCOM_VOIP_ENABLED
+            AUDIO_DEVICE_OUT_DIRECTOUTPUT |
+#endif
+#ifdef QCOM_PROXY_DEVICE_ENABLED
+            AUDIO_DEVICE_OUT_PROXY |
+#endif
             AUDIO_DEVICE_OUT_DEFAULT |
             /* IN */
             AUDIO_DEVICE_IN_VOICE_CALL |
@@ -337,9 +349,13 @@
             AUDIO_DEVICE_IN_AUX_DIGITAL |
             AUDIO_DEVICE_IN_BACK_MIC |
             AUDIO_DEVICE_IN_ALL_SCO |
-//          AUDIO_DEVICE_IN_ANC_HEADSET |
-//          AUDIO_DEVICE_IN_FM_RX |
-//          AUDIO_DEVICE_IN_FM_RX_A2DP |
+#ifdef QCOM_ANC_HEADSET_ENABLED
+            AUDIO_DEVICE_IN_ANC_HEADSET |
+#endif
+#ifdef QCOM_FM_ENABLED
+            AUDIO_DEVICE_IN_FM_RX |
+            AUDIO_DEVICE_IN_FM_RX_A2DP |
+#endif
             AUDIO_DEVICE_IN_DEFAULT);
 }
 
@@ -367,7 +383,8 @@
     struct qcom_audio_device *qadev = to_ladev(dev);
     return qadev->hwif->getMasterVolume(volume);
 }
-#ifdef QUALCOMM_FEATURES_ENABLED
+
+#ifdef QCOM_FM_ENABLED
 static int adev_set_fm_volume(struct audio_hw_device *dev, float volume)
 {
     struct qcom_audio_device *qadev = to_ladev(dev);
@@ -416,7 +433,7 @@
     return qadev->hwif->getInputBufferSize(config->sample_rate, config->format, config->channel_mask);
 }
 
-#ifdef QUALCOMM_FEATURES_ENABLED
+#ifdef QCOM_TUNNEL_LPA_ENABLED
 static int adev_open_output_session(struct audio_hw_device *dev,
                                    uint32_t devices,
                                    int *format,
@@ -626,7 +643,7 @@
     qadev->device.set_voice_volume = adev_set_voice_volume;
     qadev->device.set_master_volume = adev_set_master_volume;
     qadev->device.get_master_volume = adev_get_master_volume;
-#ifdef QUALCOMM_FEATURES_ENABLED
+#ifdef QCOM_FM_ENABLED
     qadev->device.set_fm_volume = adev_set_fm_volume;
 #endif
     qadev->device.set_mode = adev_set_mode;
@@ -636,7 +653,7 @@
     qadev->device.get_parameters = adev_get_parameters;
     qadev->device.get_input_buffer_size = adev_get_input_buffer_size;
     qadev->device.open_output_stream = adev_open_output_stream;
-#ifdef QUALCOMM_FEATURES_ENABLED
+#ifdef QCOM_TUNNEL_LPA_ENABLED
     qadev->device.open_output_session = adev_open_output_session;
 #endif
     qadev->device.close_output_stream = adev_close_output_stream;