diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-06 21:32:12 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-01-06 21:32:12 -0500 |
commit | 9e9bc9736756f25d6c47b4eba0ebf25b20a6f153 (patch) | |
tree | 647240f479c5f23910c3e6194d1c35b6ba54d75e /drivers/media/video/em28xx/em28xx-dvb.c | |
parent | 3c0cb7c31c206aaedb967e44b98442bbeb17a6c4 (diff) | |
parent | e3c92215198cb6aa00ad38db2780faa6b72e0a3f (diff) |
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6
* 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (255 commits)
[media] radio-aimslab.c: Fix gcc 4.5+ bug
[media] cx25821: Fix compilation breakage due to BKL dependency
[media] v4l2-compat-ioctl32: fix compile warning
[media] zoran: fix compiler warning
[media] tda18218: fix compile warning
[media] ngene: fix compile warning
[media] DVB: IR support for TechnoTrend CT-3650
[media] cx23885, cimax2.c: Fix case of two CAM insertion irq
[media] ir-nec-decoder: fix repeat key issue
[media] staging: se401 depends on USB
[media] staging: usbvideo/vicam depends on USB
[media] soc_camera: Add the ability to bind regulators to soc_camedra devices
[media] V4L2: Add a v4l2-subdev (soc-camera) driver for OmniVision OV2640 sensor
[media] v4l: soc-camera: switch to .unlocked_ioctl
[media] v4l: ov772x: simplify pointer dereference
[media] ov9640: fix OmniVision OV9640 sensor driver's priv data retrieving
[media] ov9640: use macro to request OmniVision OV9640 sensor private data
[media] ivtv-i2c: Fix two warnings
[media] staging/lirc: Update lirc TODO files
[media] cx88: Remove the obsolete i2c_adapter.id field
...
Diffstat (limited to 'drivers/media/video/em28xx/em28xx-dvb.c')
-rw-r--r-- | drivers/media/video/em28xx/em28xx-dvb.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/media/video/em28xx/em28xx-dvb.c b/drivers/media/video/em28xx/em28xx-dvb.c index 3ac8d3025fea..c7c04bf712aa 100644 --- a/drivers/media/video/em28xx/em28xx-dvb.c +++ b/drivers/media/video/em28xx/em28xx-dvb.c | |||
@@ -37,6 +37,7 @@ | |||
37 | #include "mt352_priv.h" /* FIXME */ | 37 | #include "mt352_priv.h" /* FIXME */ |
38 | #include "tda1002x.h" | 38 | #include "tda1002x.h" |
39 | #include "tda18271.h" | 39 | #include "tda18271.h" |
40 | #include "s921.h" | ||
40 | 41 | ||
41 | MODULE_DESCRIPTION("driver for em28xx based DVB cards"); | 42 | MODULE_DESCRIPTION("driver for em28xx based DVB cards"); |
42 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>"); | 43 | MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>"); |
@@ -245,6 +246,10 @@ static struct lgdt3305_config em2870_lgdt3304_dev = { | |||
245 | .qam_if_khz = 4000, | 246 | .qam_if_khz = 4000, |
246 | }; | 247 | }; |
247 | 248 | ||
249 | static struct s921_config sharp_isdbt = { | ||
250 | .demod_address = 0x30 >> 1 | ||
251 | }; | ||
252 | |||
248 | static struct zl10353_config em28xx_zl10353_with_xc3028 = { | 253 | static struct zl10353_config em28xx_zl10353_with_xc3028 = { |
249 | .demod_address = (0x1e >> 1), | 254 | .demod_address = (0x1e >> 1), |
250 | .no_tuner = 1, | 255 | .no_tuner = 1, |
@@ -481,6 +486,7 @@ static int dvb_init(struct em28xx *dev) | |||
481 | 486 | ||
482 | if (!dev->board.has_dvb) { | 487 | if (!dev->board.has_dvb) { |
483 | /* This device does not support the extension */ | 488 | /* This device does not support the extension */ |
489 | printk(KERN_INFO "em28xx_dvb: This device does not support the extension\n"); | ||
484 | return 0; | 490 | return 0; |
485 | } | 491 | } |
486 | 492 | ||
@@ -496,6 +502,16 @@ static int dvb_init(struct em28xx *dev) | |||
496 | em28xx_set_mode(dev, EM28XX_DIGITAL_MODE); | 502 | em28xx_set_mode(dev, EM28XX_DIGITAL_MODE); |
497 | /* init frontend */ | 503 | /* init frontend */ |
498 | switch (dev->model) { | 504 | switch (dev->model) { |
505 | case EM2874_LEADERSHIP_ISDBT: | ||
506 | dvb->frontend = dvb_attach(s921_attach, | ||
507 | &sharp_isdbt, &dev->i2c_adap); | ||
508 | |||
509 | if (!dvb->frontend) { | ||
510 | result = -EINVAL; | ||
511 | goto out_free; | ||
512 | } | ||
513 | |||
514 | break; | ||
499 | case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_850: | 515 | case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_850: |
500 | case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950: | 516 | case EM2883_BOARD_HAUPPAUGE_WINTV_HVR_950: |
501 | case EM2880_BOARD_PINNACLE_PCTV_HD_PRO: | 517 | case EM2880_BOARD_PINNACLE_PCTV_HD_PRO: |