2019-09-19 14:43:19 +00:00
|
|
|
From 1d6cba1999607bc911ee8d16323914058b06e8d8 Mon Sep 17 00:00:00 2001
|
2019-07-09 18:32:28 +00:00
|
|
|
From: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|
|
|
Date: Wed, 31 Oct 2018 14:57:46 +0000
|
2019-09-19 14:43:19 +00:00
|
|
|
Subject: [PATCH 194/806] media: adv7180: Default to the first valid input
|
2019-07-09 18:32:28 +00:00
|
|
|
|
|
|
|
The hardware default is differential CVBS on AIN1 & 2, which
|
|
|
|
isn't very useful.
|
|
|
|
|
|
|
|
Select the first input that is defined as valid for the
|
|
|
|
chip variant (typically CVBS_AIN1).
|
|
|
|
|
|
|
|
Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
|
|
|
|
---
|
|
|
|
drivers/media/i2c/adv7180.c | 13 +++++++++++++
|
|
|
|
1 file changed, 13 insertions(+)
|
|
|
|
|
|
|
|
--- a/drivers/media/i2c/adv7180.c
|
|
|
|
+++ b/drivers/media/i2c/adv7180.c
|
|
|
|
@@ -1240,6 +1240,7 @@ static const struct adv7180_chip_info ad
|
|
|
|
static int init_device(struct adv7180_state *state)
|
|
|
|
{
|
|
|
|
int ret;
|
|
|
|
+ int i;
|
|
|
|
|
|
|
|
mutex_lock(&state->mutex);
|
|
|
|
|
|
|
|
@@ -1286,6 +1287,18 @@ static int init_device(struct adv7180_st
|
|
|
|
goto out_unlock;
|
|
|
|
}
|
|
|
|
|
|
|
|
+ /* Select first valid input */
|
|
|
|
+ for (i = 0; i < 32; i++) {
|
|
|
|
+ if (BIT(i) & state->chip_info->valid_input_mask) {
|
|
|
|
+ ret = state->chip_info->select_input(state, i);
|
|
|
|
+
|
|
|
|
+ if (ret == 0) {
|
|
|
|
+ state->input = i;
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
out_unlock:
|
|
|
|
mutex_unlock(&state->mutex);
|
|
|
|
|