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.

config SYNC
	bool "Synchronization framework"
	default n
	select ANON_INODES
	select DMA_SHARED_BUFFER
	---help---
	  This option enables the framework for synchronization between multiple
	  drivers.  Sync implementations can take advantage of hardware
	  synchronization built into devices like GPUs.

config SW_SYNC
	bool "Software synchronization objects"
	default n
	depends on SYNC
	---help---
	  A sync object driver that uses a 32bit counter to coordinate
	  synchronization.  Useful when there is no hardware primitive backing
	  the synchronization.

config SW_SYNC_USER
	bool "Userspace API for SW_SYNC"
	default n
	depends on SW_SYNC
	---help---
	  Provides a user space API to the sw sync object.
	  *WARNING* improper use of this can result in deadlocking kernel
	  drivers from userspace.

endif # if ANDROID

endmenu
