diff --git a/drivers/media/i2c/adv7604.c b/drivers/media/i2c/adv7604.c index b14dc7d4b7bb470a0ef9dd6bda12c6e3743dd031..342d73d3989b1ce26ac817f0343cd342543e6e52 100644 --- a/drivers/media/i2c/adv7604.c +++ b/drivers/media/i2c/adv7604.c @@ -2441,6 +2441,13 @@ static int adv7604_core_init(struct v4l2_subdev *sd) disable_input(sd); + if (pdata->default_input >= 0 && + pdata->default_input < state->source_pad) { + state->selected_input = pdata->default_input; + select_input(sd); + enable_input(sd); + } + /* power */ io_write(sd, 0x0c, 0x42); /* Power up part and power down VDP */ io_write(sd, 0x0b, 0x44); /* Power down ESDP block */ diff --git a/include/media/adv7604.h b/include/media/adv7604.h index 276135b7faa3b2dccd2dc985fd51fd0ed392576f..40b4ae04ff8e794a7e72c9e448bc67dfc9061f44 100644 --- a/include/media/adv7604.h +++ b/include/media/adv7604.h @@ -104,6 +104,8 @@ struct adv7604_platform_data { /* DIS_CABLE_DET_RST: 1 if the 5V pins are unused and unconnected */ unsigned disable_cable_det_rst:1; + int default_input; + /* Analog input muxing mode */ enum adv7604_ain_sel ain_sel;