From cb27e2da2fd8481bc4a259a05e63432055e26b35 Mon Sep 17 00:00:00 2001 From: Istvan Varga Date: Fri, 3 Jun 2011 12:17:59 -0300 Subject: [PATCH] --- yaml --- r: 261242 b: refs/heads/master c: f0ef7c88ca919912011593d2392a59c2fde04748 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/media/common/tuners/xc4000.c | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index f1422dff8fb5..d2c0d3173155 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4911085fa3342d2ccb04f84c2987305b86785ebf +refs/heads/master: f0ef7c88ca919912011593d2392a59c2fde04748 diff --git a/trunk/drivers/media/common/tuners/xc4000.c b/trunk/drivers/media/common/tuners/xc4000.c index 65dd948bf6a6..307a8745e06e 100644 --- a/trunk/drivers/media/common/tuners/xc4000.c +++ b/trunk/drivers/media/common/tuners/xc4000.c @@ -1184,15 +1184,28 @@ static int xc4000_set_params(struct dvb_frontend *fe, type = DTV6; break; case BANDWIDTH_7_MHZ: - printk(KERN_ERR "xc4000 bandwidth 7MHz not supported\n"); + priv->bandwidth = BANDWIDTH_7_MHZ; + priv->video_standard = XC4000_DTV7; + priv->freq_hz = params->frequency - 2250000; type = DTV7; - return -EINVAL; + break; case BANDWIDTH_8_MHZ: priv->bandwidth = BANDWIDTH_8_MHZ; priv->video_standard = XC4000_DTV8; priv->freq_hz = params->frequency - 2750000; type = DTV8; break; + case BANDWIDTH_AUTO: + if (params->frequency < 400000000) { + priv->bandwidth = BANDWIDTH_7_MHZ; + priv->freq_hz = params->frequency - 2250000; + } else { + priv->bandwidth = BANDWIDTH_8_MHZ; + priv->freq_hz = params->frequency - 2750000; + } + priv->video_standard = XC4000_DTV7_8; + type = DTV78; + break; default: printk(KERN_ERR "xc4000 bandwidth not set!\n"); return -EINVAL;