]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
[media] media: adv7604: ability to read default input port from DT
authorIan Molton <ian.molton@codethink.co.uk>
Wed, 3 Jun 2015 13:59:53 +0000 (10:59 -0300)
committerMauro Carvalho Chehab <mchehab@osg.samsung.com>
Mon, 6 Jul 2015 11:26:14 +0000 (08:26 -0300)
Adds support to the adv7604 driver for specifying the default input
port in the Device tree. If no value is provided, the driver will be
unable to select an input without help from userspace.

Tested-by: William Towle <william.towle@codethink.co.uk>
Signed-off-by: Ian Molton <ian.molton@codethink.co.uk>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
Documentation/devicetree/bindings/media/i2c/adv7604.txt
drivers/media/i2c/adv7604.c

index 7eafdbc055f96088ec029fb74760d1cbcf9dc81d..8337f75c75da6a95920c31ad907143d190fdb5cf 100644 (file)
@@ -47,6 +47,7 @@ Optional Endpoint Properties:
   If none of hsync-active, vsync-active and pclk-sample is specified the
   endpoint will use embedded BT.656 synchronization.
 
+  - default-input: Select which input is selected after reset.
 
 Example:
 
@@ -60,6 +61,8 @@ Example:
                #address-cells = <1>;
                #size-cells = <0>;
 
+               default-input = <0>;
+
                port@0 {
                        reg = <0>;
                };
index c8fefeab0513a88c5ce5b54ebc0b99ecb1454ec1..21b549a8dc7440d56448d58c491f8c002e2fe2d7 100644 (file)
@@ -2772,6 +2772,7 @@ static int adv76xx_parse_dt(struct adv76xx_state *state)
        struct device_node *endpoint;
        struct device_node *np;
        unsigned int flags;
+       u32 v;
 
        np = state->i2c_clients[ADV76XX_PAGE_IO]->dev.of_node;
 
@@ -2781,6 +2782,12 @@ static int adv76xx_parse_dt(struct adv76xx_state *state)
                return -EINVAL;
 
        v4l2_of_parse_endpoint(endpoint, &bus_cfg);
+
+       if (!of_property_read_u32(endpoint, "default-input", &v))
+               state->pdata.default_input = v;
+       else
+               state->pdata.default_input = -1;
+
        of_node_put(endpoint);
 
        flags = bus_cfg.bus.parallel.flags;
@@ -2819,7 +2826,6 @@ static int adv76xx_parse_dt(struct adv76xx_state *state)
        /* Hardcode the remaining platform data fields. */
        state->pdata.disable_pwrdnb = 0;
        state->pdata.disable_cable_det_rst = 0;
-       state->pdata.default_input = -1;
        state->pdata.blank_data = 1;
        state->pdata.alt_data_sat = 1;
        state->pdata.op_format_mode_sel = ADV7604_OP_FORMAT_MODE0;