On Monday 17 January 2011 17:31:15 Mauro Carvalho Chehab wrote:
> Em 10-01-2011 15:20, Oliver Endriss escreveu:
> > On Monday 10 January 2011 15:05:34 Andreas Oberritter wrote:
> >> On 01/10/2011 10:36 AM, Oliver Endriss wrote:
> >>> From: Ralph Metzler <r...@metzlerbros.de>
> >>>
> >>> Driver for the Common Interface Controller CXD2099AR.
> >>> Supports the CI of the cineS2 DVB-S2.
> >>>
> >>> 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'.
> >>
> >> Nack. In DVB API terms, "sec" stands for satellite equipment control,
> >> and if I remember correctly, sec0 already existed in the first versions
> >> of the API and that's why its leftovers can be abused by this driver.
> >>
> >> The interfaces for writing data are dvr0 and demux0. If they don't fit
> >> for decryption of recorded data, then they should be extended.
> >>
> >> For decryption of live data, no new user interface needs to be created.
> > 
> > There was an attempt to find a solution for the problem in thread
> > http://www.mail-archive.com/linux-media@vger.kernel.org/msg22196.html
> > 
> > As that discussion did not come to a final solution, and the driver is
> > still experimental, I left the original patch 'as is'.
> 
> Drivers that don't use the proper API should be moved to staging. Just making
> them as experimental is not good enough. As this is the only issue with
> this patch series, I'll be applying them and moving cxd2099 driver to staging
> while we don't have a proper fix for it.

Ok.

> +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

If staging drivers are disabled, compilation will fail with
"multiple definition of `cxd2099_attach'".

The helper function must be declared as 'static inline'.

Please apply this fix:

diff --git a/drivers/staging/cxd2099/cxd2099.h 
b/drivers/staging/cxd2099/cxd2099.h
index a313dc2..bed54ff 100644
--- a/drivers/staging/cxd2099/cxd2099.h
+++ b/drivers/staging/cxd2099/cxd2099.h
@@ -31,7 +31,7 @@
         (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)
+static inline 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;


-- 
----------------------------------------------------------------
VDR Remote Plugin 0.4.0: http://www.escape-edv.de/endriss/vdr/
4 MByte Mod: http://www.escape-edv.de/endriss/dvb-mem-mod/
Full-TS Mod: http://www.escape-edv.de/endriss/dvb-full-ts-mod/
----------------------------------------------------------------
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to