[v2,2/3] mfd: wm5110: Add register patch for rev E and above
diff mbox

Message ID 1436260993-8814-2-git-send-email-ckeepax@opensource.wolfsonmicro.com
State New
Headers show

Commit Message

Charles Keepax July 7, 2015, 9:23 a.m. UTC
Add a register patch for rev E and above that configures the location of
some write sequences to assist with the headphone enables.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---

Changes since v1:
 - Added a comment with the write sequence

Thanks,
Charles

 drivers/mfd/wm5110-tables.c |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

Comments

Lee Jones July 7, 2015, 10:52 a.m. UTC | #1
On Tue, 07 Jul 2015, Charles Keepax wrote:

> Add a register patch for rev E and above that configures the location of
> some write sequences to assist with the headphone enables.
> 
> Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
> ---
> 
> Changes since v1:
>  - Added a comment with the write sequence
> 
> Thanks,
> Charles
> 
>  drivers/mfd/wm5110-tables.c |   13 ++++++++++++-
>  1 files changed, 12 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/mfd/wm5110-tables.c b/drivers/mfd/wm5110-tables.c
> index 62a4aa1..b70f76b 100644
> --- a/drivers/mfd/wm5110-tables.c
> +++ b/drivers/mfd/wm5110-tables.c
> @@ -249,6 +249,15 @@ static const struct reg_default wm5110_revd_patch[] = {
>  	{ 0x80, 0x0 },
>  };
>  
> +static const struct reg_default wm5110_reve_patch[] = {
> +	{ 0x80, 0x3 },
> +	{ 0x80, 0x3 },
> +	{ 0x4b, 0x138 }, /* Add extra headphone write sequence locations */
> +	{ 0x4c, 0x13d },
> +	{ 0x80, 0x0 },
> +	{ 0x80, 0x0 },
> +};

Now the other lines look undocumented.  Can you please provide an
over-arching comment which describes what the entire sequence does
please.

>  /* We use a function so we can use ARRAY_SIZE() */
>  int wm5110_patch(struct arizona *arizona)
>  {
> @@ -266,7 +275,9 @@ int wm5110_patch(struct arizona *arizona)
>  					     wm5110_revd_patch,
>  					     ARRAY_SIZE(wm5110_revd_patch));
>  	default:
> -		return 0;
> +		return regmap_register_patch(arizona->regmap,
> +					     wm5110_reve_patch,
> +					     ARRAY_SIZE(wm5110_reve_patch));
>  	}
>  }
>  EXPORT_SYMBOL_GPL(wm5110_patch);

Patch
diff mbox

diff --git a/drivers/mfd/wm5110-tables.c b/drivers/mfd/wm5110-tables.c
index 62a4aa1..b70f76b 100644
--- a/drivers/mfd/wm5110-tables.c
+++ b/drivers/mfd/wm5110-tables.c
@@ -249,6 +249,15 @@  static const struct reg_default wm5110_revd_patch[] = {
 	{ 0x80, 0x0 },
 };
 
+static const struct reg_default wm5110_reve_patch[] = {
+	{ 0x80, 0x3 },
+	{ 0x80, 0x3 },
+	{ 0x4b, 0x138 }, /* Add extra headphone write sequence locations */
+	{ 0x4c, 0x13d },
+	{ 0x80, 0x0 },
+	{ 0x80, 0x0 },
+};
+
 /* We use a function so we can use ARRAY_SIZE() */
 int wm5110_patch(struct arizona *arizona)
 {
@@ -266,7 +275,9 @@  int wm5110_patch(struct arizona *arizona)
 					     wm5110_revd_patch,
 					     ARRAY_SIZE(wm5110_revd_patch));
 	default:
-		return 0;
+		return regmap_register_patch(arizona->regmap,
+					     wm5110_reve_patch,
+					     ARRAY_SIZE(wm5110_reve_patch));
 	}
 }
 EXPORT_SYMBOL_GPL(wm5110_patch);