#
# (C) COPYRIGHT 2018 ARM Limited. All rights reserved.
#
# This program is free software and is provided to you under the terms of the
# GNU General Public License version 2 as published by the Free Software
# Foundation, and any use by you of this program is subject to the terms
# of such GNU licence.
#
# A copy of the licence is included with the program, and can also be obtained
# from Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA  02110-1301, USA.
#

config UNIT_TEST_KERNEL_MODULES
	bool
	default y if UNIT_TEST_CODE && BUILD_KERNEL_MODULES
	default n

config BUILD_IPA_TESTS
	bool
	default y if UNIT_TEST_KERNEL_MODULES && MALI_DEVFREQ
	default n

config BUILD_IPA_UNIT_TESTS
	bool
	default y if NO_MALI && BUILD_IPA_TESTS
	default n

config BUILD_CSF_TESTS
	bool
	default y if UNIT_TEST_KERNEL_MODULES && GPU_HAS_CSF
	default n
