aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-10-16 08:40:38 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-10-19 22:30:15 -0400
commit777783e0abae3cab7555bb182776f9ffaa35631a (patch)
treed7f183097ce9fa8c6944d0396c8a47d8b9ddd977
parentd09e9b160fc18116942101743693f5535bc5136a (diff)
staging: android: binder: move to the "real" part of the kernel
The Android binder code has been "stable" for many years now. No matter what comes in the future, we are going to have to support this API, so might as well move it to the "real" part of the kernel as there's no real work that needs to be done to the existing code. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/Kconfig2
-rw-r--r--drivers/Makefile1
-rw-r--r--drivers/android/Kconfig37
-rw-r--r--drivers/android/Makefile3
-rw-r--r--drivers/android/binder.c (renamed from drivers/staging/android/binder.c)0
-rw-r--r--drivers/android/binder.h (renamed from drivers/staging/android/binder.h)2
-rw-r--r--drivers/android/binder_trace.h (renamed from drivers/staging/android/binder_trace.h)0
-rw-r--r--drivers/staging/android/Kconfig30
-rw-r--r--drivers/staging/android/Makefile1
-rw-r--r--include/uapi/linux/Kbuild1
-rw-r--r--include/uapi/linux/android/Kbuild2
-rw-r--r--include/uapi/linux/android/binder.h (renamed from drivers/staging/android/uapi/binder.h)0
12 files changed, 47 insertions, 32 deletions
diff --git a/drivers/Kconfig b/drivers/Kconfig
index 1a693d3f9d51..569ff7886dc3 100644
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -182,4 +182,6 @@ source "drivers/ras/Kconfig"
182 182
183source "drivers/thunderbolt/Kconfig" 183source "drivers/thunderbolt/Kconfig"
184 184
185source "drivers/android/Kconfig"
186
185endmenu 187endmenu
diff --git a/drivers/Makefile b/drivers/Makefile
index ebee55537a05..60d19820a4d4 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -161,3 +161,4 @@ obj-$(CONFIG_POWERCAP) += powercap/
161obj-$(CONFIG_MCB) += mcb/ 161obj-$(CONFIG_MCB) += mcb/
162obj-$(CONFIG_RAS) += ras/ 162obj-$(CONFIG_RAS) += ras/
163obj-$(CONFIG_THUNDERBOLT) += thunderbolt/ 163obj-$(CONFIG_THUNDERBOLT) += thunderbolt/
164obj-$(CONFIG_ANDROID) += android/
diff --git a/drivers/android/Kconfig b/drivers/android/Kconfig
new file mode 100644
index 000000000000..bdfc6c6f4f5a
--- /dev/null
+++ b/drivers/android/Kconfig
@@ -0,0 +1,37 @@
1menu "Android"
2
3config ANDROID
4 bool "Android Drivers"
5 ---help---
6 Enable support for various drivers needed on the Android platform
7
8if ANDROID
9
10config ANDROID_BINDER_IPC
11 bool "Android Binder IPC Driver"
12 depends on MMU
13 default n
14 ---help---
15 Binder is used in Android for both communication between processes,
16 and remote method invocation.
17
18 This means one Android process can call a method/routine in another
19 Android process, using Binder to identify, invoke and pass arguments
20 between said processes.
21
22config ANDROID_BINDER_IPC_32BIT
23 bool
24 depends on !64BIT && ANDROID_BINDER_IPC
25 default y
26 ---help---
27 The Binder API has been changed to support both 32 and 64bit
28 applications in a mixed environment.
29
30 Enable this to support an old 32-bit Android user-space (v4.4 and
31 earlier).
32
33 Note that enabling this will break newer Android user-space.
34
35endif # if ANDROID
36
37endmenu
diff --git a/drivers/android/Makefile b/drivers/android/Makefile
new file mode 100644
index 000000000000..3b7e4b072c58
--- /dev/null
+++ b/drivers/android/Makefile
@@ -0,0 +1,3 @@
1ccflags-y += -I$(src) # needed for trace events
2
3obj-$(CONFIG_ANDROID_BINDER_IPC) += binder.o
diff --git a/drivers/staging/android/binder.c b/drivers/android/binder.c
index c69c40d69d5c..c69c40d69d5c 100644
--- a/drivers/staging/android/binder.c
+++ b/drivers/android/binder.c
diff --git a/drivers/staging/android/binder.h b/drivers/android/binder.h
index eb0834656dfe..5dc6a66b0665 100644
--- a/drivers/staging/android/binder.h
+++ b/drivers/android/binder.h
@@ -24,7 +24,7 @@
24#define BINDER_IPC_32BIT 1 24#define BINDER_IPC_32BIT 1
25#endif 25#endif
26 26
27#include "uapi/binder.h" 27#include <uapi/linux/android/binder.h>
28 28
29#endif /* _LINUX_BINDER_H */ 29#endif /* _LINUX_BINDER_H */
30 30
diff --git a/drivers/staging/android/binder_trace.h b/drivers/android/binder_trace.h
index 7f20f3dc8369..7f20f3dc8369 100644
--- a/drivers/staging/android/binder_trace.h
+++ b/drivers/android/binder_trace.h
diff --git a/drivers/staging/android/Kconfig b/drivers/staging/android/Kconfig
index 7a0e28852965..7e012f37792b 100644
--- a/drivers/staging/android/Kconfig
+++ b/drivers/staging/android/Kconfig
@@ -1,37 +1,7 @@
1menu "Android" 1menu "Android"
2 2
3config ANDROID
4 bool "Android Drivers"
5 ---help---
6 Enable support for various drivers needed on the Android platform
7
8if ANDROID 3if ANDROID
9 4
10config ANDROID_BINDER_IPC
11 bool "Android Binder IPC Driver"
12 depends on MMU
13 default n
14 ---help---
15 Binder is used in Android for both communication between processes,
16 and remote method invocation.
17
18 This means one Android process can call a method/routine in another
19 Android process, using Binder to identify, invoke and pass arguments
20 between said processes.
21
22config ANDROID_BINDER_IPC_32BIT
23 bool
24 depends on !64BIT && ANDROID_BINDER_IPC
25 default y
26 ---help---
27 The Binder API has been changed to support both 32 and 64bit
28 applications in a mixed environment.
29
30 Enable this to support an old 32-bit Android user-space (v4.4 and
31 earlier).
32
33 Note that enabling this will break newer Android user-space.
34
35config ASHMEM 5config ASHMEM
36 bool "Enable the Anonymous Shared Memory Subsystem" 6 bool "Enable the Anonymous Shared Memory Subsystem"
37 default n 7 default n
diff --git a/drivers/staging/android/Makefile b/drivers/staging/android/Makefile
index 517ad5ffa429..479b2b86f8c8 100644
--- a/drivers/staging/android/Makefile
+++ b/drivers/staging/android/Makefile
@@ -2,7 +2,6 @@ ccflags-y += -I$(src) # needed for trace events
2 2
3obj-y += ion/ 3obj-y += ion/
4 4
5obj-$(CONFIG_ANDROID_BINDER_IPC) += binder.o
6obj-$(CONFIG_ASHMEM) += ashmem.o 5obj-$(CONFIG_ASHMEM) += ashmem.o
7obj-$(CONFIG_ANDROID_LOGGER) += logger.o 6obj-$(CONFIG_ANDROID_LOGGER) += logger.o
8obj-$(CONFIG_ANDROID_TIMED_OUTPUT) += timed_output.o 7obj-$(CONFIG_ANDROID_TIMED_OUTPUT) += timed_output.o
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild
index 6cad97485bad..5f17fa7bc153 100644
--- a/include/uapi/linux/Kbuild
+++ b/include/uapi/linux/Kbuild
@@ -1,4 +1,5 @@
1# UAPI Header export list 1# UAPI Header export list
2header-y += android/
2header-y += byteorder/ 3header-y += byteorder/
3header-y += can/ 4header-y += can/
4header-y += caif/ 5header-y += caif/
diff --git a/include/uapi/linux/android/Kbuild b/include/uapi/linux/android/Kbuild
new file mode 100644
index 000000000000..ca011eec252a
--- /dev/null
+++ b/include/uapi/linux/android/Kbuild
@@ -0,0 +1,2 @@
1# UAPI Header export list
2header-y += binder.h
diff --git a/drivers/staging/android/uapi/binder.h b/include/uapi/linux/android/binder.h
index dba4cef3a8d3..dba4cef3a8d3 100644
--- a/drivers/staging/android/uapi/binder.h
+++ b/include/uapi/linux/android/binder.h