[PATCH 0/3] arm: fix build breakage in omap2plus_defconfig (linux-next)

STALE5261d

8 messages, 3 authors, 2012-03-06 · open the first message on its own page

[PATCH 0/3] arm: fix build breakage in omap2plus_defconfig (linux-next)

From: Paul Gortmaker <hidden>
Date: 2012-03-05 22:41:47

I decided to look at why this thing was dying in linux-next for
over two weeks now:

http://kisskb.ellerman.id.au/kisskb/target/5581/

The git bisect led me to sfr's merge (661a40a5c8 in March5th tree)
of 'arm-soc/for-next' but there was nothing suspicious there, and
the fix (commit #1) was reasonably obvious, so I didn't investigate
the root cause further.  But that wasn't where the breakage ended...

Commit #2, and especially commit #3 need to be looked at by those
who know the platform.  It looks like some sort of conversion to
better share code was done, but the omap4panda part didn't get
the full attention it needed.  I did what I think looks right,
based on what was done for the other board, but I've no knowledge
of the platform whatsoever, and hence no confidence it would
work as desired.  I've hopefully put the right people on the CC
list for those.

Paul.
---

Paul Gortmaker (3):
  arm: anticipate build breakages due in pending merge
  arm: fix compile error in mach-omap2/board-omap4panda.c
  arm: more fallout from i2c conversions in board-omap4panda.c

 arch/arm/mach-omap2/board-omap4panda.c |    7 +++----
 arch/arm/mach-omap2/cm2xxx_3xxx.c      |    2 ++
 arch/arm/mach-omap2/common.c           |    1 +
 arch/arm/mach-omap2/control.c          |    1 +
 arch/arm/mach-omap2/sdrc2xxx.c         |    1 +
 5 files changed, 8 insertions(+), 4 deletions(-)

-- 
1.7.9.1

[PATCH 1/3] arm: anticipate build breakages due in pending merge

From: Paul Gortmaker <hidden>
Date: 2012-03-05 22:41:48

Testing in linux-next has revealed that the omap2plus_defconfig
will fail upon the merge of "arm-soc/for-next" as follows:

arch/arm/mach-omap2/control.c:238: error: 'OMAP343X_CTRL_BASE' undeclared (first use in this function)
arch/arm/mach-omap2/common.c:48: error: 'OMAP2420_SDRC_BASE' undeclared here (not in a function)
arch/arm/mach-omap2/common.c:49: error: 'OMAP2420_SMS_BASE' undeclared here (not in a function)
arch/arm/mach-omap2/common.c:50: error: 'OMAP242X_CTRL_BASE' undeclared here (not in a function)
 [...]
arch/arm/mach-omap2/common.c:167: error: 'OMAP4430_CM2_BASE' undeclared here (not in a function)
arch/arm/mach-omap2/sdrc2xxx.c:108: error: 'OMAP2420_PRM_BASE' undeclared (first use in this function)
arch/arm/mach-omap2/cm2xxx_3xxx.c:310: error: 'OMAP3430_CM_BASE' undeclared (first use in this function)

It appears that a once implicit path to <plat/hardware.h> has gone
away once two of the arm streams come together.

Signed-off-by: Paul Gortmaker <redacted>
---
 arch/arm/mach-omap2/cm2xxx_3xxx.c |    2 ++
 arch/arm/mach-omap2/common.c      |    1 +
 arch/arm/mach-omap2/control.c     |    1 +
 arch/arm/mach-omap2/sdrc2xxx.c    |    1 +
 4 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/cm2xxx_3xxx.c b/arch/arm/mach-omap2/cm2xxx_3xxx.c
index c79ed63..389f9f8 100644
--- a/arch/arm/mach-omap2/cm2xxx_3xxx.c
+++ b/arch/arm/mach-omap2/cm2xxx_3xxx.c
@@ -18,6 +18,8 @@
 #include <linux/err.h>
 #include <linux/io.h>
 
+#include <plat/hardware.h>
+
 #include "iomap.h"
 #include "common.h"
 #include "cm.h"
diff --git a/arch/arm/mach-omap2/common.c b/arch/arm/mach-omap2/common.c
index 93419de..d620362 100644
--- a/arch/arm/mach-omap2/common.c
+++ b/arch/arm/mach-omap2/common.c
@@ -20,6 +20,7 @@
 #include <plat/board.h>
 #include <plat/mux.h>
 #include <plat/clock.h>
+#include <plat/hardware.h>
 
 #include "iomap.h"
 #include "common.h"
diff --git a/arch/arm/mach-omap2/control.c b/arch/arm/mach-omap2/control.c
index 2fd5fd1..18ff359 100644
--- a/arch/arm/mach-omap2/control.c
+++ b/arch/arm/mach-omap2/control.c
@@ -16,6 +16,7 @@
 #include <linux/io.h>
 
 #include <plat/sdrc.h>
+#include <plat/hardware.h>
 
 #include "iomap.h"
 #include "common.h"
diff --git a/arch/arm/mach-omap2/sdrc2xxx.c b/arch/arm/mach-omap2/sdrc2xxx.c
index 2c329a6..181b0c5 100644
--- a/arch/arm/mach-omap2/sdrc2xxx.c
+++ b/arch/arm/mach-omap2/sdrc2xxx.c
@@ -27,6 +27,7 @@
 #include <plat/clock.h>
 #include <plat/sram.h>
 #include <plat/sdrc.h>
+#include <plat/hardware.h>
 
 #include "iomap.h"
 #include "common.h"
-- 
1.7.9.1

[PATCH 1/3] arm: anticipate build breakages due in pending merge

From: tony@atomide.com (Tony Lindgren)
Date: 2012-03-05 22:45:35

* Paul Gortmaker [off-list ref] [120305 14:10]:
Testing in linux-next has revealed that the omap2plus_defconfig
will fail upon the merge of "arm-soc/for-next" as follows:

arch/arm/mach-omap2/control.c:238: error: 'OMAP343X_CTRL_BASE' undeclared (first use in this function)
arch/arm/mach-omap2/common.c:48: error: 'OMAP2420_SDRC_BASE' undeclared here (not in a function)
arch/arm/mach-omap2/common.c:49: error: 'OMAP2420_SMS_BASE' undeclared here (not in a function)
arch/arm/mach-omap2/common.c:50: error: 'OMAP242X_CTRL_BASE' undeclared here (not in a function)
 [...]
arch/arm/mach-omap2/common.c:167: error: 'OMAP4430_CM2_BASE' undeclared here (not in a function)
arch/arm/mach-omap2/sdrc2xxx.c:108: error: 'OMAP2420_PRM_BASE' undeclared (first use in this function)
arch/arm/mach-omap2/cm2xxx_3xxx.c:310: error: 'OMAP3430_CM_BASE' undeclared (first use in this function)

It appears that a once implicit path to <plat/hardware.h> has gone
away once two of the arm streams come together.
Thanks this one is already waiting to be applied to arm-soc
tree.

Regards,

Tony

[PATCH 2/3] arm: fix compile error in mach-omap2/board-omap4panda.c

From: Paul Gortmaker <hidden>
Date: 2012-03-05 22:41:49

The commit 3c90c98a1ebbb08d95700ce8a3b7bce6286607bd (linux-next)

    "OMAP4: omap4panda: Enable audio support"

introduced population of a new struct, but chose the wrong (but
similarly named) struct that has none of the named fields.

Change it to the struct with those fields, to fix:

arch/arm/mach-omap2/board-omap4panda.c:284: error: unknown field 'hs_left_step' specified in initializer
arch/arm/mach-omap2/board-omap4panda.c:285: error: unknown field 'hs_right_step' specified in initializer
arch/arm/mach-omap2/board-omap4panda.c:286: error: unknown field 'hf_left_step' specified in initializer
arch/arm/mach-omap2/board-omap4panda.c:287: error: unknown field 'hf_right_step' specified in initializer
arch/arm/mach-omap2/board-omap4panda.c:287: warning: large integer implicitly truncated to unsigned type

Signed-off-by: Paul Gortmaker <redacted>
CC: Peter Ujfalusi <redacted>
CC: Santosh Shilimkar <redacted>
CC: Tony Lindgren <tony@atomide.com>
---
 arch/arm/mach-omap2/board-omap4panda.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index c1a852d..e919153 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -279,7 +279,7 @@ static int __init omap4_twl6030_hsmmc_init(struct omap2_hsmmc_info *controllers)
 	return 0;
 }
 
-static struct twl4030_codec_data twl6040_codec = {
+static struct twl6040_codec_data twl6040_codec = {
 	/* single-step ramp for headset and handsfree */
 	.hs_left_step	= 0x0f,
 	.hs_right_step	= 0x0f,
-- 
1.7.9.1

[PATCH 2/3] arm: fix compile error in mach-omap2/board-omap4panda.c

From: tony@atomide.com (Tony Lindgren)
Date: 2012-03-05 22:46:28

* Paul Gortmaker [off-list ref] [120305 14:10]:
The commit 3c90c98a1ebbb08d95700ce8a3b7bce6286607bd (linux-next)

    "OMAP4: omap4panda: Enable audio support"

introduced population of a new struct, but chose the wrong (but
similarly named) struct that has none of the named fields.

Change it to the struct with those fields, to fix:

arch/arm/mach-omap2/board-omap4panda.c:284: error: unknown field 'hs_left_step' specified in initializer
arch/arm/mach-omap2/board-omap4panda.c:285: error: unknown field 'hs_right_step' specified in initializer
arch/arm/mach-omap2/board-omap4panda.c:286: error: unknown field 'hf_left_step' specified in initializer
arch/arm/mach-omap2/board-omap4panda.c:287: error: unknown field 'hf_right_step' specified in initializer
arch/arm/mach-omap2/board-omap4panda.c:287: warning: large integer implicitly truncated to unsigned type
Thanks, this mis-merge is something Peter should take a look at
as it seems there's few other parts that got left out.

Regards,

Tony
 
quoted hunk
Signed-off-by: Paul Gortmaker <redacted>
CC: Peter Ujfalusi <redacted>
CC: Santosh Shilimkar <redacted>
CC: Tony Lindgren <tony@atomide.com>
---
 arch/arm/mach-omap2/board-omap4panda.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index c1a852d..e919153 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -279,7 +279,7 @@ static int __init omap4_twl6030_hsmmc_init(struct omap2_hsmmc_info *controllers)
 	return 0;
 }
 
-static struct twl4030_codec_data twl6040_codec = {
+static struct twl6040_codec_data twl6040_codec = {
 	/* single-step ramp for headset and handsfree */
 	.hs_left_step	= 0x0f,
 	.hs_right_step	= 0x0f,
-- 
1.7.9.1

[PATCH 2/3] arm: fix compile error in mach-omap2/board-omap4panda.c

From: Peter Ujfalusi <hidden>
Date: 2012-03-06 11:03:38

Hi,

On 03/06/2012 12:41 AM, Paul Gortmaker wrote:
The commit 3c90c98a1ebbb08d95700ce8a3b7bce6286607bd (linux-next)

    "OMAP4: omap4panda: Enable audio support"

introduced population of a new struct, but chose the wrong (but
similarly named) struct that has none of the named fields.

Change it to the struct with those fields, to fix:

arch/arm/mach-omap2/board-omap4panda.c:284: error: unknown field 'hs_left_step' specified in initializer
arch/arm/mach-omap2/board-omap4panda.c:285: error: unknown field 'hs_right_step' specified in initializer
arch/arm/mach-omap2/board-omap4panda.c:286: error: unknown field 'hf_left_step' specified in initializer
arch/arm/mach-omap2/board-omap4panda.c:287: error: unknown field 'hf_right_step' specified in initializer
arch/arm/mach-omap2/board-omap4panda.c:287: warning: large integer implicitly truncated to unsigned type
Yes, I have also noticed it.
This is because part of the twl6040 i2c conversion series has been taken
by Samuel.
He will stop carrying it further (I hope), and we are going to have a
bit different series going via audio.
Samuel did not took the panda part of the patches since it had some
other dependencies coming via audio tree.

The thing is that the panda audio support is coming via ASoC to
linux-next, so Samuel could not take the patch addressing this breakage
(mfd tree does not have the needed patches).

I'm not sure where we could apply this patch in the first place since
mfd does not have the panda audio support patches, and currently the
ASoC does not have the twl6040 i2c conversion patches either...
quoted hunk
Signed-off-by: Paul Gortmaker <redacted>
CC: Peter Ujfalusi <redacted>
CC: Santosh Shilimkar <redacted>
CC: Tony Lindgren <tony@atomide.com>
---
 arch/arm/mach-omap2/board-omap4panda.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index c1a852d..e919153 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -279,7 +279,7 @@ static int __init omap4_twl6030_hsmmc_init(struct omap2_hsmmc_info *controllers)
 	return 0;
 }
 
-static struct twl4030_codec_data twl6040_codec = {
+static struct twl6040_codec_data twl6040_codec = {
 	/* single-step ramp for headset and handsfree */
 	.hs_left_step	= 0x0f,
 	.hs_right_step	= 0x0f,

-- 
P?ter

[PATCH 3/3] arm: more fallout from i2c conversions in board-omap4panda.c

From: Paul Gortmaker <hidden>
Date: 2012-03-05 22:41:50

Commit ded0df8510778a03a2f182a0cbfe3c25788e8852 (linux-next)

   "mfd: Convert twl6040 to an i2c driver, and separate it from twl core"

appears to have done an incomplete conversion on the board-omap4panda.c
file, leaving it with more build failures.  Comparing the changes that
were done for board-4430sdp.c it is possible for me to whack it with a
stick until it stops twitching, but someone who really understands this
code needs to take a look at the conversion, and check it is done
completely and in a way that will actually work on hardware.

Signed-off-by: Paul Gortmaker <redacted>
CC: Peter Ujfalusi <redacted>
CC: Mark Brown <redacted>
CC: Samuel Ortiz <redacted>
---
 arch/arm/mach-omap2/board-omap4panda.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index e919153..16a1814 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -287,16 +287,15 @@ static struct twl6040_codec_data twl6040_codec = {
 	.hf_right_step	= 0x1d,
 };
 
-static struct twl4030_audio_data twl6040_audio = {
+static struct twl6040_platform_data twl6040_data = {
 	.codec		= &twl6040_codec,
 	.audpwron_gpio	= 127,
-	.naudint_irq	= OMAP44XX_IRQ_SYS_2N,
 	.irq_base	= TWL6040_CODEC_IRQ_BASE,
 };
 
 /* Panda board uses the common PMIC configuration */
 static struct twl4030_platform_data omap4_panda_twldata = {
-	.audio		= &twl6040_audio,
+   /*	.audio		= &twl6040_audio,	*/
 };
 
 /*
-- 
1.7.9.1

[PATCH 3/3] arm: more fallout from i2c conversions in board-omap4panda.c

From: Peter Ujfalusi <hidden>
Date: 2012-03-06 12:27:24

Hi,

On 03/06/2012 12:41 AM, Paul Gortmaker wrote:
Commit ded0df8510778a03a2f182a0cbfe3c25788e8852 (linux-next)

   "mfd: Convert twl6040 to an i2c driver, and separate it from twl core"

appears to have done an incomplete conversion on the board-omap4panda.c
file, leaving it with more build failures.  Comparing the changes that
were done for board-4430sdp.c it is possible for me to whack it with a
stick until it stops twitching, but someone who really understands this
code needs to take a look at the conversion, and check it is done
completely and in a way that will actually work on hardware.
This is true.
I'm sending a revert series for the twl6040 patches causing this
breakage for Samuel.
The same feature will go via audio tree because the dependencies are
queued in that feature tree.

-- 
P?ter

PS: this might fix the compile breakage with omap2_defconfig, but the
audio will not work if you enable the support for it on OMAP4.
quoted hunk
Signed-off-by: Paul Gortmaker <redacted>
CC: Peter Ujfalusi <redacted>
CC: Mark Brown <redacted>
CC: Samuel Ortiz <redacted>
---
 arch/arm/mach-omap2/board-omap4panda.c |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/arm/mach-omap2/board-omap4panda.c b/arch/arm/mach-omap2/board-omap4panda.c
index e919153..16a1814 100644
--- a/arch/arm/mach-omap2/board-omap4panda.c
+++ b/arch/arm/mach-omap2/board-omap4panda.c
@@ -287,16 +287,15 @@ static struct twl6040_codec_data twl6040_codec = {
 	.hf_right_step	= 0x1d,
 };
 
-static struct twl4030_audio_data twl6040_audio = {
+static struct twl6040_platform_data twl6040_data = {
 	.codec		= &twl6040_codec,
 	.audpwron_gpio	= 127,
-	.naudint_irq	= OMAP44XX_IRQ_SYS_2N,
 	.irq_base	= TWL6040_CODEC_IRQ_BASE,
 };
 
 /* Panda board uses the common PMIC configuration */
 static struct twl4030_platform_data omap4_panda_twldata = {
-	.audio		= &twl6040_audio,
+   /*	.audio		= &twl6040_audio,	*/
 };
 
 /*
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help