Browse Source

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>
Michael Krufky 17 years ago
parent
commit
a2a7f84b79
1 changed files with 6 additions and 8 deletions
  1. 6 8
      drivers/media/video/tuner-simple.c

+ 6 - 8
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;