diff options
author | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-01-17 11:20:49 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2011-03-21 19:31:47 -0400 |
commit | 8112248a1b66440f6c562c2669aba6950ef48199 (patch) | |
tree | 28385b1a662af1e7793e932cb51c31821087fbd7 | |
parent | 4862d6b2e23f0573ef60c784341e05e1ac0804eb (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/Makefile | 5 | ||||
-rw-r--r-- | drivers/staging/Kconfig | 2 | ||||
-rw-r--r-- | drivers/staging/Makefile | 1 | ||||
-rw-r--r-- | drivers/staging/cxd2099/Kconfig | 11 | ||||
-rw-r--r-- | drivers/staging/cxd2099/Makefile | 5 | ||||
-rw-r--r-- | drivers/staging/cxd2099/TODO | 12 | ||||
-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 | ||
5 | ngene-objs := ngene-core.o ngene-i2c.o ngene-cards.o ngene-dvb.o cxd2099.o | 5 | ngene-objs := ngene-core.o ngene-i2c.o ngene-cards.o ngene-dvb.o |
6 | 6 | ||
7 | obj-$(CONFIG_DVB_NGENE) += ngene.o | 7 | obj-$(CONFIG_DVB_NGENE) += ngene.o |
8 | 8 | ||
9 | EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core/ | 9 | EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core/ |
10 | EXTRA_CFLAGS += -Idrivers/media/dvb/frontends/ | 10 | EXTRA_CFLAGS += -Idrivers/media/dvb/frontends/ |
11 | EXTRA_CFLAGS += -Idrivers/media/common/tuners/ | 11 | EXTRA_CFLAGS += -Idrivers/media/common/tuners/ |
12 | |||
13 | # For the staging CI driver cxd2099 | ||
14 | EXTRA_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 | ||
52 | source "drivers/staging/tm6000/Kconfig" | 52 | source "drivers/staging/tm6000/Kconfig" |
53 | 53 | ||
54 | source "drivers/staging/cxd2099/Kconfig" | ||
55 | |||
54 | source "drivers/staging/dabusb/Kconfig" | 56 | source "drivers/staging/dabusb/Kconfig" |
55 | 57 | ||
56 | source "drivers/staging/se401/Kconfig" | 58 | source "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/ | |||
8 | obj-$(CONFIG_VIDEO_GO7007) += go7007/ | 8 | obj-$(CONFIG_VIDEO_GO7007) += go7007/ |
9 | obj-$(CONFIG_VIDEO_CX25821) += cx25821/ | 9 | obj-$(CONFIG_VIDEO_CX25821) += cx25821/ |
10 | obj-$(CONFIG_VIDEO_TM6000) += tm6000/ | 10 | obj-$(CONFIG_VIDEO_TM6000) += tm6000/ |
11 | obj-$(CONFIG_DVB_CXD2099) += cxd2099/ | ||
11 | obj-$(CONFIG_USB_DABUSB) += dabusb/ | 12 | obj-$(CONFIG_USB_DABUSB) += dabusb/ |
12 | obj-$(CONFIG_USB_VICAM) += usbvideo/ | 13 | obj-$(CONFIG_USB_VICAM) += usbvideo/ |
13 | obj-$(CONFIG_USB_SE401) += se401/ | 14 | obj-$(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 @@ | |||
1 | config 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 @@ | |||
1 | obj-$(CONFIG_DVB_CXD2099) += cxd2099.o | ||
2 | |||
3 | EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core/ | ||
4 | EXTRA_CFLAGS += -Idrivers/media/dvb/frontends/ | ||
5 | EXTRA_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 @@ | |||
1 | For 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 | |||
6 | But this is wrong. There are some discussions about the proper way for | ||
7 | doing it, as seen at: | ||
8 | http://www.mail-archive.com/linux-media@vger.kernel.org/msg22196.html | ||
9 | |||
10 | While there's no proper fix for it, the driver should be kept in staging. | ||
11 | |||
12 | Patches 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)) | ||
30 | struct dvb_ca_en50221 *cxd2099_attach(u8 adr, void *priv, struct i2c_adapter *i2c); | 32 | struct dvb_ca_en50221 *cxd2099_attach(u8 adr, void *priv, struct i2c_adapter *i2c); |
33 | #else | ||
34 | struct 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 |