menuconfig RTL_CARDS
	tristate "Realtek rtlwifi family of devices"
	depends on m
	depends on MAC80211 && (PCI || USB)
	default y
	---help---
	  This option will enable support for the Realtek mac80211-based
	  wireless drivers. Drivers rtl8192ce, rtl8192cu, rtl8192se, rtl8192de,
	  rtl8723ae, rtl8723be, rtl8188ee, rtl8192ee, and rtl8821ae share
	  some common code.

if RTL_CARDS

config RTL8192CE
	tristate "Realtek RTL8192CE/RTL8188CE Wireless Network Adapter"
	depends on m
	depends on PCI
	select RTL8192C_COMMON
	select RTLWIFI
	select RTLWIFI_PCI
	---help---
	This is the driver for Realtek RTL8192CE/RTL8188CE 802.11n PCIe
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8192ce

config RTL8192SE
	tristate "Realtek RTL8192SE/RTL8191SE PCIe Wireless Network Adapter"
	depends on m
	depends on PCI
	select RTLWIFI
	select RTLWIFI_PCI
	---help---
	This is the driver for Realtek RTL8192SE/RTL8191SE 802.11n PCIe
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8192se

config RTL8192DE
	tristate "Realtek RTL8192DE/RTL8188DE PCIe Wireless Network Adapter"
	depends on m
	depends on PCI
	select RTLWIFI
	select RTLWIFI_PCI
	---help---
	This is the driver for Realtek RTL8192DE/RTL8188DE 802.11n PCIe
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8192de

config RTL8723AE
	tristate "Realtek RTL8723AE PCIe Wireless Network Adapter"
	depends on m
	depends on PCI
	select RTLWIFI
	select RTLWIFI_PCI
	select RTL8723_COMMON
	select RTLBTCOEXIST
	---help---
	This is the driver for Realtek RTL8723AE 802.11n PCIe
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8723ae

config RTL8723BE
	tristate "Realtek RTL8723BE PCIe Wireless Network Adapter"
	depends on m
	depends on PCI
	select RTLWIFI
	select RTLWIFI_PCI
	select RTL8723_COMMON
	select RTLBTCOEXIST
	---help---
	This is the driver for Realtek RTL8723BE 802.11n PCIe
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8723be

config RTL8188EE
	tristate "Realtek RTL8188EE Wireless Network Adapter"
	depends on m
	depends on PCI
	select RTLWIFI
	select RTLWIFI_PCI
	---help---
	This is the driver for Realtek RTL8188EE 802.11n PCIe
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8188ee

config RTL8192EE
	tristate "Realtek RTL8192EE Wireless Network Adapter"
	depends on m
	depends on PCI
	select RTLWIFI
	select RTLWIFI_PCI
	select RTLBTCOEXIST
	---help---
	This is the driver for Realtek RTL8192EE 802.11n PCIe
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8192ee

config RTL8821AE
	tristate "Realtek RTL8821AE/RTL8812AE Wireless Network Adapter"
	depends on m
	depends on PCI
	select RTLWIFI
	select RTLWIFI_PCI
	select RTLBTCOEXIST
	---help---
	This is the driver for Realtek RTL8i821AE/RTL8812AE 802.11av PCIe
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8821ae

config RTL8192CU
	tristate "Realtek RTL8192CU/RTL8188CU USB Wireless Network Adapter"
	depends on m
	depends on USB
	select RTLWIFI
	select RTLWIFI_USB
	select RTL8192C_COMMON
	---help---
	This is the driver for Realtek RTL8192CU/RTL8188CU 802.11n USB
	wireless network adapters.

	If you choose to build it as a module, it will be called rtl8192cu

config RTLWIFI
	tristate
	depends on m
	depends on FW_LOADER

config RTLWIFI_PCI
	tristate
	depends on m

config RTLWIFI_USB
	tristate
	depends on m

config RTLWIFI_DEBUG
	bool "Debugging output for rtlwifi driver family"
	depends on RTLWIFI
	default y
	---help---
	To use the module option that sets the dynamic-debugging level for,
	the front-end driver, this parameter must be "Y". For memory-limited
	systems, choose "N". If in doubt, choose "Y".

config RTL8192C_COMMON
	tristate
	depends on m
	depends on RTL8192CE || RTL8192CU
	default y

config RTL8723_COMMON
	tristate
	depends on m
	depends on RTL8723AE || RTL8723BE
	default y

config RTLBTCOEXIST
	tristate
	depends on m
	depends on RTL8723AE || RTL8723BE || RTL8821AE || RTL8192EE
	default y

endif
