config ANDROID_DEFAULT_SETTING
	bool "Select android common setting by default"
	select ADVISE_SYSCALLS
	select AIO
	select ANDROID
	select ANDROID_BINDERFS
	select ANDROID_BINDER_IPC
	select ARM64_SW_TTBR0_PAN
	select ARMV8_DEPRECATED if COMPAT
	select ASHMEM
	select AUDIT
	select BINFMT_ELF
	select BINFMT_SCRIPT
	select BLK_DEV_INITRD
	select BLK_DEV_LOOP
	select BLK_DEV_RAM
	select BLOCK
	select BPF_JIT
	select BPF_JIT_ALWAYS_ON if ARM64
	select BPF_SYSCALL
	select CC_STACKPROTECTOR_STRONG
	select CGROUP_BPF
	select CGROUP_CPUACCT
	select CGROUP_FREEZER
	select CGROUPS
	select CGROUP_SCHED
	select CP15_BARRIER_EMULATION if ARMV8_DEPRECATED
	select CPU_FREQ_TIMES
	select CPU_SW_DOMAIN_PAN
	select CROSS_MEMORY_ATTACH
	select CRYPTO_AES
	select CRYPTO_BLOWFISH
	select CRYPTO_CBC
	select CRYPTO_CCM
	select CRYPTO_CMAC
	select CRYPTO_ECB
	select CRYPTO_GCM
	select CRYPTO_HMAC
	select CRYPTO_MD5
	select CRYPTO_NULL
	select CRYPTO_SHA1
	select CRYPTO_SHA256
	select CRYPTO_SHA512
	select CRYPTO_XCBC
	select DEBUG_LIST
	select DEBUG_RODATA
	select DEBUG_SET_MODULE_RONX
	select DEFAULT_SECURITY_SELINUX
	select DM_SNAPSHOT
	select DM_VERITY
	select DUMMY
	select EMBEDDED
	select EPOLL
	select EVENTFD
	select EXT4_FS_POSIX_ACL if EXT4_FS
	select F2FS_FS_POSIX_ACL if F2FS_FS
	select FB
	select FILE_LOCKING
	select FS_ENCRYPTION
	select FS_VERITY
	select FS_VERITY_BUILTIN_SIGNATURES
	select FUSE_FS
	select FUTEX
	select HARDENED_USERCOPY
	select HID_GENERIC
	select HID_NINTENDO
	select HID_MULTITOUCH
	select HID_PLANTRONICS
	select HID_SONY if INPUT && HID && USB_HID && NEW_LEDS && LEDS_CLASS
	select HIGH_RES_TIMERS
	select IKCONFIG
	select IKCONFIG_PROC
	select INET
	select INET6_ESP
	select INET6_IPCOMP
	select INET6_XFRM_MODE_TRANSPORT
	select INET6_XFRM_MODE_TUNNEL
	select INET_DIAG_DESTROY
	select INET_ESP
	select INET_UDP_DIAG
	select INET_XFRM_MODE_TRANSPORT
	select INET_XFRM_MODE_TUNNEL
	select INOTIFY_USER
	select INPUT
	select INPUT_EVDEV
	select INPUT_JOYSTICK
	select IP6_NF_FILTER
	select IP6_NF_IPTABLES
	select IP6_NF_MANGLE
	select IP6_NF_MATCH_RPFILTER
	select IP6_NF_RAW
	select IP6_NF_TARGET_REJECT
	select IP_ADVANCED_ROUTER
	select IP_MULTICAST
	select IP_MULTIPLE_TABLES
	select IP_NF_ARPFILTER
	select IP_NF_ARP_MANGLE
	select IP_NF_ARPTABLES
	select IP_NF_FILTER
	select IP_NF_IPTABLES
	select IP_NF_MANGLE
	select IP_NF_MATCH_ECN
	select IP_NF_MATCH_TTL
	select IP_NF_NAT
	select IP_NF_RAW
	select IP_NF_SECURITY
	select IP_NF_TARGET_MASQUERADE
	select IP_NF_TARGET_NETMAP
	select IP_NF_TARGET_REDIRECT
	select IP_NF_TARGET_REJECT
	select IPV6
	select IPV6_MIP6
	select IPV6_MULTIPLE_TABLES
	select IPV6_OPTIMISTIC_DAD
	select IPV6_ROUTE_INFO
	select IPV6_ROUTER_PREF
	select IPV6_VTI
	select JOYSTICK_XPAD
	select L2TP
	select MAGIC_SYSRQ
	select MD
	select MEMBARRIER
	select MEMCG
	select MEMCG_SWAP
	select MMU
	select MODULES
	select MODULE_UNLOAD
	select MODVERSIONS
	select MTK_AMMS
	select MULTIUSER
	select NAMESPACES
	select NET
	select NET_CLS_ACT
	select NET_CLS_BPF
	select NET_CLS_U32
	select NETDEVICES
	select NET_EMATCH
	select NET_EMATCH_U32
	select NETFILTER
	select NETFILTER_XT_MATCH_BPF
	select NETFILTER_XT_MATCH_COMMENT
	select NETFILTER_XT_MATCH_CONNLIMIT
	select NETFILTER_XT_MATCH_CONNMARK
	select NETFILTER_XT_MATCH_CONNTRACK
	select NETFILTER_XT_MATCH_HASHLIMIT
	select NETFILTER_XT_MATCH_HELPER
	select NETFILTER_XT_MATCH_IPRANGE
	select NETFILTER_XT_MATCH_LENGTH
	select NETFILTER_XT_MATCH_LIMIT
	select NETFILTER_XT_MATCH_MAC
	select NETFILTER_XT_MATCH_MARK
	select NETFILTER_XT_MATCH_OWNER
	select NETFILTER_XT_MATCH_PKTTYPE
	select NETFILTER_XT_MATCH_POLICY
	select NETFILTER_XT_MATCH_QUOTA
	select NETFILTER_XT_MATCH_QUOTA2
	select NETFILTER_XT_MATCH_QUOTA2_LOG
	select NETFILTER_XT_MATCH_SOCKET
	select NETFILTER_XT_MATCH_STATE
	select NETFILTER_XT_MATCH_STATISTIC
	select NETFILTER_XT_MATCH_STRING
	select NETFILTER_XT_MATCH_TIME
	select NETFILTER_XT_MATCH_U32
	select NETFILTER_XT_TARGET_CLASSIFY
	select NETFILTER_XT_TARGET_CONNMARK
	select NETFILTER_XT_TARGET_CONNSECMARK
	select NETFILTER_XT_TARGET_CT
	select NETFILTER_XT_TARGET_IDLETIMER
	select NETFILTER_XT_TARGET_MARK
	select NETFILTER_XT_TARGET_NFLOG
	select NETFILTER_XT_TARGET_NFQUEUE
	select NETFILTER_XT_TARGET_SECMARK
	select NETFILTER_XT_TARGET_TCPMSS
	select NETFILTER_XT_TARGET_TPROXY
	select NETFILTER_XT_TARGET_TRACE
	select NET_IPGRE_DEMUX
	select NET_IPVTI
	select NET_KEY
	select NET_NS
	select NET_SCHED
	select NET_SCH_HTB
	select NET_SCH_INGRESS
	select NF_CONNTRACK
	select NF_CONNTRACK_AMANDA
	select NF_CONNTRACK_EVENTS
	select NF_CONNTRACK_FTP
	select NF_CONNTRACK_H323
	select NF_CONNTRACK_IPV4
	select NF_CONNTRACK_IPV6
	select NF_CONNTRACK_IRC
	select NF_CONNTRACK_NETBIOS_NS
	select NF_CONNTRACK_PPTP
	select NF_CONNTRACK_SANE
	select NF_CONNTRACK_SECMARK
	select NF_CONNTRACK_TFTP
	select NF_CT_NETLINK
	select NF_CT_PROTO_DCCP
	select NF_CT_PROTO_SCTP
	select NF_CT_PROTO_UDPLITE
	select NF_NAT
	select NF_SOCKET_IPV4
	select NF_SOCKET_IPV6
	select NO_HZ
	select PACKET
	select PM_WAKELOCKS
	select POSIX_TIMERS
	select PPP
	select PPP_BSDCOMP
	select PPP_DEFLATE
	select PPP_MPPE
	select PPPOL2TP
	select PPTP
	select PREEMPT
	select PROCESS_RECLAIM
	select PROC_FS
	select PROFILING
	select PSI
	select QFMT_V2
	select QUOTA
	select QUOTACTL
	select RTC_CLASS
	select SCHED_DEBUG
	select SECCOMP
	select SECCOMP_FILTER
	select SECURITY
	select SECURITY_NETWORK
	select SECURITY_PERF_EVENTS_RESTRICT
	select SECURITY_SELINUX
	select SETEND_EMULATION if ARMV8_DEPRECATED
	select SHMEM
	select SIGNALFD
	select SND
	select SOUND
	select STAGING
	select STATIC_USERMODEHELPER
	select STRICT_KERNEL_RWX
	select STRICT_MODULE_RWX
	select SUSPEND
	select SWP_EMULATION if ARMV8_DEPRECATED
	select SYNC_FILE
	select SYSFS
	select TASK_IO_ACCOUNTING
	select TASKSTATS
	select TASK_XACCT
	select TCP_CONG_ADVANCED
	select TCP_CONG_BIC
	select TIMERFD
	select TTY
	select TUN
	select UHID
	select UID_SYS_STATS
	select UNIX
	select UNMAP_KERNEL_AT_EL0
	select USB
	select USB_CONFIGFS
	select USB_CONFIGFS_F_ACC
	select USB_CONFIGFS_F_AUDIO_SRC
	select USB_CONFIGFS_F_FS
	select USB_CONFIGFS_F_MIDI
	select USB_CONFIGFS_UEVENT
	select USB_GADGET
	select USB_RTL8152 if NETDEVICES && USB_NET_DRIVERS
	select USB_SUPPORT
	select UTS_NS
	select VETH
	select XFRM_INTERFACE
	select XFRM_STATISTICS
	select XFRM_SUB_POLICY
	select XFRM_USER
	help
	  Select the android base and recommended config by default
	  to avoid missing basic or common setting
	  Say Y here if the project is for android product
	  If unsure, say N

config MTK_ANDROID_DEFAULT_SETTING
	bool "Select MTK android common setting by default"
	select HW_RANDOM
	select HW_RANDOM_MT67XX
	select MTK_AEE_AED
	select MTK_AEE_IPANIC if MTK_RAM_CONSOLE
	select MTK_MIX_DEVICES
	select NETFILTER_XT_MATCH_ESP
	select PGTABLE_MAPPING if ZSMALLOC && (ARM || ARM64)
	select PSI
	select SPECULATIVE_PAGE_FAULT if (ARCH_SUPPORTS_SPECULATIVE_PAGE_FAULT && ARCH_HAS_PTE_SPECIAL && MMU && SMP)
	help
	  Select the MTK android config by default
	  to avoid missing basic or common setting
	  Say Y here if the project is for android product
	  If unsure, say N

