Terratec Cinergy C PCI HD (CI)

Message ID 1543153.gDfgtO0cjd@useri (mailing list archive)
State Accepted, archived
Headers

Commit Message

Igor M. Liplianin May 9, 2012, 11:23 a.m. UTC
  This patch seems for rectifying a typo. But actually the difference between
mantis_vp2040.c and mantis_vp2033.c code is a card name only.

Signed-off-by: Igor M. Liplianin <liplianin@me.by>
  

Comments

Bjørn Mork May 9, 2012, 6:57 p.m. UTC | #1
"Igor M. Liplianin" <liplianin@me.by> writes:

> This patch seems for rectifying a typo. But actually the difference between
> mantis_vp2040.c and mantis_vp2033.c code is a card name only.

Yes, there are major code duplication issues in this driver.

> Signed-off-by: Igor M. Liplianin <liplianin@me.by>
> diff -r 990a92e2410f linux/drivers/media/dvb/mantis/mantis_cards.c
> --- a/linux/drivers/media/dvb/mantis/mantis_cards.c	Wed May 09 01:37:05 2012 +0300
> +++ b/linux/drivers/media/dvb/mantis/mantis_cards.c	Wed May 09 14:04:31 2012 +0300
> @@ -276,7 +276,7 @@
>  	MAKE_ENTRY(TWINHAN_TECHNOLOGIES, MANTIS_VP_2033_DVB_C, &vp2033_config),
>  	MAKE_ENTRY(TWINHAN_TECHNOLOGIES, MANTIS_VP_2040_DVB_C, &vp2040_config),
>  	MAKE_ENTRY(TECHNISAT, CABLESTAR_HD2, &vp2040_config),
> -	MAKE_ENTRY(TERRATEC, CINERGY_C, &vp2033_config),
> +	MAKE_ENTRY(TERRATEC, CINERGY_C, &vp2040_config),
>  	MAKE_ENTRY(TWINHAN_TECHNOLOGIES, MANTIS_VP_3030_DVB_T, &vp3030_config),
>  	{ }
>  };

What's the point? It's a constructed difference.  Makes more sense to
refactor and merge all the duplicated code instead of maintaining this
meaningless code split.

> diff -r 990a92e2410f linux/drivers/media/dvb/mantis/mantis_core.c
> --- a/linux/drivers/media/dvb/mantis/mantis_core.c	Wed May 09 01:37:05 2012 +0300
> +++ b/linux/drivers/media/dvb/mantis/mantis_core.c	Wed May 09 14:04:31 2012 +0300
> @@ -121,7 +121,7 @@
>  		mantis->hwconfig = &vp2033_mantis_config;
>  		break;
>  	case MANTIS_VP_2040_DVB_C:	/* VP-2040 */
> -	case TERRATEC_CINERGY_C_PCI:	/* VP-2040 clone */
> +	case CINERGY_C:	/* VP-2040 clone */
>  	case TECHNISAT_CABLESTAR_HD2:
>  		mantis->hwconfig = &vp2040_mantis_config;
>  		break;


And this file should never have been merged into the mainline kernel at
all.  If you wonder how a bug like that could survive without being
noticed, then the explanation is simple:  This code has never been built
as part of the driver in the mainline kernel.

I tried submitting a cleanup patch to have it removed a long time ago:
http://patchwork.linuxtv.org/patch/3680/
but it doesn't seem to have gone anywhere, like most of the patches for
this driver -  silently ignored until everyone forgets it and moves on.

The code could certainly benefit from a major cleanup, but I don't see
how that would ever happen.  It sort of works.  Better leave it there
and spend valuable time elsewhere.



Bjørn
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
Igor M. Liplianin May 10, 2012, 3:23 p.m. UTC | #2
On 9 ??? 2012 20:57:49 Bjørn Mork wrote:
> "Igor M. Liplianin" <liplianin@me.by> writes:
> > This patch seems for rectifying a typo. But actually the difference
> > between
> > mantis_vp2040.c and mantis_vp2033.c code is a card name only.
> 
> Yes, there are major code duplication issues in this driver.
> 
> > Signed-off-by: Igor M. Liplianin <liplianin@me.by>
> > diff -r 990a92e2410f linux/drivers/media/dvb/mantis/mantis_cards.c
> > --- a/linux/drivers/media/dvb/mantis/mantis_cards.c	Wed May 09 01:37:05
> > 2012 +0300 +++ b/linux/drivers/media/dvb/mantis/mantis_cards.c	Wed May 09
> > 14:04:31 2012 +0300 @@ -276,7 +276,7 @@
> > 
> >  	MAKE_ENTRY(TWINHAN_TECHNOLOGIES, MANTIS_VP_2033_DVB_C, &vp2033_config),
> >  	MAKE_ENTRY(TWINHAN_TECHNOLOGIES, MANTIS_VP_2040_DVB_C, &vp2040_config),
> >  	MAKE_ENTRY(TECHNISAT, CABLESTAR_HD2, &vp2040_config),
> > 
> > -	MAKE_ENTRY(TERRATEC, CINERGY_C, &vp2033_config),
> > +	MAKE_ENTRY(TERRATEC, CINERGY_C, &vp2040_config),
> > 
> >  	MAKE_ENTRY(TWINHAN_TECHNOLOGIES, MANTIS_VP_3030_DVB_T, &vp3030_config),
> >  	{ }
> >  
> >  };
> 
> What's the point? It's a constructed difference.  Makes more sense to
> refactor and merge all the duplicated code instead of maintaining this
> meaningless code split.
> 
> > diff -r 990a92e2410f linux/drivers/media/dvb/mantis/mantis_core.c
> > --- a/linux/drivers/media/dvb/mantis/mantis_core.c	Wed May 09 01:37:05
> > 2012 +0300 +++ b/linux/drivers/media/dvb/mantis/mantis_core.c	Wed May 09
> > 14:04:31 2012 +0300 @@ -121,7 +121,7 @@
> > 
> >  		mantis->hwconfig = &vp2033_mantis_config;
> >  		break;
> >  	
> >  	case MANTIS_VP_2040_DVB_C:	/* VP-2040 */
> > 
> > -	case TERRATEC_CINERGY_C_PCI:	/* VP-2040 clone */
> > +	case CINERGY_C:	/* VP-2040 clone */
> > 
> >  	case TECHNISAT_CABLESTAR_HD2:
> >  		mantis->hwconfig = &vp2040_mantis_config;
> >  		break;
> 
> And this file should never have been merged into the mainline kernel at
> all.  If you wonder how a bug like that could survive without being
> noticed, then the explanation is simple:  This code has never been built
> as part of the driver in the mainline kernel.
> 
> I tried submitting a cleanup patch to have it removed a long time ago:
> http://patchwork.linuxtv.org/patch/3680/
Oh, I wasn't aware of that.

> but it doesn't seem to have gone anywhere, like most of the patches for
> this driver -  silently ignored until everyone forgets it and moves on.
> 
> The code could certainly benefit from a major cleanup, but I don't see
> how that would ever happen.  It sort of works.  Better leave it there
> and spend valuable time elsewhere.
This patch is just a remainder. Seriously, I don't anticipate something.

Igor.
> 
> 
> 
> Bjørn
  
Manu Abraham May 15, 2012, 11:31 a.m. UTC | #3
On Wed, May 9, 2012 at 4:53 PM, Igor M. Liplianin <liplianin@me.by> wrote:
> This patch seems for rectifying a typo. But actually the difference between
> mantis_vp2040.c and mantis_vp2033.c code is a card name only.
>
> Signed-off-by: Igor M. Liplianin <liplianin@me.by>

Do you have a card with the tda10021 or the tda10023 ?
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
  

Patch

diff -r 990a92e2410f linux/drivers/media/dvb/mantis/mantis_cards.c
--- a/linux/drivers/media/dvb/mantis/mantis_cards.c	Wed May 09 01:37:05 2012 +0300
+++ b/linux/drivers/media/dvb/mantis/mantis_cards.c	Wed May 09 14:04:31 2012 +0300
@@ -276,7 +276,7 @@ 
 	MAKE_ENTRY(TWINHAN_TECHNOLOGIES, MANTIS_VP_2033_DVB_C, &vp2033_config),
 	MAKE_ENTRY(TWINHAN_TECHNOLOGIES, MANTIS_VP_2040_DVB_C, &vp2040_config),
 	MAKE_ENTRY(TECHNISAT, CABLESTAR_HD2, &vp2040_config),
-	MAKE_ENTRY(TERRATEC, CINERGY_C, &vp2033_config),
+	MAKE_ENTRY(TERRATEC, CINERGY_C, &vp2040_config),
 	MAKE_ENTRY(TWINHAN_TECHNOLOGIES, MANTIS_VP_3030_DVB_T, &vp3030_config),
 	{ }
 };
diff -r 990a92e2410f linux/drivers/media/dvb/mantis/mantis_core.c
--- a/linux/drivers/media/dvb/mantis/mantis_core.c	Wed May 09 01:37:05 2012 +0300
+++ b/linux/drivers/media/dvb/mantis/mantis_core.c	Wed May 09 14:04:31 2012 +0300
@@ -121,7 +121,7 @@ 
 		mantis->hwconfig = &vp2033_mantis_config;
 		break;
 	case MANTIS_VP_2040_DVB_C:	/* VP-2040 */
-	case TERRATEC_CINERGY_C_PCI:	/* VP-2040 clone */
+	case CINERGY_C:	/* VP-2040 clone */
 	case TECHNISAT_CABLESTAR_HD2:
 		mantis->hwconfig = &vp2040_mantis_config;
 		break;