diff options
author | Charles Keepax <ckeepax@opensource.wolfsonmicro.com> | 2015-12-14 10:19:11 +0000 |
---|---|---|
committer | Lee Jones <lee.jones@linaro.org> | 2016-01-11 07:33:16 +0000 |
commit | f199d39349beabcb1a374cb02e0845a0ae84f3fd (patch) | |
tree | cc8b7bee94629fd66114fa25b3235c1f65c4bda1 | |
parent | 8726cacc7f38e7e122e6910fb0b979dcd1ca89d3 (diff) | |
download | op-kernel-dev-f199d39349beabcb1a374cb02e0845a0ae84f3fd.zip op-kernel-dev-f199d39349beabcb1a374cb02e0845a0ae84f3fd.tar.gz |
mfd: arizona: Add device tree binding to specify mono outputs
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>
-rw-r--r-- | drivers/mfd/arizona-core.c | 10 | ||||
-rw-r--r-- | include/linux/mfd/arizona/pdata.h | 2 |
2 files changed, 11 insertions, 1 deletions
diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c index b9489a0..4bb4866 100644 --- a/drivers/mfd/arizona-core.c +++ b/drivers/mfd/arizona-core.c @@ -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; } diff --git a/include/linux/mfd/arizona/pdata.h b/include/linux/mfd/arizona/pdata.h index 57b45ca..64faeef 100644 --- a/include/linux/mfd/arizona/pdata.h +++ b/include/linux/mfd/arizona/pdata.h @@ -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]; |