summaryrefslogtreecommitdiffstats
path: root/drivers/staging/tm6000/tm6000-stds.c
diff options
context:
space:
mode:
authorMauro Carvalho Chehab2007-11-02 15:54:18 +0100
committerMauro Carvalho Chehab2010-05-18 05:39:55 +0200
commit0ef4b05a4f7610182174c09616aa930bbd990435 (patch)
treeca0e618b13258db202681acd5467e03a9f0fe3ab /drivers/staging/tm6000/tm6000-stds.c
parentV4L/DVB (12810): tm6000: Avoid sending xc3028 setups for other tuners (diff)
downloadkernel-qcow2-linux-0ef4b05a4f7610182174c09616aa930bbd990435.tar.gz
kernel-qcow2-linux-0ef4b05a4f7610182174c09616aa930bbd990435.tar.xz
kernel-qcow2-linux-0ef4b05a4f7610182174c09616aa930bbd990435.zip
V4L/DVB (12811): tm6000: a few registers is needed from the sif/noif setings
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
Diffstat (limited to 'drivers/staging/tm6000/tm6000-stds.c')
-rw-r--r--drivers/staging/tm6000/tm6000-stds.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/staging/tm6000/tm6000-stds.c b/drivers/staging/tm6000/tm6000-stds.c
index d74793a8d596..11e600bdc41b 100644
--- a/drivers/staging/tm6000/tm6000-stds.c
+++ b/drivers/staging/tm6000/tm6000-stds.c
@@ -781,6 +781,13 @@ static int tm6000_load_std(struct tm6000_core *dev,
if (!set[i].req)
return 0;
+ /* FIXME: REQ 8 settings are for tm6010
+ not tested yet
+ This doesn't work with tm5600
+ */
+ if (set[i].req == REQ_08_SET_GET_AVREG_BIT)
+ continue;
+
rc = tm6000_set_reg(dev, set[i].req, set[i].reg, set[i].value);
if (rc < 0) {
printk(KERN_ERR "Error %i while setting "
@@ -797,6 +804,22 @@ static int tm6000_set_tv(struct tm6000_core *dev, int pos)
{
int rc;
+ /* FIXME: This code is for tm6010 - not tested yet - doesn't work with
+ tm5600
+ */
+
+ /* FIXME: This is tuner-dependent */
+ int nosif = 0;
+
+ if (nosif) {
+ rc = tm6000_load_std(dev, tv_stds[pos].nosif,
+ sizeof(tv_stds[pos].nosif));
+ } else {
+ rc = tm6000_load_std(dev, tv_stds[pos].sif,
+ sizeof(tv_stds[pos].sif));
+ }
+ if (rc < 0)
+ return rc;
rc = tm6000_load_std(dev, tv_stds[pos].common,
sizeof(tv_stds[pos].common));