[alsa-devel] [PATCH v4 1/2] mfd: arizona: Add support for INn_Mode register control

From: Inha Song
Date: Tue Aug 19 2014 - 07:14:10 EST


Some boards need to set the INn_MODE[1:0] register to change
the input signal patch. This wlf,inmode property is optional.
If present, values must be specified less than or equal to
the number of input singals. If values less than the number
of input signals, elements that has not been specifed are set
to 0 by default.

Example:
- wlf,inmode = <2 0 2>; /* IN1, IN3 use DMIC */

Signed-off-by: Inha Song <ideal.song@xxxxxxxxxxx>
Reviewed-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>
---
drivers/mfd/arizona-core.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/mfd/arizona-core.c b/drivers/mfd/arizona-core.c
index 10a0cb9..81e6db8 100644
--- a/drivers/mfd/arizona-core.c
+++ b/drivers/mfd/arizona-core.c
@@ -534,7 +534,7 @@ EXPORT_SYMBOL_GPL(arizona_of_get_named_gpio);
static int arizona_of_get_core_pdata(struct arizona *arizona)
{
struct arizona_pdata *pdata = &arizona->pdata;
- int ret, i;
+ int ret, i, proplen;

pdata->reset = arizona_of_get_named_gpio(arizona, "wlf,reset", true);

@@ -560,6 +560,12 @@ static int arizona_of_get_core_pdata(struct arizona *arizona)
ret);
}

+ proplen = of_property_count_u32_elems(arizona->dev->of_node,
+ "wlf,inmode");
+ if (proplen > 0 && proplen <= ARRAY_SIZE(arizona->pdata.inmode))
+ of_property_read_u32_array(arizona->dev->of_node, "wlf,inmode",
+ arizona->pdata.inmode, proplen);
+
return 0;
}

--
2.0.0.390.gcb682f8
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/