# SPDX-License-Identifier: GPL-2.0-only
config MANTIS_CORE
	tristate "Mantis/Hopper PCI bridge based devices"
	depends on PCI && I2C && INPUT && RC_CORE

	help
	  Support for PCI cards based on the Mantis and Hopper PCi bridge.

	  Say Y if you own such a device and want to use it.

config DVB_MANTIS
	tristate "MANTIS based cards"
	depends on MANTIS_CORE && DVB_CORE && PCI && I2C
	select DVB_MB86A16 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STV0299 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_LNBP21 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STB0899 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_STB6100 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA665x if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10021 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_TDA10023 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_PLL
	help
	  Support for PCI cards based on the Mantis PCI bridge.
	  Say Y when you have a Mantis based DVB card and want to use it.

	  If unsure say N.

config DVB_HOPPER
	tristate "HOPPER based cards"
	depends on MANTIS_CORE && DVB_CORE && PCI && I2C
	select DVB_ZL10353 if MEDIA_SUBDRV_AUTOSELECT
	select DVB_PLL
	help
	  Support for PCI cards based on the Hopper  PCI bridge.
	  Say Y when you have a Hopper based DVB card and want to use it.

	  If unsure say N
