diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-13 17:03:59 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-10-13 17:03:59 -0400 |
commit | cf2fa66055d718ae13e62451bb546505f63906a2 (patch) | |
tree | e206d3f04e74a34e9aa88d21af6c26eea21d4121 /drivers/media/video/em28xx/em28xx-dvb.c | |
parent | 4501a466f28788485604ee42641d7a5fe7258d16 (diff) | |
parent | 57f51dbc45f65f7ee1e8c8f77200bb8000e3e271 (diff) |
Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (313 commits)
V4L/DVB (9186): Added support for Prof 7300 DVB-S/S2 cards
V4L/DVB (9185): S2API: Ensure we have a reasonable ROLLOFF default
V4L/DVB (9184): cx24116: Change the default SNR units back to percentage by default.
V4L/DVB (9183): S2API: Return error of the caller provides 0 commands.
V4L/DVB (9182): S2API: Added support for DTV_HIERARCHY
V4L/DVB (9181): S2API: Add support fot DTV_GUARD_INTERVAL and DTV_TRANSMISSION_MODE
V4L/DVB (9180): S2API: Added support for DTV_CODE_RATE_HP/LP
V4L/DVB (9179): S2API: frontend.h cleanup
V4L/DVB (9178): cx24116: Add module parameter to return SNR as ESNO.
V4L/DVB (9177): S2API: Change _8PSK / _16APSK to PSK_8 and APSK_16
V4L/DVB (9176): Add support for DvbWorld USB cards with STV0288 demodulator.
V4L/DVB (9175): Remove NULL pointer in stb6000 driver.
V4L/DVB (9174): Allow custom inittab for ST STV0288 demodulator.
V4L/DVB (9173): S2API: Remove the hardcoded command limit during validation
V4L/DVB (9172): S2API: Bugfix related to DVB-S / DVB-S2 tuning for the legacy API.
V4L/DVB (9171): S2API: Stop an OOPS if illegal commands are dumped in S2API.
V4L/DVB (9170): cx24116: Sanity checking to data input via S2API to the cx24116 demod.
V4L/DVB (9169): uvcvideo: Support two new Bison Electronics webcams.
V4L/DVB (9168): Add support for MSI TV@nywhere Plus remote
V4L/DVB: v4l2-dev: remove duplicated #include
...
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-dvb.c')
-rw-r--r-- | drivers/media/video/em28xx/em28xx-dvb.c | 25 |
1 files changed, 5 insertions, 20 deletions
diff --git a/drivers/media/video/em28xx/em28xx-dvb.c b/drivers/media/video/em28xx/em28xx-dvb.c index d2b1a1a52689..c99e2383b7ec 100644 --- a/drivers/media/video/em28xx/em28xx-dvb.c +++ b/drivers/media/video/em28xx/em28xx-dvb.c | |||
@@ -249,7 +249,6 @@ static int attach_xc3028(u8 addr, struct em28xx *dev) | |||
249 | memset(&cfg, 0, sizeof(cfg)); | 249 | memset(&cfg, 0, sizeof(cfg)); |
250 | cfg.i2c_adap = &dev->i2c_adap; | 250 | cfg.i2c_adap = &dev->i2c_adap; |
251 | cfg.i2c_addr = addr; | 251 | cfg.i2c_addr = addr; |
252 | cfg.callback = em28xx_tuner_callback; | ||
253 | 252 | ||
254 | if (!dev->dvb->frontend) { | 253 | if (!dev->dvb->frontend) { |
255 | printk(KERN_ERR "%s/2: dvb frontend not attached. " | 254 | printk(KERN_ERR "%s/2: dvb frontend not attached. " |
@@ -274,7 +273,7 @@ static int attach_xc3028(u8 addr, struct em28xx *dev) | |||
274 | 273 | ||
275 | /* ------------------------------------------------------------------ */ | 274 | /* ------------------------------------------------------------------ */ |
276 | 275 | ||
277 | int register_dvb(struct em28xx_dvb *dvb, | 276 | static int register_dvb(struct em28xx_dvb *dvb, |
278 | struct module *module, | 277 | struct module *module, |
279 | struct em28xx *dev, | 278 | struct em28xx *dev, |
280 | struct device *device) | 279 | struct device *device) |
@@ -422,6 +421,8 @@ static int dvb_init(struct em28xx *dev) | |||
422 | } | 421 | } |
423 | break; | 422 | break; |
424 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: | 423 | case EM2880_BOARD_HAUPPAUGE_WINTV_HVR_900: |
424 | case EM2880_BOARD_TERRATEC_HYBRID_XS: | ||
425 | case EM2880_BOARD_KWORLD_DVB_310U: | ||
425 | dvb->frontend = dvb_attach(zl10353_attach, | 426 | dvb->frontend = dvb_attach(zl10353_attach, |
426 | &em28xx_zl10353_with_xc3028, | 427 | &em28xx_zl10353_with_xc3028, |
427 | &dev->i2c_adap); | 428 | &dev->i2c_adap); |
@@ -443,24 +444,6 @@ static int dvb_init(struct em28xx *dev) | |||
443 | } | 444 | } |
444 | break; | 445 | break; |
445 | #endif | 446 | #endif |
446 | case EM2880_BOARD_TERRATEC_HYBRID_XS: | ||
447 | dvb->frontend = dvb_attach(zl10353_attach, | ||
448 | &em28xx_zl10353_with_xc3028, | ||
449 | &dev->i2c_adap); | ||
450 | if (attach_xc3028(0x61, dev) < 0) { | ||
451 | result = -EINVAL; | ||
452 | goto out_free; | ||
453 | } | ||
454 | break; | ||
455 | case EM2880_BOARD_KWORLD_DVB_310U: | ||
456 | dvb->frontend = dvb_attach(zl10353_attach, | ||
457 | &em28xx_zl10353_with_xc3028, | ||
458 | &dev->i2c_adap); | ||
459 | if (attach_xc3028(0x61, dev) < 0) { | ||
460 | result = -EINVAL; | ||
461 | goto out_free; | ||
462 | } | ||
463 | break; | ||
464 | default: | 447 | default: |
465 | printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card" | 448 | printk(KERN_ERR "%s/2: The frontend of your DVB/ATSC card" |
466 | " isn't supported yet\n", | 449 | " isn't supported yet\n", |
@@ -474,6 +457,8 @@ static int dvb_init(struct em28xx *dev) | |||
474 | result = -EINVAL; | 457 | result = -EINVAL; |
475 | goto out_free; | 458 | goto out_free; |
476 | } | 459 | } |
460 | /* define general-purpose callback pointer */ | ||
461 | dvb->frontend->callback = em28xx_tuner_callback; | ||
477 | 462 | ||
478 | /* register everything */ | 463 | /* register everything */ |
479 | result = register_dvb(dvb, THIS_MODULE, dev, &dev->udev->dev); | 464 | result = register_dvb(dvb, THIS_MODULE, dev, &dev->udev->dev); |