Skip to contentSkip to conversation

linux-next: build warnings after merge of the regmap tree

PATCH In review Stephen Rothwell 5 participants 13 messages Jul 17, 2015 – Sep 18, 2015

Subsystems (5)
lore
Share & tools
lore
#0 lore raw

Hi Mark,

After merging the regmap tree, today's linux-next build (powerpc allyesconfig) produced these warnings:

sound/soc/codecs/wm5110.c: In function 'wm5110_hp_pre_enable':
sound/soc/codecs/wm5110.c:294:9: warning: passing argument 2 of 'regmap_multi_reg_write' from incompatible pointer type

  return regmap_multi_reg_write(arizona->regmap, wseq, nregs);
         ^
In file included from sound/soc/codecs/wm5110.c:19:0:
include/linux/regmap.h:427:5: note: expected 'const struct reg_sequence *' but argument is of type 'const struct reg_default *'
 int regmap_multi_reg_write(struct regmap *map, const struct reg_sequence *regs,
     ^
sound/soc/codecs/wm5110.c: In function 'wm5110_clear_pga_volume':
sound/soc/codecs/wm5110.c:362:8: warning: passing argument 2 of 'regmap_multi_reg_write_bypassed' from incompatible pointer type
  ret = regmap_multi_reg_write_bypassed(arizona->regmap, &clear_pga, 1);
        ^
In file included from sound/soc/codecs/wm5110.c:19:0:
include/linux/regmap.h:429:5: note: expected 'const struct reg_sequence *' but argument is of type 'struct reg_default *'
 int regmap_multi_reg_write_bypassed(struct regmap *map,
     ^
drivers/mfd/wm5110-tables.c: In function 'wm5110_patch':
drivers/mfd/wm5110-tables.c:279:10: warning: passing argument 2 of 'regmap_register_patch' from incompatible pointer type
   return regmap_register_patch(arizona->regmap,
          ^
In file included from include/linux/mfd/arizona/core.h:17:0,
                 from drivers/mfd/wm5110-tables.c:15:
include/linux/regmap.h:469:5: note: expected 'const struct reg_sequence *' but argument is of type 'const struct reg_default *'
 int regmap_register_patch(struct regmap *map, const struct reg_sequence *regs,
     ^
drivers/mfd/wm8998-tables.c: In function 'wm8998_patch':
drivers/mfd/wm8998-tables.c:48:9: warning: passing argument 2 of 'regmap_register_patch' from incompatible pointer type
  return regmap_register_patch(arizona->regmap,
         ^
In file included from include/linux/mfd/arizona/core.h:17:0,
                 from drivers/mfd/wm8998-tables.c:15:
include/linux/regmap.h:469:5: note: expected 'const struct reg_sequence *' but argument is of type 'const struct reg_default *'
 int regmap_register_patch(struct regmap *map, const struct reg_sequence *regs,
     ^

Introduced by commit

8019ff6cfc04 ("regmap: Use reg_sequence for multi_reg_write / register_patch")

interacting with commit

561629755a21 ("mfd: arizona: Add support for WM8998 and WM1814")

from the mfd tree and commits

d1acd31883d7 ("ASoC: wm5110: Add special DRE on/off handling for the headphone path") 81207880cef2 ("mfd: wm5110: Add register patch for rev E and above")

from the sound-asoc tree.

I may make up a merge fix for these on Monday ... I love API changes :-(

Signature · 2 lines
Cheers,
Stephen Rothwell                    [email protected]
#1 lore raw
Quoted 48 lines · Stephen Rothwell

Hi Mark,

After merging the regmap tree, today's linux-next build (powerpc allyesconfig) produced these warnings:

sound/soc/codecs/wm5110.c: In function 'wm5110_hp_pre_enable':
sound/soc/codecs/wm5110.c:294:9: warning: passing argument 2 of 'regmap_multi_reg_write' from incompatible pointer type

  return regmap_multi_reg_write(arizona->regmap, wseq, nregs);
         ^
In file included from sound/soc/codecs/wm5110.c:19:0:
include/linux/regmap.h:427:5: note: expected 'const struct reg_sequence *' but argument is of type 'const struct reg_default *'
 int regmap_multi_reg_write(struct regmap *map, const struct reg_sequence *regs,
     ^
sound/soc/codecs/wm5110.c: In function 'wm5110_clear_pga_volume':
sound/soc/codecs/wm5110.c:362:8: warning: passing argument 2 of 'regmap_multi_reg_write_bypassed' from incompatible pointer type
  ret = regmap_multi_reg_write_bypassed(arizona->regmap, &clear_pga, 1);
        ^
In file included from sound/soc/codecs/wm5110.c:19:0:
include/linux/regmap.h:429:5: note: expected 'const struct reg_sequence *' but argument is of type 'struct reg_default *'
 int regmap_multi_reg_write_bypassed(struct regmap *map,
     ^
drivers/mfd/wm5110-tables.c: In function 'wm5110_patch':
drivers/mfd/wm5110-tables.c:279:10: warning: passing argument 2 of 'regmap_register_patch' from incompatible pointer type
   return regmap_register_patch(arizona->regmap,
          ^
In file included from include/linux/mfd/arizona/core.h:17:0,
                 from drivers/mfd/wm5110-tables.c:15:
include/linux/regmap.h:469:5: note: expected 'const struct reg_sequence *' but argument is of type 'const struct reg_default *'
 int regmap_register_patch(struct regmap *map, const struct reg_sequence *regs,
     ^
drivers/mfd/wm8998-tables.c: In function 'wm8998_patch':
drivers/mfd/wm8998-tables.c:48:9: warning: passing argument 2 of 'regmap_register_patch' from incompatible pointer type
  return regmap_register_patch(arizona->regmap,
         ^
In file included from include/linux/mfd/arizona/core.h:17:0,
                 from drivers/mfd/wm8998-tables.c:15:
include/linux/regmap.h:469:5: note: expected 'const struct reg_sequence *' but argument is of type 'const struct reg_default *'
 int regmap_register_patch(struct regmap *map, const struct reg_sequence *regs,
     ^

Introduced by commit

8019ff6cfc04 ("regmap: Use reg_sequence for multi_reg_write / register_patch")

interacting with commit

561629755a21 ("mfd: arizona: Add support for WM8998 and WM1814")

Quoted 8 lines

from the mfd tree and commits

d1acd31883d7 ("ASoC: wm5110: Add special DRE on/off handling for the headphone path") 81207880cef2 ("mfd: wm5110: Add register patch for rev E and above")

from the sound-asoc tree.

I may make up a merge fix for these on Monday ... I love API changes :-(

Hi Stephen, Mark,

What is the best course of action here? I am more than happy to help with whatever is needed but unsure of the etiquette here and also not sure what I can do.

Clearly there are some clients that need updating but they were not present in the regmap tree, so is the correct thing to do to merge in the mfd and sound-asoc tree and provide a fixup commit?

Just let me know and I am happy to do whatever is deemed correct.

Thanks
Nariman

Quoted 3 lines
Signature · 2 lines
Cheers,
Stephen Rothwell                    [email protected]
maintainer
#2 lore raw
Quoted 9 lines · Nariman Poushin

What is the best course of action here? I am more than happy to help with whatever is needed but unsure of the etiquette here and also not sure what I can do.

Clearly there are some clients that need updating but they were not present in the regmap tree, so is the correct thing to do to merge in the mfd and sound-asoc tree and provide a fixup commit?

Just let me know and I am happy to do whatever is deemed correct.

Please send patches fixing the problems you have introduced.

#3 lore raw

PATCH 1/2 mfd: Fixup clients of multi_reg_write/register_patch

Introduced by:
commit 8019ff6cfc04
("regmap: Use reg_sequence for multi_reg_write / register_patch")

Interacting with:
commit 561629755a21 ("mfd: arizona: Add support for WM8998 and WM1814") commit 81207880cef2 ("mfd: wm5110: Add register patch for rev E and above")

---
 drivers/mfd/wm5110-tables.c | 2 +-
 drivers/mfd/wm8998-tables.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
drivers/mfd/wm5110-tables.c +1 -1
index 90b84c1..31a132a 100644
@@ -250,7 +250,7 @@ static const struct reg_sequence wm5110_revd_patch[] = {
 };
 
 /* Add extra headphone write sequence locations */
-static const struct reg_default wm5110_reve_patch[] = {
+static const struct reg_sequence wm5110_reve_patch[] = {
 	{ 0x80, 0x3 },
 	{ 0x80, 0x3 },
 	{ 0x4b, 0x138 },
drivers/mfd/wm8998-tables.c +1 -1
index 60e8622..73d6842 100644
@@ -21,7 +21,7 @@
 #define WM8998_NUM_AOD_ISR 2
 #define WM8998_NUM_ISR 5
 
-static const struct reg_default wm8998_rev_a_patch[] = {
+static const struct reg_sequence wm8998_rev_a_patch[] = {
 	{ 0x0212, 0x0000 },
 	{ 0x0211, 0x0014 },
 	{ 0x04E4, 0x0E0D },
Signature · 1 line
2.1.4
maintainer
#4 lore raw

Re: [PATCH 1/2] mfd: Fixup clients of multi_reg_write/register_patch

Quoted 3 lines · Nariman Poushin

Introduced by:
commit 8019ff6cfc04
("regmap: Use reg_sequence for multi_reg_write / register_patch")

Lee, feel free to pull the request below in to get the API update or let me know if you want me to merge some MFD changes instead:

The following changes since commit d770e558e21961ad6cfdf0ff7df0eb5d7d4f0754:

Linux 4.2-rc1 (2015-07-05 11:01:52 -0700)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap.git tags/regmap-seq-delay-api

for you to fetch changes up to 8019ff6cfc0440415fcfb6352c58c3951e6ab053:

regmap: Use reg_sequence for multi_reg_write / register_patch (2015-07-16 22:02:55 +0100)

----------------------------------------------------------------
regmap: Create a new struct reg_sequence for register sequences

In order to allow us to start adding extra annotations for sequences without bloating register default tables duplicate the structure under the new name reg_sequence and update the APIs to use that instead of reg_default.

----------------------------------------------------------------
Nariman Poushin (1):
regmap: Use reg_sequence for multi_reg_write / register_patch

 drivers/base/regmap/internal.h |  2 +-
 drivers/base/regmap/regmap.c   | 22 +++++++++++-----------
 drivers/gpu/drm/i2c/adv7511.c  |  2 +-
 drivers/input/misc/drv260x.c   |  6 +++---
 drivers/input/misc/drv2665.c   |  2 +-
 drivers/input/misc/drv2667.c   |  4 ++--
 drivers/mfd/arizona-core.c     |  2 +-
 drivers/mfd/twl6040.c          |  2 +-
 drivers/mfd/wm5102-tables.c    |  6 +++---
 drivers/mfd/wm5110-tables.c    |  6 +++---
 drivers/mfd/wm8994-core.c      |  8 ++++----
 drivers/mfd/wm8997-tables.c    |  2 +-
 include/linux/regmap.h         | 17 ++++++++++++++---
 sound/soc/codecs/arizona.c     |  2 +-
 sound/soc/codecs/cs35l32.c     |  2 +-
 sound/soc/codecs/cs42l52.c     |  2 +-
 sound/soc/codecs/da7210.c      |  4 ++--
 sound/soc/codecs/rt5640.c      |  2 +-
 sound/soc/codecs/rt5645.c      |  4 ++--
 sound/soc/codecs/rt5651.c      |  2 +-
 sound/soc/codecs/rt5670.c      |  2 +-
 sound/soc/codecs/rt5677.c      |  2 +-
 sound/soc/codecs/tlv320aic3x.c |  2 +-
 sound/soc/codecs/wm2200.c      |  2 +-
 sound/soc/codecs/wm5100.c      |  2 +-
 sound/soc/codecs/wm8962.c      |  2 +-
 sound/soc/codecs/wm8993.c      |  2 +-
 27 files changed, 62 insertions(+), 51 deletions(-)
#5 lore raw

Re: [PATCH 1/2] mfd: Fixup clients of multi_reg_write/register_patch

In reply to Nariman Poushin

Hi Nariman,

Quoted 9 lines · On Fri, 17 Jul 2015 15:09:26 +0100 Nariman Poushin…

Introduced by:
commit 8019ff6cfc04
("regmap: Use reg_sequence for multi_reg_write / register_patch")

Interacting with:
commit 561629755a21 ("mfd: arizona: Add support for WM8998 and WM1814") commit 81207880cef2 ("mfd: wm5110: Add register patch for rev E and above")

Quoted 5 lines
---
 drivers/mfd/wm5110-tables.c | 2 +-
 drivers/mfd/wm8998-tables.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

I will apply both these patches as merge fix patches in linux-next today. Thanks.

Signature · 2 lines
Cheers,
Stephen Rothwell                    [email protected]
#6 lore raw

Re: [PATCH 1/2] mfd: Fixup clients of multi_reg_write/register_patch

Quoted 10 lines · Stephen Rothwell
Quoted 9 lines · On Fri, 17 Jul 2015 15:09:26 +0100 Nariman Poushin…

Introduced by:
commit 8019ff6cfc04
("regmap: Use reg_sequence for multi_reg_write / register_patch")

Interacting with:
commit 561629755a21 ("mfd: arizona: Add support for WM8998 and WM1814") commit 81207880cef2 ("mfd: wm5110: Add register patch for rev E and above")

Quoted 7 lines
Quoted 4 lines
---
 drivers/mfd/wm5110-tables.c | 2 +-
 drivers/mfd/wm8998-tables.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

I will apply both these patches as merge fix patches in linux-next today. Thanks.

7 weeks later, the fix is still in -next only, hidden in:

commit 203903b3383c2dc8bcommit 203903b3383c2dc8b79277061341ec1c31ea75e3
Merge: f7ef70b70ccf13a9 90b1f7f5d2016031
Author: Stephen Rothwell <[email protected]>
Date: Thu Sep 3 12:39:52 2015 +1000

Merge remote-tracking branch 'regmap/for-next'

Worse, the problem is now in Linus' tree:

drivers/mfd/wm5110-tables.c: In function ‘wm5110_patch’:
drivers/mfd/wm5110-tables.c:281: warning: passing argument 2 of ‘regmap_register_patch’ from incompatible pointer type drivers/mfd/wm8998-tables.c: In function ‘wm8998_patch’:
drivers/mfd/wm8998-tables.c:50: warning: passing argument 2 of ‘regmap_register_patch’ from incompatible pointer type

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds

#7 lore raw

Re: [PATCH 1/2] mfd: Fixup clients of multi_reg_write/register_patch

In reply to Stephen Rothwell

Hi all,

Quoted 11 lines · On Mon, 20 Jul 2015 11:59:35 +1000 Stephen Rothwell <[email protected]>…
Quoted 9 lines · On Fri, 17 Jul 2015 15:09:26 +0100 Nariman Poushin…

Introduced by:
commit 8019ff6cfc04
("regmap: Use reg_sequence for multi_reg_write / register_patch")

Interacting with:
commit 561629755a21 ("mfd: arizona: Add support for WM8998 and WM1814") commit 81207880cef2 ("mfd: wm5110: Add register patch for rev E and above")

Quoted 8 lines
Quoted 5 lines
---
 drivers/mfd/wm5110-tables.c | 2 +-
 drivers/mfd/wm8998-tables.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

I will apply both these patches as merge fix patches in linux-next today. Thanks.

It looks like that patch has been forgotten as I am still applying it to the linux-next tree every day ...

Signature · 2 lines
Cheers,
Stephen Rothwell                    [email protected]
#8 lore raw

Re: [PATCH 1/2] mfd: Fixup clients of multi_reg_write/register_patch

Quoted 20 lines · Stephen Rothwell

Hi all,

Quoted 17 lines · On Mon, 20 Jul 2015 11:59:35 +1000 Stephen Rothwell <[email protected]>…
Quoted 14 lines · On Fri, 17 Jul 2015 15:09:26 +0100 Nariman Poushin…

Introduced by:
commit 8019ff6cfc04
("regmap: Use reg_sequence for multi_reg_write / register_patch")

Interacting with:
commit 561629755a21 ("mfd: arizona: Add support for WM8998 and WM1814") commit 81207880cef2 ("mfd: wm5110: Add register patch for rev E and above")

---
 drivers/mfd/wm5110-tables.c | 2 +-
 drivers/mfd/wm8998-tables.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)
Quoted 5 lines
Quoted 2 lines

I will apply both these patches as merge fix patches in linux-next today. Thanks.

It looks like that patch has been forgotten as I am still applying it to the linux-next tree every day ...

Apologies if I am a little out of my depth here, but are we in the situation where you are expecting this to go through the MFD tree and Lee is expecting it to go through your tree?

Assuming this is the case, Lee could you perhaps pull this fix in fairly soon? As it is causing build warning for some configs, in Linus's tree at the moment. I am quite happy to resend it on Nariman's behalf if required (he is on holiday at the moment).

Thanks,
Charles

maintainer
#9 lore raw

Re: [PATCH 1/2] mfd: Fixup clients of multi_reg_write/register_patch

Quoted 8 lines · Charles Keepax
Quoted 2 lines · Stephen Rothwell

It looks like that patch has been forgotten as I am still applying it to the linux-next tree every day ...

Apologies if I am a little out of my depth here, but are we in the situation where you are expecting this to go through the MFD tree and Lee is expecting it to go through your tree?

No, -next is a merge down of trees that will be sent to Linus rather than a tree that is sent to Linus itself.

Quoted 4 lines

Assuming this is the case, Lee could you perhaps pull this fix in fairly soon? As it is causing build warning for some configs, in Linus's tree at the moment. I am quite happy to resend it on Nariman's behalf if required (he is on holiday at the moment).

I'd recommend resending to make sure Lee has the patch.

#10 lore raw

PATCH 2/2 ASoC: wm5110: Use reg_sequence for multi_reg_write/register_patch

In reply to Mark Brown

Introduced by:
commit 8019ff6cfc04
("regmap: Use reg_sequence for multi_reg_write / register_patch")

Interacting with:
commit d1acd31883d7
("ASoC: wm5110: Add special DRE on/off handling for the headphone path")

---
 sound/soc/codecs/wm5110.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)
sound/soc/codecs/wm5110.c +6 -6
index df6a998..9756578 100644
@@ -185,7 +185,7 @@ static int wm5110_sysclk_ev(struct snd_soc_dapm_widget *w,
 	return 0;
 }
 
-static const struct reg_default wm5110_no_dre_left_enable[] = {
+static const struct reg_sequence wm5110_no_dre_left_enable[] = {
 	{ 0x3024, 0xE410 },
 	{ 0x3025, 0x0056 },
 	{ 0x301B, 0x0224 },
@@ -203,7 +203,7 @@ static const struct reg_default wm5110_no_dre_left_enable[] = {
 	{ 0x3039, 0x3080 },
 };
 
-static const struct reg_default wm5110_dre_left_enable[] = {
+static const struct reg_sequence wm5110_dre_left_enable[] = {
 	{ 0x3024, 0x0231 },
 	{ 0x3025, 0x0B00 },
 	{ 0x301B, 0x0227 },
@@ -221,7 +221,7 @@ static const struct reg_default wm5110_dre_left_enable[] = {
 	{ 0x3039, 0x0B00 },
 };
 
-static const struct reg_default wm5110_no_dre_right_enable[] = {
+static const struct reg_sequence wm5110_no_dre_right_enable[] = {
 	{ 0x3074, 0xE414 },
 	{ 0x3075, 0x0056 },
 	{ 0x306B, 0x0224 },
@@ -239,7 +239,7 @@ static const struct reg_default wm5110_no_dre_right_enable[] = {
 	{ 0x3089, 0x3080 },
 };
 
-static const struct reg_default wm5110_dre_right_enable[] = {
+static const struct reg_sequence wm5110_dre_right_enable[] = {
 	{ 0x3074, 0x0231 },
 	{ 0x3075, 0x0B00 },
 	{ 0x306B, 0x0227 },
@@ -263,7 +263,7 @@ static int wm5110_hp_pre_enable(struct snd_soc_dapm_widget *w)
 	struct arizona_priv *priv = snd_soc_codec_get_drvdata(codec);
 	struct arizona *arizona = priv->arizona;
 	unsigned int val = snd_soc_read(codec, ARIZONA_DRE_ENABLE);
-	const struct reg_default *wseq;
+	const struct reg_sequence *wseq;
 	int nregs;
 
 	switch (w->shift) {
@@ -354,7 +354,7 @@ static int wm5110_hp_ev(struct snd_soc_dapm_widget *w,
 
 static int wm5110_clear_pga_volume(struct arizona *arizona, int output)
 {
-	struct reg_default clear_pga = {
+	struct reg_sequence clear_pga = {
 		ARIZONA_OUTPUT_PATH_CONFIG_1L + output * 4, 0x80
 	};
 	int ret;
Signature · 1 line
2.1.4
#11 lore raw
In reply to Mark Brown
Quoted 6 lines · Mark Brown
Quoted 3 lines · Nariman Poushin

What is the best course of action here? I am more than happy to help with whatever is needed but unsure of the etiquette here and also not sure what I can do.

Quoted 7 lines
Quoted 5 lines

Clearly there are some clients that need updating but they were not present in the regmap tree, so is the correct thing to do to merge in the mfd and sound-asoc tree and provide a fixup commit?

Just let me know and I am happy to do whatever is deemed correct.

Please send patches fixing the problems you have introduced.

I have sent the patches to fix the build errors you found Stephen. Just wanted to let you guys know I will be on vacation for 1 week, so if there are any issues they might not be addressed until then.

Thanks
Nariman

#12 lore raw
Quoted 13 lines · Nariman Poushin
Quoted 12 lines · Mark Brown
Quoted 9 lines · Nariman Poushin

What is the best course of action here? I am more than happy to help with whatever is needed but unsure of the etiquette here and also not sure what I can do.

Clearly there are some clients that need updating but they were not present in the regmap tree, so is the correct thing to do to merge in the mfd and sound-asoc tree and provide a fixup commit?

Just let me know and I am happy to do whatever is deemed correct.

Quoted 8 lines
Quoted 1 line

Please send patches fixing the problems you have introduced.

I have sent the patches to fix the build errors you found Stephen. Just wanted to let you guys know I will be on vacation for 1 week, so if there are any issues they might not be addressed until then.

Thanks
Nariman

If you include myself and Richard Fitzgerald ([email protected]) one of us will pick things up if there are any issues.

Thanks,
Charles