diff options
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-dvb.c')
-rw-r--r-- | drivers/media/video/em28xx/em28xx-dvb.c | 14 |
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 | ||
473 | out_free: | 475 | out_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 | ||
480 | static int dvb_fini(struct em28xx *dev) | 482 | static 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 | } |