blob: 51607e9aa0492ca77987dd626125d81d44fbbfbe [file] [log] [blame]
Greg Kroah-Hartman355b0502011-11-30 20:18:14 +09001menu "Android"
2
3config ANDROID
4 bool "Android Drivers"
Greg Kroah-Hartman355b0502011-11-30 20:18:14 +09005 ---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"
Chen Gang31507f72013-09-02 17:11:57 +080012 depends on MMU
Greg Kroah-Hartman355b0502011-11-30 20:18:14 +090013 default n
Cruz Julian Bishopd7f97292012-12-22 09:00:46 +100014 ---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.
Greg Kroah-Hartman355b0502011-11-30 20:18:14 +090021
Arve Hjønnevågda498892014-02-21 14:40:26 -080022config ANDROID_BINDER_IPC_32BIT
John Stultzd0bdff02014-02-26 14:29:07 -080023 bool
John Stultz1acec6a2014-02-21 14:40:27 -080024 depends on !64BIT && ANDROID_BINDER_IPC
25 default y
Arve Hjønnevågda498892014-02-21 14:40:26 -080026 ---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
Robert Love11980c22011-12-20 16:49:48 -080035config ASHMEM
36 bool "Enable the Anonymous Shared Memory Subsystem"
37 default n
Paul Bolle2c0fb1c2013-03-14 10:41:39 +010038 depends on SHMEM
Cruz Julian Bishopd7f97292012-12-22 09:00:46 +100039 ---help---
Robert Love11980c22011-12-20 16:49:48 -080040 The ashmem subsystem is a new shared memory allocator, similar to
41 POSIX SHM but with different behavior and sporting a simpler
42 file-based API.
43
Cruz Julian Bishopd7f97292012-12-22 09:00:46 +100044 It is, in theory, a good memory allocator for low-memory devices,
45 because it can discard shared memory units when under memory pressure.
46
Greg Kroah-Hartman355b0502011-11-30 20:18:14 +090047config ANDROID_LOGGER
48 tristate "Android log driver"
49 default n
Cruz Julian Bishopd7f97292012-12-22 09:00:46 +100050 ---help---
51 This adds support for system-wide logging using four log buffers.
52
53 These are:
54
55 1: main
56 2: events
57 3: radio
58 4: system
59
60 Log reading and writing is performed via normal Linux reads and
61 optimized writes. This optimization avoids logging having too
62 much overhead in the system.
Greg Kroah-Hartman355b0502011-11-30 20:18:14 +090063
Greg Kroah-Hartman355b0502011-11-30 20:18:14 +090064config ANDROID_TIMED_OUTPUT
65 bool "Timed output class driver"
66 default y
67
68config ANDROID_TIMED_GPIO
69 tristate "Android timed gpio driver"
Alexandre Courbot76ec9d12013-03-28 04:34:56 -070070 depends on GPIOLIB && ANDROID_TIMED_OUTPUT
Greg Kroah-Hartman355b0502011-11-30 20:18:14 +090071 default n
72
73config ANDROID_LOW_MEMORY_KILLER
74 bool "Android Low Memory Killer"
Greg Kroah-Hartman355b0502011-11-30 20:18:14 +090075 ---help---
Cruz Julian Bishopd7f97292012-12-22 09:00:46 +100076 Registers processes to be killed when memory is low
Greg Kroah-Hartman355b0502011-11-30 20:18:14 +090077
John Stultzef2353d2012-04-20 12:31:47 -070078config ANDROID_INTF_ALARM_DEV
John Stultzfe8d2722012-02-09 14:24:36 -080079 bool "Android alarm driver"
80 depends on RTC_CLASS
Praneeth Kumar Bajjuri58a38ff2012-02-09 14:24:37 -080081 default n
Cruz Julian Bishopd7f97292012-12-22 09:00:46 +100082 ---help---
John Stultzfe8d2722012-02-09 14:24:36 -080083 Provides non-wakeup and rtc backed wakeup alarms based on rtc or
84 elapsed realtime, and a non-wakeup alarm on the monotonic clock.
John Stultzef2353d2012-04-20 12:31:47 -070085 Also exports the alarm interface to user-space.
John Stultzfe8d2722012-02-09 14:24:36 -080086
Erik Gilling7ad530b2013-02-28 16:42:57 -080087config SYNC
88 bool "Synchronization framework"
89 default n
90 select ANON_INODES
Maarten Lankhorst0f0d8402014-07-01 12:57:31 +020091 select DMA_SHARED_BUFFER
Cruz Julian Bishopfb51b502013-09-03 22:05:05 +100092 ---help---
Erik Gilling7ad530b2013-02-28 16:42:57 -080093 This option enables the framework for synchronization between multiple
94 drivers. Sync implementations can take advantage of hardware
95 synchronization built into devices like GPUs.
96
Erik Gilling9d1906e2013-02-28 16:42:58 -080097config SW_SYNC
98 bool "Software synchronization objects"
99 default n
100 depends on SYNC
Cruz Julian Bishopfb51b502013-09-03 22:05:05 +1000101 ---help---
Erik Gilling9d1906e2013-02-28 16:42:58 -0800102 A sync object driver that uses a 32bit counter to coordinate
103 syncrhronization. Useful when there is no hardware primitive backing
104 the synchronization.
105
106config SW_SYNC_USER
107 bool "Userspace API for SW_SYNC"
108 default n
109 depends on SW_SYNC
Cruz Julian Bishopfb51b502013-09-03 22:05:05 +1000110 ---help---
Erik Gilling9d1906e2013-02-28 16:42:58 -0800111 Provides a user space API to the sw sync object.
112 *WARNING* improper use of this can result in deadlocking kernel
113 drivers from userspace.
114
Rebecca Schultz Zavinc30707b2013-12-13 19:38:38 -0800115source "drivers/staging/android/ion/Kconfig"
116
Greg Kroah-Hartman355b0502011-11-30 20:18:14 +0900117endif # if ANDROID
118
119endmenu