menu "Android"

if ANDROID

config ASHMEM
	bool "Enable the Anonymous Shared Memory Subsystem"
	default n
	depends on SHMEM
	---help---
	  The ashmem subsystem is a new shared memory allocator, similar to
	  POSIX SHM but with different behavior and sporting a simpler
	  file-based API.

	  It is, in theory, a good memory allocator for low-memory devices,
	  because it can discard shared memory units when under memory pressure.

config ANDROID_TIMED_OUTPUT
	bool "Timed output class driver"
	default y

config ANDROID_TIMED_GPIO
	tristate "Android timed gpio driver"
	depends on GPIOLIB || COMPILE_TEST
	depends on ANDROID_TIMED_OUTPUT
	default n
        ---help---
	  Unlike generic gpio is to allow programs to access and manipulate gpio
	  registers from user space, timed output/gpio is a system to allow changing
	  a gpio pin and restore it automatically after a specified timeout.

config ANDROID_LOW_MEMORY_KILLER
	bool "Android Low Memory Killer"
	---help---
	  Registers processes to be killed when low memory conditions, this is useful
	  as there is no particular swap space on android.

	  The registered process will kills according to the priorities in android init
	  scripts (/init.rc), and it defines priority values with minimum free memory size
	  for each priority.

config ANDROID_LOW_MEMORY_KILLER_AUTODETECT_OOM_ADJ_VALUES
	bool "Android Low Memory Killer: detect oom_adj values"
	depends on ANDROID_LOW_MEMORY_KILLER
	default y
	---help---
	  Detect oom_adj values written to
	  /sys/module/lowmemorykiller/parameters/adj and convert them
	  to oom_score_adj values.

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.

source "drivers/staging/android/ion/Kconfig"

source "drivers/staging/android/fiq_debugger/Kconfig"

endif # if ANDROID

endmenu