diff --git a/include/hardware/bt_av.h b/include/hardware/bt_av.h
index 5f7601e..428a5b1 100644
--- a/include/hardware/bt_av.h
+++ b/include/hardware/bt_av.h
@@ -57,13 +57,6 @@
                                                 uint32_t sample_rate,
                                                 uint8_t channel_count);
 
-/*
- * Callback for audio focus request to be used only in
- * case of A2DP Sink. This is required because we are using
- * AudioTrack approach for audio data rendering.
- */
-typedef void (* btav_audio_focus_request_callback)(bt_bdaddr_t *bd_addr);
-
 /** BT-AV callback structure. */
 typedef struct {
     /** set to sizeof(btav_callbacks_t) */
@@ -71,7 +64,6 @@
     btav_connection_state_callback  connection_state_cb;
     btav_audio_state_callback audio_state_cb;
     btav_audio_config_callback audio_config_cb;
-    btav_audio_focus_request_callback audio_focus_request_cb;
 } btav_callbacks_t;
 
 /**
diff --git a/include/hardware/vehicle.h b/include/hardware/vehicle.h
index dc1419f..4a080a1 100644
--- a/include/hardware/vehicle.h
+++ b/include/hardware/vehicle.h
@@ -1161,9 +1161,9 @@
     VEHICLE_GEAR_REVERSE    = 0x0002,
 
     // Gear selections (mostly) present only in automatic cars.
-    VEHICLE_GEAR_PARKING    = 0x0004,
+    VEHICLE_GEAR_PARK       = 0x0004,
     VEHICLE_GEAR_DRIVE      = 0x0008,
-    VEHICLE_GEAR_L          = 0x0010,
+    VEHICLE_GEAR_LOW        = 0x0010,
 
     // Other possible gear selections (maybe present in manual or automatic
     // cars).
diff --git a/modules/vehicle/vehicle.c b/modules/vehicle/vehicle.c
index 38c38ee..564630c 100644
--- a/modules/vehicle/vehicle.c
+++ b/modules/vehicle/vehicle.c
@@ -336,7 +336,7 @@
                 event.value_type = VEHICLE_VALUE_TYPE_INT32;
                 switch ((event.timestamp & 0x30000000)>>28) {
                     case 0:
-                        event.value.gear_selection = VEHICLE_GEAR_PARKING;
+                        event.value.gear_selection = VEHICLE_GEAR_PARK;
                         break;
                     case 1:
                         event.value.gear_selection = VEHICLE_GEAR_NEUTRAL;
@@ -407,7 +407,7 @@
 }
 
 static int vdev_subscribe(vehicle_hw_device_t* device, int32_t prop, float sample_rate,
-        int32_t zones) {
+        int32_t zones UNUSED) {
     ALOGD("vdev_subscribe 0x%x, %f", prop, sample_rate);
     vehicle_device_impl_t* impl = (vehicle_device_impl_t*)device;
     // Check that the device is initialized.
diff --git a/tests/vehicle/vehicle_test_fixtures.h b/tests/vehicle/vehicle_test_fixtures.h
index 15cafaa..a9572ba 100644
--- a/tests/vehicle/vehicle_test_fixtures.h
+++ b/tests/vehicle/vehicle_test_fixtures.h
@@ -55,7 +55,7 @@
     return 0;
 }
 
-int VehicleErrorCallback(int32_t error_code, int32_t property, int32_t operation) {
+ int VehicleErrorCallback(int32_t /*error_code*/, int32_t /*property*/, int32_t /*operation*/) {
     // Do nothing.
     return 0;
 }
