diff options
author | Michael Krufky <mkrufky@linuxtv.org> | 2008-04-22 14:45:56 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-04-24 14:07:50 -0300 |
commit | a2a7f84b7908c6dba998b43a1ed343aff1d2fd98 (patch) | |
tree | 70a46cfd6cc238d9387081c48892d63d974be88c | |
parent | 26cd8972fb5cf673489005bf9b7d16e6f273422b (diff) | |
download | linux-3.10-a2a7f84b7908c6dba998b43a1ed343aff1d2fd98.tar.gz linux-3.10-a2a7f84b7908c6dba998b43a1ed343aff1d2fd98.tar.bz2 linux-3.10-a2a7f84b7908c6dba998b43a1ed343aff1d2fd98.zip |
V4L/DVB (7360): tuner-simple: fix return value of simple_dvb_configure
simple_dvb_configure returns the actual tuned frequency to its caller, so
it must be declared as a u32 rather than an int. As a result, we will
return 0 to indicate a failure.
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
-rw-r--r-- | drivers/media/video/tuner-simple.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/drivers/media/video/tuner-simple.c b/drivers/media/video/tuner-simple.c index 5356c8a9241..b95ed1f489a 100644 --- a/drivers/media/video/tuner-simple.c +++ b/drivers/media/video/tuner-simple.c @@ -788,9 +788,10 @@ static void simple_set_dvb(struct dvb_frontend *fe, u8 *buf, } } -static int simple_dvb_configure(struct dvb_frontend *fe, u8 *buf, +static u32 simple_dvb_configure(struct dvb_frontend *fe, u8 *buf, const struct dvb_frontend_parameters *params) { + /* This function returns the tuned frequency on success, 0 on error */ struct tuner_simple_priv *priv = fe->tuner_priv; struct tunertype *tun = priv->tun; static struct tuner_params *t_params; @@ -801,7 +802,7 @@ static int simple_dvb_configure(struct dvb_frontend *fe, u8 *buf, t_params = simple_tuner_params(fe, TUNER_PARAM_TYPE_DIGITAL); ret = simple_config_lookup(fe, t_params, &frequency, &config, &cb); if (ret < 0) - return ret; + return 0; /* failure */ div = ((frequency + t_params->iffreq) * 62500 + offset + tun->stepsize/2) / tun->stepsize; @@ -825,17 +826,14 @@ static int simple_dvb_calc_regs(struct dvb_frontend *fe, u8 *buf, int buf_len) { struct tuner_simple_priv *priv = fe->tuner_priv; - int ret; u32 frequency; if (buf_len < 5) return -EINVAL; - ret = simple_dvb_configure(fe, buf+1, params); - if (ret < 0) - return ret; - else - frequency = ret; + frequency = simple_dvb_configure(fe, buf+1, params); + if (frequency == 0) + return -EINVAL; buf[0] = priv->i2c_props.addr; |