# SPDX-License-Identifier: GPL-2.0
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_BINDERFS
	bool "Android Binderfs filesystem"
	depends on ANDROID_BINDER_IPC
	default n
	help
	  Binderfs is a pseudo-filesystem for the Android Binder IPC driver
	  which can be mounted per-ipc namespace allowing to run multiple
	  instances of Android.
	  Each binderfs mount initially only contains a binder-control device.
	  It can be used to dynamically allocate new binder IPC devices via
	  ioctls.

config ANDROID_BINDER_DEVICES
	string "Android Binder devices"
	depends on ANDROID_BINDER_IPC
	default "binder,hwbinder,vndbinder"
	help
	  Default value for the binder.devices parameter.

	  The binder.devices parameter is a comma-separated list of strings
	  that specifies the names of the binder device nodes that will be
	  created. Each binder device has its own context manager, and is
	  therefore logically separated from the other devices.

config ANDROID_BINDER_IPC_SELFTEST
	bool "Android Binder IPC Driver Selftest"
	depends on ANDROID_BINDER_IPC
	help
	  This feature allows binder selftest to run.

	  Binder selftest checks the allocation and free of binder buffers
	  exhaustively with combinations of various buffer sizes and
	  alignments.

config DFX_BINDER
	bool "Improve Binder debug info for DFX"
	default n
	help
	  Enable this to print binder_debug info by task's pid or comm.

config BINDER_TRANSACTION_PROC_BRIEF
	bool "Brief debug info for binder transaction and proc"
	depends on ANDROID_BINDER_IPC
	default n
	help

	  Enable binder optimization

config BINDER_FILE_DEBUG_LOG
	bool "Debug info for binder file issue"
	depends on ANDROID_BINDER_IPC
	default n
	help
	  Debug info for binder file issue.

	  binder file is not closed when some processes exit.
	  Add some log to track this issue. The code should be deleted
	  when fixed.

config BINDER_DETAIL_DEBUG_LOG
	bool "Detail debug info for some processes"
	depends on ANDROID_BINDER_IPC
	default n
	help
	  Detail debug info for some process.

	  to speed up IPC/binder bugfix in openharmony developement,
	  enable more debug mask in default, unset the ratelimit for
	  some key process and service, for example foundation .etc

config BINDER_ONEWAY_TF_SENDER_INFO
	bool "Give sender PID in Async Trasnaction Data"
	depends on ANDROID_BINDER_IPC
	default Y
	help
	  Give sender PID in Async Trasnaction Data, instead of 0.

config BINDER_SENDER_INFO
	bool "Get binder sender info"
	default y

endif # if ANDROID

endmenu
