mfd: arizona: Add device tree binding to specify mono outputs
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Mon, 14 Dec 2015 10:19:11 +0000 (10:19 +0000)
committerLee Jones <lee.jones@linaro.org>
Mon, 11 Jan 2016 07:33:16 +0000 (07:33 +0000)
Add device tree bindings to support specifying outputs from the chip as
mono outputs. Whilst we are doing it change the out_mono pdata from a
bool to an int, because Sparse gets upset about using ARRAY_SIZE on
bools.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/arizona-core.c
include/linux/mfd/arizona/pdata.h

index b9489a0..4bb4866 100644 (file)
@@ -861,6 +861,16 @@ static int arizona_of_get_core_pdata(struct arizona *arizona)
                count++;
        }
 
+       count = 0;
+       of_property_for_each_u32(arizona->dev->of_node, "wlf,out-mono", prop,
+                                cur, val) {
+               if (count == ARRAY_SIZE(pdata->out_mono))
+                       break;
+
+               pdata->out_mono[count] = !!val;
+               count++;
+       }
+
        return 0;
 }
 
index 57b45ca..64faeef 100644 (file)
@@ -171,7 +171,7 @@ struct arizona_pdata {
        int inmode[ARIZONA_MAX_INPUT];
 
        /** Mode for outputs */
-       bool out_mono[ARIZONA_MAX_OUTPUT];
+       int out_mono[ARIZONA_MAX_OUTPUT];
 
        /** PDM speaker mute setting */
        unsigned int spk_mute[ARIZONA_MAX_PDM_SPK];