Skip to content

Commit

Permalink
V4L/DVB (7348): tuner-simple: do not send i2c commands if there is no…
Browse files Browse the repository at this point in the history
… i2c adapter

if (priv->i2c_props.adap == NULL) then exit any function that would
send commands over the i2c bus.  We allow drivers to attach without an
i2c adapter for cases where the dvb demod accesses the tuner directly
via calc_regs.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
  • Loading branch information
Michael Krufky authored and Mauro Carvalho Chehab committed Apr 24, 2008
1 parent 6232549 commit a81df36
Showing 1 changed file with 15 additions and 2 deletions.
17 changes: 15 additions & 2 deletions drivers/media/video/tuner-simple.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,12 @@ static inline int tuner_afcstatus(const int status)
static int simple_get_status(struct dvb_frontend *fe, u32 *status)
{
struct tuner_simple_priv *priv = fe->tuner_priv;
int tuner_status = tuner_read_status(fe);
int tuner_status;

if (priv->i2c_props.adap == NULL)
return -EINVAL;

tuner_status = tuner_read_status(fe);

*status = 0;

Expand All @@ -166,7 +171,12 @@ static int simple_get_status(struct dvb_frontend *fe, u32 *status)
static int simple_get_rf_strength(struct dvb_frontend *fe, u16 *strength)
{
struct tuner_simple_priv *priv = fe->tuner_priv;
int signal = tuner_signal(tuner_read_status(fe));
int signal;

if (priv->i2c_props.adap == NULL)
return -EINVAL;

signal = tuner_signal(tuner_read_status(fe));

*strength = signal;

Expand Down Expand Up @@ -685,6 +695,9 @@ static int simple_set_params(struct dvb_frontend *fe,
struct tuner_simple_priv *priv = fe->tuner_priv;
int ret = -EINVAL;

if (priv->i2c_props.adap == NULL)
return -EINVAL;

switch (params->mode) {
case V4L2_TUNER_RADIO:
ret = simple_set_radio_freq(fe, params);
Expand Down

0 comments on commit a81df36

Please sign in to comment.