From: Mats Randgaard Date: Thu, 5 Dec 2013 13:24:05 +0000 (-0300) Subject: [media] adv7604: return immediately if the new input is equal to what is configured X-Git-Tag: v3.14-rc1~20^2~165 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=ff4f80fdfaefb7906ed58ec36248591687f927b5;p=~emulex%2Finfiniband.git [media] adv7604: return immediately if the new input is equal to what is configured Signed-off-by: Mats Randgaard Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c index c85f86c9c60..4e7d39a5b20 100644 --- a/drivers/media/i2c/adv7604.c +++ b/drivers/media/i2c/adv7604.c @@ -1479,7 +1479,11 @@ static int adv7604_s_routing(struct v4l2_subdev *sd, { struct adv7604_state *state = to_state(sd); - v4l2_dbg(2, debug, sd, "%s: input %d", __func__, input); + v4l2_dbg(2, debug, sd, "%s: input %d, selected input %d", + __func__, input, state->selected_input); + + if (input == state->selected_input) + return 0; state->selected_input = input; @@ -1524,6 +1528,8 @@ static int adv7604_isr(struct v4l2_subdev *sd, u32 status, bool *handled) u8 fmt_change, fmt_change_digital, tx_5v; u32 input_status; + v4l2_dbg(2, debug, sd, "%s: ", __func__); + /* format change */ fmt_change = io_read(sd, 0x43) & 0x98; if (fmt_change) @@ -2124,6 +2130,7 @@ static int adv7604_probe(struct i2c_client *client, /* initialize variables */ state->restart_stdi_once = true; state->prev_input_status = ~0; + state->selected_input = ~0; /* platform data */ if (!pdata) {