Przeglądaj źródła

V4L/DVB (8489): add dvb-t support for terratec cinergy hybrid T usb xs

This patch adds dvbt support for the terratec cinergy hybrid T usb xsstick.
Thanks to Devin Heitmueller and Mauro Chehab for guiding me.

Signed-off-by: Reinhard Schwab <reinhard.schwab@aon.at>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
reinhard schwab 17 lat temu
rodzic
commit
655b840855

+ 4 - 0
drivers/media/video/em28xx/em28xx-cards.c

@@ -246,6 +246,7 @@ struct em28xx_board em28xx_boards[] = {
 		.tda9887_conf = TDA9887_PRESENT,
 		.tda9887_conf = TDA9887_PRESENT,
 		.tuner_type   = TUNER_XC2028,
 		.tuner_type   = TUNER_XC2028,
 		.decoder      = EM28XX_TVP5150,
 		.decoder      = EM28XX_TVP5150,
+		.has_dvb        = 1,
 		.input          = { {
 		.input          = { {
 			.type     = EM28XX_VMUX_TELEVISION,
 			.type     = EM28XX_VMUX_TELEVISION,
 			.vmux     = TVP5150_COMPOSITE0,
 			.vmux     = TVP5150_COMPOSITE0,
@@ -639,6 +640,9 @@ static void em28xx_setup_xc3028(struct em28xx *dev, struct xc2028_ctrl *ctl)
 	case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900:
 	case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900:
 		ctl->demod = XC3028_FE_ZARLINK456;
 		ctl->demod = XC3028_FE_ZARLINK456;
 		break;
 		break;
+	case EM2880_BOARD_TERRATEC_HYBRID_XS:
+		ctl->demod = XC3028_FE_ZARLINK456;
+		break;
 	case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2:
 	case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900_R2:
 		/* djh - Not sure which demod we need here */
 		/* djh - Not sure which demod we need here */
 		ctl->demod = XC3028_FE_DEFAULT;
 		ctl->demod = XC3028_FE_DEFAULT;

+ 9 - 0
drivers/media/video/em28xx/em28xx-dvb.c

@@ -441,6 +441,15 @@ static int dvb_init(struct em28xx *dev)
 		}
 		}
 		break;
 		break;
 #endif
 #endif
+	case EM2880_BOARD_TERRATEC_HYBRID_XS:
+		dvb->frontend = dvb_attach(zl10353_attach,
+						&em28xx_zl10353_with_xc3028,
+						&dev->i2c_adap);
+		if (attach_xc3028(0x61, dev) < 0) {
+			 result = -EINVAL;
+			goto out_free;
+		}
+		break;
 	default:
 	default:
 		printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card"
 		printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card"
 				" isn't supported yet\n",
 				" isn't supported yet\n",