brcm2708: add kernel 4.14 support
[openwrt/staging/lynxis.git] / target / linux / brcm2708 / patches-4.14 / 950-0329-adv7180-Default-to-the-first-valid-input.patch
diff --git a/target/linux/brcm2708/patches-4.14/950-0329-adv7180-Default-to-the-first-valid-input.patch b/target/linux/brcm2708/patches-4.14/950-0329-adv7180-Default-to-the-first-valid-input.patch
new file mode 100644 (file)
index 0000000..92e81d4
--- /dev/null
@@ -0,0 +1,45 @@
+From 2fd686f36bfd27b00c3c58c88e3e38d3bbb1bbe9 Mon Sep 17 00:00:00 2001
+From: Dave Stevenson <dave.stevenson@raspberrypi.org>
+Date: Tue, 12 Sep 2017 18:15:41 +0100
+Subject: [PATCH 329/454] adv7180: Default to the first valid input
+
+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
+@@ -1220,6 +1220,7 @@ static const struct adv7180_chip_info ad
+ static int init_device(struct adv7180_state *state)
+ {
+       int ret;
++      int i;
+       mutex_lock(&state->mutex);
+@@ -1266,6 +1267,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);