aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/em28xx/em28xx-dvb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-dvb.c')
-rw-r--r--drivers/media/video/em28xx/em28xx-dvb.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/media/video/em28xx/em28xx-dvb.c b/drivers/media/video/em28xx/em28xx-dvb.c
index c99e2383b7ec..d38cb21834d9 100644
--- a/drivers/media/video/em28xx/em28xx-dvb.c
+++ b/drivers/media/video/em28xx/em28xx-dvb.c
@@ -161,7 +161,7 @@ static int stop_streaming(struct em28xx_dvb *dvb)
161 161
162 em28xx_uninit_isoc(dev); 162 em28xx_uninit_isoc(dev);
163 163
164 em28xx_set_mode(dev, EM28XX_MODE_UNDEFINED); 164 em28xx_set_mode(dev, EM28XX_SUSPEND);
165 165
166 return 0; 166 return 0;
167} 167}
@@ -215,7 +215,7 @@ static int em28xx_dvb_bus_ctrl(struct dvb_frontend *fe, int acquire)
215 if (acquire) 215 if (acquire)
216 return em28xx_set_mode(dev, EM28XX_DIGITAL_MODE); 216 return em28xx_set_mode(dev, EM28XX_DIGITAL_MODE);
217 else 217 else
218 return em28xx_set_mode(dev, EM28XX_MODE_UNDEFINED); 218 return em28xx_set_mode(dev, EM28XX_SUSPEND);
219} 219}
220 220
221/* ------------------------------------------------------------------ */ 221/* ------------------------------------------------------------------ */
@@ -393,7 +393,7 @@ static int dvb_init(struct em28xx *dev)
393 int result = 0; 393 int result = 0;
394 struct em28xx_dvb *dvb; 394 struct em28xx_dvb *dvb;
395 395
396 if (!dev->has_dvb) { 396 if (!dev->board.has_dvb) {
397 /* This device does not support the extension */ 397 /* This device does not support the extension */
398 return 0; 398 return 0;
399 } 399 }
@@ -409,8 +409,10 @@ static int dvb_init(struct em28xx *dev)
409 em28xx_set_mode(dev, EM28XX_DIGITAL_MODE); 409 em28xx_set_mode(dev, EM28XX_DIGITAL_MODE);
410 /* init frontend */ 410 /* init frontend */
411 switch (dev->model) { 411 switch (dev->model) {
412 case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_850:
412 case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950: 413 case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950:
413 case EM2880_BOARD_PINNACLE_PCTV_HD_PRO: 414 case EM2880_BOARD_PINNACLE_PCTV_HD_PRO:
415 case EM2883_BOARD_KWORLD_HYBRID_A316:
414 case EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600: 416 case EM2880_BOARD_AMD_ATI_TV_WONDER_HD_600:
415 dvb->frontend = dvb_attach(lgdt330x_attach, 417 dvb->frontend = dvb_attach(lgdt330x_attach,
416 &em2880_lgdt3303_dev, 418 &em2880_lgdt3303_dev,
@@ -466,12 +468,12 @@ static int dvb_init(struct em28xx *dev)
466 if (result < 0) 468 if (result < 0)
467 goto out_free; 469 goto out_free;
468 470
469 em28xx_set_mode(dev, EM28XX_MODE_UNDEFINED); 471 em28xx_set_mode(dev, EM28XX_SUSPEND);
470 printk(KERN_INFO "Successfully loaded em28xx-dvb\n"); 472 printk(KERN_INFO "Successfully loaded em28xx-dvb\n");
471 return 0; 473 return 0;
472 474
473out_free: 475out_free:
474 em28xx_set_mode(dev, EM28XX_MODE_UNDEFINED); 476 em28xx_set_mode(dev, EM28XX_SUSPEND);
475 kfree(dvb); 477 kfree(dvb);
476 dev->dvb = NULL; 478 dev->dvb = NULL;
477 return result; 479 return result;
@@ -479,7 +481,7 @@ out_free:
479 481
480static int dvb_fini(struct em28xx *dev) 482static int dvb_fini(struct em28xx *dev)
481{ 483{
482 if (!dev->has_dvb) { 484 if (!dev->board.has_dvb) {
483 /* This device does not support the extension */ 485 /* This device does not support the extension */
484 return 0; 486 return 0;
485 } 487 }