help
          Say Y when you want to support this frontend.
 
+comment "Common Interface (EN50221) controller drivers"
+       depends on DVB_CORE
+
+config DVB_CXD2099
+       tristate "CXD2099AR Common Interface driver"
+       depends on DVB_CORE && I2C
+       ---help---
+         A driver for the CI controller currently found mostly on
+         Digital Devices DuoFlex CI (single) addon modules.
+
+         Say Y when you want to support these devices.
+
 comment "Tools to develop new frontends"
 
 config DVB_DUMMY_FE
 
 obj-$(CONFIG_DVB_ASCOT2E) += ascot2e.o
 obj-$(CONFIG_DVB_HELENE) += helene.o
 obj-$(CONFIG_DVB_ZD1301_DEMOD) += zd1301_demod.o
+obj-$(CONFIG_DVB_CXD2099) += cxd2099.o
 
        select DVB_LNBH25 if MEDIA_SUBDRV_AUTOSELECT
        select MEDIA_TUNER_TDA18212 if MEDIA_SUBDRV_AUTOSELECT
        select DVB_MXL5XX if MEDIA_SUBDRV_AUTOSELECT
+       select DVB_CXD2099 if MEDIA_SUBDRV_AUTOSELECT
        ---help---
          Support for cards with the Digital Devices PCI express bridge:
          - Octopus PCIe Bridge
 
 
 ccflags-y += -Idrivers/media/dvb-frontends/
 ccflags-y += -Idrivers/media/tuners/
-
-# For the staging CI driver cxd2099
-ccflags-y += -Idrivers/staging/media/cxd2099/
 
        select DVB_DRXK if MEDIA_SUBDRV_AUTOSELECT
        select DVB_TDA18271C2DD if MEDIA_SUBDRV_AUTOSELECT
        select MEDIA_TUNER_MT2131 if MEDIA_SUBDRV_AUTOSELECT
+       select DVB_CXD2099 if MEDIA_SUBDRV_AUTOSELECT
        ---help---
          Support for Micronas PCI express cards with nGene bridge.
 
 
 
 ccflags-y += -Idrivers/media/dvb-frontends/
 ccflags-y += -Idrivers/media/tuners/
-
-# For the staging CI driver cxd2099
-ccflags-y += -Idrivers/staging/media/cxd2099/
 
 
 source "drivers/staging/media/bcm2048/Kconfig"
 
-source "drivers/staging/media/cxd2099/Kconfig"
-
 source "drivers/staging/media/davinci_vpfe/Kconfig"
 
 source "drivers/staging/media/imx/Kconfig"
 
 # SPDX-License-Identifier: GPL-2.0
 obj-$(CONFIG_I2C_BCM2048)      += bcm2048/
-obj-$(CONFIG_DVB_CXD2099)      += cxd2099/
 obj-$(CONFIG_VIDEO_IMX_MEDIA)  += imx/
 obj-$(CONFIG_SOC_CAMERA_IMX074)        += imx074/
 obj-$(CONFIG_SOC_CAMERA_MT9T031)       += mt9t031/
 
+++ /dev/null
-config DVB_CXD2099
-       tristate "CXD2099AR Common Interface driver"
-       depends on DVB_CORE && PCI && I2C
-       ---help---
-         Support for the CI module found on cards based on
-         - Micronas ngene PCIe bridge: cineS2 etc.
-         - Digital Devices PCIe bridge: Octopus series
-
-         For now, data is passed through '/dev/dvb/adapterX/sec0':
-           - Encrypted data must be written to 'sec0'.
-           - Decrypted data can be read from 'sec0'.
-           - Setup the CAM using device 'ca0'.
 
+++ /dev/null
-obj-$(CONFIG_DVB_CXD2099) += cxd2099.o
-
-ccflags-y += -Idrivers/media/dvb-frontends/
-ccflags-y += -Idrivers/media/tuners/
 
+++ /dev/null
-For now, data is passed through '/dev/dvb/adapterX/sec0':
- - Encrypted data must be written to 'sec0'.
- - Decrypted data can be read from 'sec0'.
- - Setup the CAM using device 'ca0'.
-
-But this is wrong. There are some discussions about the proper way for
-doing it, as seen at:
-       http://www.mail-archive.com/linux-media@vger.kernel.org/msg22196.html
-
-While there's no proper fix for it, the driver should be kept in staging.
-
-Patches should be submitted to: linux-media@vger.kernel.org.