From 0e9c8d137d83f5d5d5a3600d2e427c34d9df8efe Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Mon, 17 Jan 2011 14:20:49 -0200 Subject: [PATCH] --- yaml --- r: 241812 b: refs/heads/master c: 8112248a1b66440f6c562c2669aba6950ef48199 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/dvb/ngene/Makefile | 5 ++++- trunk/drivers/staging/Kconfig | 2 ++ trunk/drivers/staging/Makefile | 1 + trunk/drivers/staging/cxd2099/Kconfig | 11 +++++++++++ trunk/drivers/staging/cxd2099/Makefile | 5 +++++ trunk/drivers/staging/cxd2099/TODO | 12 ++++++++++++ .../{media/dvb/ngene => staging/cxd2099}/cxd2099.c | 0 .../{media/dvb/ngene => staging/cxd2099}/cxd2099.h | 9 +++++++++ 9 files changed, 45 insertions(+), 2 deletions(-) create mode 100644 trunk/drivers/staging/cxd2099/Kconfig create mode 100644 trunk/drivers/staging/cxd2099/Makefile create mode 100644 trunk/drivers/staging/cxd2099/TODO rename trunk/drivers/{media/dvb/ngene => staging/cxd2099}/cxd2099.c (100%) rename trunk/drivers/{media/dvb/ngene => staging/cxd2099}/cxd2099.h (78%) diff --git a/[refs] b/[refs] index 7359af8b8ed5..eaaef85bd5c1 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4862d6b2e23f0573ef60c784341e05e1ac0804eb +refs/heads/master: 8112248a1b66440f6c562c2669aba6950ef48199 diff --git a/trunk/drivers/media/dvb/ngene/Makefile b/trunk/drivers/media/dvb/ngene/Makefile index 00d12d6c4618..2bc96874d044 100644 --- a/trunk/drivers/media/dvb/ngene/Makefile +++ b/trunk/drivers/media/dvb/ngene/Makefile @@ -2,10 +2,13 @@ # Makefile for the nGene device driver # -ngene-objs := ngene-core.o ngene-i2c.o ngene-cards.o ngene-dvb.o cxd2099.o +ngene-objs := ngene-core.o ngene-i2c.o ngene-cards.o ngene-dvb.o obj-$(CONFIG_DVB_NGENE) += ngene.o EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core/ EXTRA_CFLAGS += -Idrivers/media/dvb/frontends/ EXTRA_CFLAGS += -Idrivers/media/common/tuners/ + +# For the staging CI driver cxd2099 +EXTRA_CFLAGS += -Idrivers/staging/cxd2099/ diff --git a/trunk/drivers/staging/Kconfig b/trunk/drivers/staging/Kconfig index 5c8fcfc42c3e..4a88e69bb9bb 100644 --- a/trunk/drivers/staging/Kconfig +++ b/trunk/drivers/staging/Kconfig @@ -51,6 +51,8 @@ source "drivers/staging/cx25821/Kconfig" source "drivers/staging/tm6000/Kconfig" +source "drivers/staging/cxd2099/Kconfig" + source "drivers/staging/dabusb/Kconfig" source "drivers/staging/se401/Kconfig" diff --git a/trunk/drivers/staging/Makefile b/trunk/drivers/staging/Makefile index d53886317826..80ee49ab59de 100644 --- a/trunk/drivers/staging/Makefile +++ b/trunk/drivers/staging/Makefile @@ -8,6 +8,7 @@ obj-$(CONFIG_SLICOSS) += slicoss/ obj-$(CONFIG_VIDEO_GO7007) += go7007/ obj-$(CONFIG_VIDEO_CX25821) += cx25821/ obj-$(CONFIG_VIDEO_TM6000) += tm6000/ +obj-$(CONFIG_DVB_CXD2099) += cxd2099/ obj-$(CONFIG_USB_DABUSB) += dabusb/ obj-$(CONFIG_USB_VICAM) += usbvideo/ obj-$(CONFIG_USB_SE401) += se401/ diff --git a/trunk/drivers/staging/cxd2099/Kconfig b/trunk/drivers/staging/cxd2099/Kconfig new file mode 100644 index 000000000000..9d638c30735d --- /dev/null +++ b/trunk/drivers/staging/cxd2099/Kconfig @@ -0,0 +1,11 @@ +config DVB_CXD2099 + tristate "CXD2099AR Common Interface driver" + depends on DVB_CORE && PCI && I2C && DVB_NGENE + ---help--- + Support for the CI module found on cineS2 DVB-S2, supported by + the Micronas PCIe device driver (ngene). + + 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'. diff --git a/trunk/drivers/staging/cxd2099/Makefile b/trunk/drivers/staging/cxd2099/Makefile new file mode 100644 index 000000000000..72b14558c119 --- /dev/null +++ b/trunk/drivers/staging/cxd2099/Makefile @@ -0,0 +1,5 @@ +obj-$(CONFIG_DVB_CXD2099) += cxd2099.o + +EXTRA_CFLAGS += -Idrivers/media/dvb/dvb-core/ +EXTRA_CFLAGS += -Idrivers/media/dvb/frontends/ +EXTRA_CFLAGS += -Idrivers/media/common/tuners/ diff --git a/trunk/drivers/staging/cxd2099/TODO b/trunk/drivers/staging/cxd2099/TODO new file mode 100644 index 000000000000..375bb6f8ee2c --- /dev/null +++ b/trunk/drivers/staging/cxd2099/TODO @@ -0,0 +1,12 @@ +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. diff --git a/trunk/drivers/media/dvb/ngene/cxd2099.c b/trunk/drivers/staging/cxd2099/cxd2099.c similarity index 100% rename from trunk/drivers/media/dvb/ngene/cxd2099.c rename to trunk/drivers/staging/cxd2099/cxd2099.c diff --git a/trunk/drivers/media/dvb/ngene/cxd2099.h b/trunk/drivers/staging/cxd2099/cxd2099.h similarity index 78% rename from trunk/drivers/media/dvb/ngene/cxd2099.h rename to trunk/drivers/staging/cxd2099/cxd2099.h index f71b807e8bb7..a313dc26b962 100644 --- a/trunk/drivers/media/dvb/ngene/cxd2099.h +++ b/trunk/drivers/staging/cxd2099/cxd2099.h @@ -27,6 +27,15 @@ #include +#if defined(CONFIG_DVB_CXD2099) || \ + (defined(CONFIG_DVB_CXD2099_MODULE) && defined(MODULE)) struct dvb_ca_en50221 *cxd2099_attach(u8 adr, void *priv, struct i2c_adapter *i2c); +#else +struct dvb_ca_en50221 *cxd2099_attach(u8 adr, void *priv, struct i2c_adapter *i2c) +{ + printk(KERN_WARNING "%s: driver disabled by Kconfig\n", __func__); + return NULL; +} +#endif #endif