From 11f5f84fbfb03ed792f174c1b2b7d9dd25047380 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Thu, 16 Oct 2014 14:40:38 +0200 Subject: [PATCH] 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. Change-Id: I36d5c6fc05aff26dd01a227201be18e86c9f9994 Signed-off-by: Greg Kroah-Hartman Git-commit: a8363b44d11a212b1d44d7823fa1795de6887185 Git-repo: https://android.googlesource.com/kernel/common.git [imaund@codeaurora.org: Resolved context conflicts] Signed-off-by: Ian Maund --- drivers/Kconfig | 2 + drivers/Makefile | 1 + drivers/android/Kconfig | 37 +++++++++++++++++++ drivers/android/Makefile | 3 ++ drivers/{staging => }/android/binder.c | 0 drivers/{staging => }/android/binder.h | 2 +- drivers/{staging => }/android/binder_trace.h | 0 drivers/staging/android/Kconfig | 23 ------------ drivers/staging/android/Makefile | 1 - include/uapi/linux/Kbuild | 1 + include/uapi/linux/android/Kbuild | 2 + .../uapi/linux/android}/binder.h | 0 12 files changed, 47 insertions(+), 25 deletions(-) create mode 100644 drivers/android/Kconfig create mode 100644 drivers/android/Makefile rename drivers/{staging => }/android/binder.c (100%) rename drivers/{staging => }/android/binder.h (95%) rename drivers/{staging => }/android/binder_trace.h (100%) create mode 100644 include/uapi/linux/android/Kbuild rename {drivers/staging/android/uapi => include/uapi/linux/android}/binder.h (100%) diff --git a/drivers/Kconfig b/drivers/Kconfig index 692bf0ce40b..00812b86889 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -178,6 +178,8 @@ source "drivers/reset/Kconfig" source "drivers/gud/Kconfig" +source "drivers/android/Kconfig" + source "drivers/gator/Kconfig" source "drivers/trace/Kconfig" diff --git a/drivers/Makefile b/drivers/Makefile index 46af714541f..e3c63895294 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -161,6 +161,7 @@ obj-$(CONFIG_IIO) += iio/ obj-$(CONFIG_VME_BUS) += vme/ obj-$(CONFIG_IPACK_BUS) += ipack/ obj-$(CONFIG_NTB) += ntb/ +obj-$(CONFIG_ANDROID) += android/ # Mobicore driver obj-$(CONFIG_MOBICORE_DRIVER) += gud/ diff --git a/drivers/android/Kconfig b/drivers/android/Kconfig new file mode 100644 index 00000000000..bdfc6c6f4f5 --- /dev/null +++ b/drivers/android/Kconfig @@ -0,0 +1,37 @@ +menu "Android" + +config ANDROID + bool "Android Drivers" + ---help--- + Enable support for various drivers needed on the Android platform + +if ANDROID + +config ANDROID_BINDER_IPC + bool "Android Binder IPC Driver" + depends on MMU + default n + ---help--- + Binder is used in Android for both communication between processes, + and remote method invocation. + + This means one Android process can call a method/routine in another + Android process, using Binder to identify, invoke and pass arguments + between said processes. + +config ANDROID_BINDER_IPC_32BIT + bool + depends on !64BIT && ANDROID_BINDER_IPC + default y + ---help--- + The Binder API has been changed to support both 32 and 64bit + applications in a mixed environment. + + Enable this to support an old 32-bit Android user-space (v4.4 and + earlier). + + Note that enabling this will break newer Android user-space. + +endif # if ANDROID + +endmenu diff --git a/drivers/android/Makefile b/drivers/android/Makefile new file mode 100644 index 00000000000..3b7e4b072c5 --- /dev/null +++ b/drivers/android/Makefile @@ -0,0 +1,3 @@ +ccflags-y += -I$(src) # needed for trace events + +obj-$(CONFIG_ANDROID_BINDER_IPC) += binder.o diff --git a/drivers/staging/android/binder.c b/drivers/android/binder.c similarity index 100% rename from drivers/staging/android/binder.c rename to drivers/android/binder.c diff --git a/drivers/staging/android/binder.h b/drivers/android/binder.h similarity index 95% rename from drivers/staging/android/binder.h rename to drivers/android/binder.h index eb0834656df..5dc6a66b066 100644 --- a/drivers/staging/android/binder.h +++ b/drivers/android/binder.h @@ -24,7 +24,7 @@ #define BINDER_IPC_32BIT 1 #endif -#include "uapi/binder.h" +#include #endif /* _LINUX_BINDER_H */ diff --git a/drivers/staging/android/binder_trace.h b/drivers/android/binder_trace.h similarity index 100% rename from drivers/staging/android/binder_trace.h rename to drivers/android/binder_trace.h diff --git a/drivers/staging/android/Kconfig b/drivers/staging/android/Kconfig index f42d06bfc77..1a9550832aa 100644 --- a/drivers/staging/android/Kconfig +++ b/drivers/staging/android/Kconfig @@ -8,29 +8,6 @@ config ANDROID if ANDROID -config ANDROID_BINDER_IPC - bool "Android Binder IPC Driver" - default n - ---help--- - Binder is used in Android for both communication between processes, - and remote method invocation. - - This means one Android process can call a method/routine in another - Android process, using Binder to identify, invoke and pass arguments - between said processes. - -config ANDROID_BINDER_IPC_32BIT - bool "Use old 32-bit binder api" - depends on !64BIT - ---help--- - The Binder API has been changed to support both 32 and 64bit - applications in a mixed environment. - - Enable this to support an old 32-bit Android user-space (v4.4 and - earlier). - - Note that enabling this will break newer Android user-space. - config ASHMEM bool "Enable the Anonymous Shared Memory Subsystem" default n diff --git a/drivers/staging/android/Makefile b/drivers/staging/android/Makefile index 907b62f5620..c223ef72bb3 100644 --- a/drivers/staging/android/Makefile +++ b/drivers/staging/android/Makefile @@ -3,7 +3,6 @@ ccflags-y += -I$(src) # needed for trace events obj-y += ion/ obj-$(CONFIG_FIQ_DEBUGGER) += fiq_debugger/ -obj-$(CONFIG_ANDROID_BINDER_IPC) += binder.o obj-$(CONFIG_ASHMEM) += ashmem.o obj-$(CONFIG_ANDROID_LOGGER) += logger.o obj-$(CONFIG_ANDROID_TIMED_OUTPUT) += timed_output.o diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index 53fbb0f8ed8..624c91645d6 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild @@ -1,4 +1,5 @@ # UAPI Header export list +header-y += android/ header-y += byteorder/ header-y += can/ header-y += caif/ diff --git a/include/uapi/linux/android/Kbuild b/include/uapi/linux/android/Kbuild new file mode 100644 index 00000000000..ca011eec252 --- /dev/null +++ b/include/uapi/linux/android/Kbuild @@ -0,0 +1,2 @@ +# UAPI Header export list +header-y += binder.h diff --git a/drivers/staging/android/uapi/binder.h b/include/uapi/linux/android/binder.h similarity index 100% rename from drivers/staging/android/uapi/binder.h rename to include/uapi/linux/android/binder.h -- 2.20.1