aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/media/pci/bt8xx
diff options
context:
space:
mode:
authorMauro Carvalho Chehab <mchehab@redhat.com>2012-10-11 14:07:19 -0400
committerMauro Carvalho Chehab <mchehab@redhat.com>2012-10-11 14:07:19 -0400
commitbf3b202b41999f88f091632f13842b7234bd58b7 (patch)
treee2861fcca522cc299e6106fa6c78d85a4a6eedeb /drivers/media/pci/bt8xx
parent782cd9ee985b1523f1ddad57657a24d7855d9e4d (diff)
parent1fdead8ad31d3aa833bc37739273fcde89ace93c (diff)
Merge branch 'staging/for_v3.7' into v4l_for_linus
Applied on the top of changeset 782cd9e, as some of those patches depend on some fixes that went via -arm tree. * staging/for_v3.7: (109 commits) [media] m5mols: Add missing #include <linux/sizes.h> [media] stk1160: Add support for S-Video input Revert "[media] omap3isp: Replace cpu_is_omap3630() with ISP revision check" [media] dvb: LNA implementation changes [media] v4l2-ioctl: fix W=1 warnings [media] v4l2-ioctl: add blocks check for VIDIOC_SUBDEV_G/S_EDID [media] omap3isp: Fix compilation error in ispreg.h [media] rc-msi-digivox-ii: Add full scan keycodes [media] cx25821: testing the wrong variable [media] tda18271-common: hold the I2C adapter during write transfers [media] ds3000: add module parameter to force firmware upload [media] drivers/media: Remove unnecessary semicolon [media] winbond: remove space from driver name [media] iguanair: cannot send data from the stack [media] omap3isp: Replace cpu_is_omap3630() with ISP revision check [media] dvb-usb: print small buffers via %*ph [media] uvc: Add return code check at vb2_queue_init() [media] em28xx: Replace memcpy with struct assignment [media] bt8xx: Add video4linux control V4L2_CID_COLOR_KILLER [media] mem2mem_testdev: Use devm_kzalloc() in probe ...
Diffstat (limited to 'drivers/media/pci/bt8xx')
-rw-r--r--drivers/media/pci/bt8xx/bttv-driver.c30
-rw-r--r--drivers/media/pci/bt8xx/bttvp.h1
-rw-r--r--drivers/media/pci/bt8xx/dst_ca.c2
3 files changed, 28 insertions, 5 deletions
diff --git a/drivers/media/pci/bt8xx/bttv-driver.c b/drivers/media/pci/bt8xx/bttv-driver.c
index b68918c97f66..56c6c77793d7 100644
--- a/drivers/media/pci/bt8xx/bttv-driver.c
+++ b/drivers/media/pci/bt8xx/bttv-driver.c
@@ -668,6 +668,12 @@ static const struct v4l2_queryctrl bttv_ctls[] = {
668 .default_value = 32768, 668 .default_value = 32768,
669 .type = V4L2_CTRL_TYPE_INTEGER, 669 .type = V4L2_CTRL_TYPE_INTEGER,
670 },{ 670 },{
671 .id = V4L2_CID_COLOR_KILLER,
672 .name = "Color killer",
673 .minimum = 0,
674 .maximum = 1,
675 .type = V4L2_CTRL_TYPE_BOOLEAN,
676 }, {
671 .id = V4L2_CID_HUE, 677 .id = V4L2_CID_HUE,
672 .name = "Hue", 678 .name = "Hue",
673 .minimum = 0, 679 .minimum = 0,
@@ -1474,6 +1480,9 @@ static int bttv_g_ctrl(struct file *file, void *priv,
1474 case V4L2_CID_SATURATION: 1480 case V4L2_CID_SATURATION:
1475 c->value = btv->saturation; 1481 c->value = btv->saturation;
1476 break; 1482 break;
1483 case V4L2_CID_COLOR_KILLER:
1484 c->value = btv->opt_color_killer;
1485 break;
1477 1486
1478 case V4L2_CID_AUDIO_MUTE: 1487 case V4L2_CID_AUDIO_MUTE:
1479 case V4L2_CID_AUDIO_VOLUME: 1488 case V4L2_CID_AUDIO_VOLUME:
@@ -1526,7 +1535,6 @@ static int bttv_s_ctrl(struct file *file, void *f,
1526 struct v4l2_control *c) 1535 struct v4l2_control *c)
1527{ 1536{
1528 int err; 1537 int err;
1529 int val;
1530 struct bttv_fh *fh = f; 1538 struct bttv_fh *fh = f;
1531 struct bttv *btv = fh->btv; 1539 struct bttv *btv = fh->btv;
1532 1540
@@ -1547,6 +1555,16 @@ static int bttv_s_ctrl(struct file *file, void *f,
1547 case V4L2_CID_SATURATION: 1555 case V4L2_CID_SATURATION:
1548 bt848_sat(btv, c->value); 1556 bt848_sat(btv, c->value);
1549 break; 1557 break;
1558 case V4L2_CID_COLOR_KILLER:
1559 btv->opt_color_killer = c->value;
1560 if (btv->opt_color_killer) {
1561 btor(BT848_SCLOOP_CKILL, BT848_E_SCLOOP);
1562 btor(BT848_SCLOOP_CKILL, BT848_O_SCLOOP);
1563 } else {
1564 btand(~BT848_SCLOOP_CKILL, BT848_E_SCLOOP);
1565 btand(~BT848_SCLOOP_CKILL, BT848_O_SCLOOP);
1566 }
1567 break;
1550 case V4L2_CID_AUDIO_MUTE: 1568 case V4L2_CID_AUDIO_MUTE:
1551 audio_mute(btv, c->value); 1569 audio_mute(btv, c->value);
1552 /* fall through */ 1570 /* fall through */
@@ -1564,9 +1582,13 @@ static int bttv_s_ctrl(struct file *file, void *f,
1564 1582
1565 case V4L2_CID_PRIVATE_CHROMA_AGC: 1583 case V4L2_CID_PRIVATE_CHROMA_AGC:
1566 btv->opt_chroma_agc = c->value; 1584 btv->opt_chroma_agc = c->value;
1567 val = btv->opt_chroma_agc ? BT848_SCLOOP_CAGC : 0; 1585 if (btv->opt_chroma_agc) {
1568 btwrite(val, BT848_E_SCLOOP); 1586 btor(BT848_SCLOOP_CAGC, BT848_E_SCLOOP);
1569 btwrite(val, BT848_O_SCLOOP); 1587 btor(BT848_SCLOOP_CAGC, BT848_O_SCLOOP);
1588 } else {
1589 btand(~BT848_SCLOOP_CAGC, BT848_E_SCLOOP);
1590 btand(~BT848_SCLOOP_CAGC, BT848_O_SCLOOP);
1591 }
1570 break; 1592 break;
1571 case V4L2_CID_PRIVATE_COMBFILTER: 1593 case V4L2_CID_PRIVATE_COMBFILTER:
1572 btv->opt_combfilter = c->value; 1594 btv->opt_combfilter = c->value;
diff --git a/drivers/media/pci/bt8xx/bttvp.h b/drivers/media/pci/bt8xx/bttvp.h
index 70fd4f23f605..9ec0adba236c 100644
--- a/drivers/media/pci/bt8xx/bttvp.h
+++ b/drivers/media/pci/bt8xx/bttvp.h
@@ -429,6 +429,7 @@ struct bttv {
429 int opt_lumafilter; 429 int opt_lumafilter;
430 int opt_automute; 430 int opt_automute;
431 int opt_chroma_agc; 431 int opt_chroma_agc;
432 int opt_color_killer;
432 int opt_adc_crush; 433 int opt_adc_crush;
433 int opt_vcr_hack; 434 int opt_vcr_hack;
434 int opt_whitecrush_upper; 435 int opt_whitecrush_upper;
diff --git a/drivers/media/pci/bt8xx/dst_ca.c b/drivers/media/pci/bt8xx/dst_ca.c
index ee3884fbc9ce..7d96fab7d246 100644
--- a/drivers/media/pci/bt8xx/dst_ca.c
+++ b/drivers/media/pci/bt8xx/dst_ca.c
@@ -646,7 +646,7 @@ static long dst_ca_ioctl(struct file *file, unsigned int cmd, unsigned long ioct
646 dprintk(verbose, DST_CA_INFO, 1, " -->CA_SET_PID Success !"); 646 dprintk(verbose, DST_CA_INFO, 1, " -->CA_SET_PID Success !");
647 default: 647 default:
648 result = -EOPNOTSUPP; 648 result = -EOPNOTSUPP;
649 }; 649 }
650 free_mem_and_exit: 650 free_mem_and_exit:
651 kfree (p_ca_message); 651 kfree (p_ca_message);
652 kfree (p_ca_slot_info); 652 kfree (p_ca_slot_info);