bcm27xx: update patches from RPi foundation
[oweals/openwrt.git] / target / linux / bcm27xx / patches-5.4 / 950-0157-media-adv7180-Default-to-the-first-valid-input.patch
1 From b1d3f1c74057db79c45a11ed9ce0fc1e24d67401 Mon Sep 17 00:00:00 2001
2 From: Dave Stevenson <dave.stevenson@raspberrypi.org>
3 Date: Wed, 31 Oct 2018 14:57:46 +0000
4 Subject: [PATCH] media: adv7180: Default to the first valid input
5
6 The hardware default is differential CVBS on AIN1 & 2, which
7 isn't very useful.
8
9 Select the first input that is defined as valid for the
10 chip variant (typically CVBS_AIN1).
11
12 Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.org>
13 ---
14  drivers/media/i2c/adv7180.c | 13 +++++++++++++
15  1 file changed, 13 insertions(+)
16
17 --- a/drivers/media/i2c/adv7180.c
18 +++ b/drivers/media/i2c/adv7180.c
19 @@ -1246,6 +1246,7 @@ static const struct adv7180_chip_info ad
20  static int init_device(struct adv7180_state *state)
21  {
22         int ret;
23 +       int i;
24  
25         mutex_lock(&state->mutex);
26  
27 @@ -1292,6 +1293,18 @@ static int init_device(struct adv7180_st
28                         goto out_unlock;
29         }
30  
31 +       /* Select first valid input */
32 +       for (i = 0; i < 32; i++) {
33 +               if (BIT(i) & state->chip_info->valid_input_mask) {
34 +                       ret = state->chip_info->select_input(state, i);
35 +
36 +                       if (ret == 0) {
37 +                               state->input = i;
38 +                               break;
39 +                       }
40 +               }
41 +       }
42 +
43  out_unlock:
44         mutex_unlock(&state->mutex);
45