# SPDX-License-Identifier: GPL-2.0-only

menuconfig POWER_SEQUENCING
	tristate "Power Sequencing support"
	help
	  Say Y here to enable the Power Sequencing subsystem.

	  This subsystem is designed to control power to devices that share
	  complex resources and/or require specific power sequences to be run
	  during power-up.

	  If unsure, say no.

if POWER_SEQUENCING

config POWER_SEQUENCING_QCOM_WCN
	tristate "Qualcomm WCN family PMU driver"
	default m if ARCH_QCOM
	help
	  Say Y here to enable the power sequencing driver for Qualcomm
	  WCN Bluetooth/WLAN chipsets.

	  Typically, a package from the Qualcomm WCN family contains the BT
	  and WLAN modules whose power is controlled by the PMU module. As the
	  former two share the power-up sequence which is executed by the PMU,
	  this driver is needed for correct power control or else we'd risk not
	  respecting the required delays between enabling Bluetooth and WLAN.

endif
