aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2011-01-17 11:20:49 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2011-03-21 19:31:47 -0400
commit8112248a1b66440f6c562c2669aba6950ef48199 (patch)
tree28385b1a662af1e7793e932cb51c31821087fbd7
parent4862d6b2e23f0573ef60c784341e05e1ac0804eb (diff)
[media] Move CI cxd2099 driver to staging
This driver is abusing the kernel<=>userspace API, due to the lack of a proper solution for it. A discussion were done at: http://www.mail-archive.com/linux-media@vger.kernel.org/msg22196.html But there's not a solution for it yet. So, move the driver to staging, while we don't have a final solution. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r--drivers/media/dvb/ngene/Makefile5
-rw-r--r--drivers/staging/Kconfig2
-rw-r--r--drivers/staging/Makefile1
-rw-r--r--drivers/staging/cxd2099/Kconfig11
-rw-r--r--drivers/staging/cxd2099/Makefile5
-rw-r--r--drivers/staging/cxd2099/TODO12
-rw-r--r--drivers/staging/cxd2099/cxd2099.c (renamed from drivers/media/dvb/ngene/cxd2099.c)0
-rw-r--r--drivers/staging/cxd2099/cxd2099.h (renamed from drivers/media/dvb/ngene/cxd2099.h)9
8 files changed, 44 insertions, 1 deletions
diff --git a/drivers/media/dvb/ngene/Makefile b/drivers/media/dvb/ngene/Makefile
index 00d12d6c4618..2bc96874d044 100644
--- a/drivers/media/dvb/ngene/Makefile
+++ b/drivers/media/dvb/ngene/Makefile
@@ -2,10 +2,13 @@
2# Makefile for the nGene device driver 2# Makefile for the nGene device driver
3# 3#
4 4
5ngene-objs := ngene-core.o ngene-i2c.o ngene-cards.o ngene-dvb.o cxd2099.o 5ngene-objs := ngene-core.o ngene-i2c.o ngene-cards.o ngene-dvb.o
6 6
7obj-$(CONFIG_DVB_NGENE) += ngene.o 7obj-$(CONFIG_DVB_NGENE) += ngene.o
8 8
9EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core/ 9EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core/
10EXTRA_CFLAGS += -Idrivers/media/dvb/frontends/ 10EXTRA_CFLAGS += -Idrivers/media/dvb/frontends/
11EXTRA_CFLAGS += -Idrivers/media/common/tuners/ 11EXTRA_CFLAGS += -Idrivers/media/common/tuners/
12
13# For the staging CI driver cxd2099
14EXTRA_CFLAGS += -Idrivers/staging/cxd2099/
diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
index 5c8fcfc42c3e..4a88e69bb9bb 100644
--- a/drivers/staging/Kconfig
+++ b/drivers/staging/Kconfig
@@ -51,6 +51,8 @@ source "drivers/staging/cx25821/Kconfig"
51 51
52source "drivers/staging/tm6000/Kconfig" 52source "drivers/staging/tm6000/Kconfig"
53 53
54source "drivers/staging/cxd2099/Kconfig"
55
54source "drivers/staging/dabusb/Kconfig" 56source "drivers/staging/dabusb/Kconfig"
55 57
56source "drivers/staging/se401/Kconfig" 58source "drivers/staging/se401/Kconfig"
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
index d53886317826..80ee49ab59de 100644
--- a/drivers/staging/Makefile
+++ b/drivers/staging/Makefile
@@ -8,6 +8,7 @@ obj-$(CONFIG_SLICOSS) += slicoss/
8obj-$(CONFIG_VIDEO_GO7007) += go7007/ 8obj-$(CONFIG_VIDEO_GO7007) += go7007/
9obj-$(CONFIG_VIDEO_CX25821) += cx25821/ 9obj-$(CONFIG_VIDEO_CX25821) += cx25821/
10obj-$(CONFIG_VIDEO_TM6000) += tm6000/ 10obj-$(CONFIG_VIDEO_TM6000) += tm6000/
11obj-$(CONFIG_DVB_CXD2099) += cxd2099/
11obj-$(CONFIG_USB_DABUSB) += dabusb/ 12obj-$(CONFIG_USB_DABUSB) += dabusb/
12obj-$(CONFIG_USB_VICAM) += usbvideo/ 13obj-$(CONFIG_USB_VICAM) += usbvideo/
13obj-$(CONFIG_USB_SE401) += se401/ 14obj-$(CONFIG_USB_SE401) += se401/
diff --git a/drivers/staging/cxd2099/Kconfig b/drivers/staging/cxd2099/Kconfig
new file mode 100644
index 000000000000..9d638c30735d
--- /dev/null
+++ b/drivers/staging/cxd2099/Kconfig
@@ -0,0 +1,11 @@
1config DVB_CXD2099
2 tristate "CXD2099AR Common Interface driver"
3 depends on DVB_CORE && PCI && I2C && DVB_NGENE
4 ---help---
5 Support for the CI module found on cineS2 DVB-S2, supported by
6 the Micronas PCIe device driver (ngene).
7
8 For now, data is passed through '/dev/dvb/adapterX/sec0':
9 - Encrypted data must be written to 'sec0'.
10 - Decrypted data can be read from 'sec0'.
11 - Setup the CAM using device 'ca0'.
diff --git a/drivers/staging/cxd2099/Makefile b/drivers/staging/cxd2099/Makefile
new file mode 100644
index 000000000000..72b14558c119
--- /dev/null
+++ b/drivers/staging/cxd2099/Makefile
@@ -0,0 +1,5 @@
1obj-$(CONFIG_DVB_CXD2099) += cxd2099.o
2
3EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core/
4EXTRA_CFLAGS += -Idrivers/media/dvb/frontends/
5EXTRA_CFLAGS += -Idrivers/media/common/tuners/
diff --git a/drivers/staging/cxd2099/TODO b/drivers/staging/cxd2099/TODO
new file mode 100644
index 000000000000..375bb6f8ee2c
--- /dev/null
+++ b/drivers/staging/cxd2099/TODO
@@ -0,0 +1,12 @@
1For now, data is passed through '/dev/dvb/adapterX/sec0':
2 - Encrypted data must be written to 'sec0'.
3 - Decrypted data can be read from 'sec0'.
4 - Setup the CAM using device 'ca0'.
5
6But this is wrong. There are some discussions about the proper way for
7doing it, as seen at:
8 http://www.mail-archive.com/linux-media@vger.kernel.org/msg22196.html
9
10While there's no proper fix for it, the driver should be kept in staging.
11
12Patches should be submitted to: linux-media@vger.kernel.org.
diff --git a/drivers/media/dvb/ngene/cxd2099.c b/drivers/staging/cxd2099/cxd2099.c
index b49186c74eb3..b49186c74eb3 100644
--- a/drivers/media/dvb/ngene/cxd2099.c
+++ b/drivers/staging/cxd2099/cxd2099.c
diff --git a/drivers/media/dvb/ngene/cxd2099.h b/drivers/staging/cxd2099/cxd2099.h
index f71b807e8bb7..a313dc26b962 100644
--- a/drivers/media/dvb/ngene/cxd2099.h
+++ b/drivers/staging/cxd2099/cxd2099.h
@@ -27,6 +27,15 @@
27 27
28#include <dvb_ca_en50221.h> 28#include <dvb_ca_en50221.h>
29 29
30#if defined(CONFIG_DVB_CXD2099) || \
31 (defined(CONFIG_DVB_CXD2099_MODULE) && defined(MODULE))
30struct dvb_ca_en50221 *cxd2099_attach(u8 adr, void *priv, struct i2c_adapter *i2c); 32struct dvb_ca_en50221 *cxd2099_attach(u8 adr, void *priv, struct i2c_adapter *i2c);
33#else
34struct dvb_ca_en50221 *cxd2099_attach(u8 adr, void *priv, struct i2c_adapter *i2c)
35{
36 printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__);
37 return NULL;
38}
39#endif
31 40
32#endif 41#endif