diff --git a/drivers/staging/android/Kconfig b/drivers/staging/android/Kconfig
index 6bb4fa8e5ffdf677495af21f54c5604cbda1e16c..75ca22581ec4d0ae1b3533d76724e3eb234351a9 100644
--- a/drivers/staging/android/Kconfig
+++ b/drivers/staging/android/Kconfig
@@ -122,6 +122,15 @@ config ANDROID_INTF_ALARM_DEV
 	help
 	  Exports the alarm interface to user-space.
 
+config ANDROID_ALARM_OLDDRV_COMPAT
+	bool "Android Alarm compatability with old drivers"
+	depends on ANDROID_INTF_ALARM
+	default n
+	help
+	  Provides preprocessor alias to aid compatability with
+	  older out-of-tree drivers that use the Android Alarm
+	  in-kernel API. This will be removed eventually.
+
 endif # if ANDROID
 
 endmenu
diff --git a/drivers/staging/android/android_alarm.h b/drivers/staging/android/android_alarm.h
index 9213581c927b998ea34ec4cc7855fff58c2d2e9c..6eecbde2ef6f4079991048b4e5d8bb578c7dbb9f 100644
--- a/drivers/staging/android/android_alarm.h
+++ b/drivers/staging/android/android_alarm.h
@@ -76,6 +76,20 @@ ktime_t alarm_get_elapsed_realtime(void);
 /* set rtc while preserving elapsed realtime */
 int android_alarm_set_rtc(const struct timespec ts);
 
+#ifdef CONFIG_ANDROID_ALARM_OLDDRV_COMPAT
+/*
+ * Some older drivers depend on the old API,
+ * so provide compatability macros for now.
+ */
+#define alarm android_alarm
+#define alarm_init(x, y, z) android_alarm_init(x, y, z)
+#define alarm_start_range(x, y, z) android_alarm_start_range(x, y, z)
+#define alarm_try_to_cancel(x) android_alarm_try_to_cancel(x)
+#define alarm_cancel(x) android_alarm_cancel(x)
+#define alarm_set_rtc(x) android_alarm_set_rtc(x)
+#endif
+
+
 #endif
 
 enum android_alarm_return_flags {