aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/video/em28xx/em28xx-dvb.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-01-06 21:32:12 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2011-01-06 21:32:12 -0500
commit9e9bc9736756f25d6c47b4eba0ebf25b20a6f153 (patch)
tree647240f479c5f23910c3e6194d1c35b6ba54d75e /drivers/media/video/em28xx/em28xx-dvb.c
parent3c0cb7c31c206aaedb967e44b98442bbeb17a6c4 (diff)
parente3c92215198cb6aa00ad38db2780faa6b72e0a3f (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.c16
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
41MODULE_DESCRIPTION("driver for em28xx based DVB cards"); 42MODULE_DESCRIPTION("driver for em28xx based DVB cards");
42MODULE_AUTHOR("Mauro Carvalho Chehab <mchehab@infradead.org>"); 43MODULE_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
249static struct s921_config sharp_isdbt = {
250 .demod_address = 0x30 >> 1
251};
252
248static struct zl10353_config em28xx_zl10353_with_xc3028 = { 253static 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: