#
# Copyright 2015 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

CONFIG_SERIAL_MSM_HS=y
CONFIG_SERIAL_MSM_HSL=y
CONFIG_SERIAL_MSM_HSL_CONSOLE=y

CONFIG_PRONTO_WLAN=y

# Disable unused test modules (no module support).
# CONFIG_IOSCHED_TEST is not set
# CONFIG_MSM_DMA_TEST is not set
# CONFIG_MMC_TEST is not set
# CONFIG_MMC_BLOCK_TEST is not set

# Disable unused drivers (no module support).
# CONFIG_INPUT_EVBUG is not set
# CONFIG_INPUT_GPIO is not set
# CONFIG_RADIO_IRIS is not set
# CONFIG_MOBICORE_SUPPORT is not set
# CONFIG_MSM_BUSPM_DEV is not set
# CONFIG_CRYPTO_ANSI_CPRNG is not set
CONFIG_LEDS_TRIGGER_TIMER=y
