Re: [PATCH] OMAP: Fix linking error in twl-common.c for OMAP2/3/4 only builds

2011-09-28 Thread Tony Lindgren
Hi,

Sorry for the delay in replying..

* Michael Jones michael.jo...@matrix-vision.de [110811 07:34]:
 
 I still stumbled upon these linker errors when building for my OMAP3
 board, using the current linux-omap master branch. I inadvertently had
 CONFIG_ARCH_OMAP4=y (leftover from my starting point,
 omap2plus_defconfig), but didn't have any of the boards with
 omap_phy_internal.o selected (OMAP_4430SDP, OMAP4_PANDA, PCM049, PCM049,
 OMAP3517EVM). Maybe this isn't a concern anyway, since anybody building
 with CONFIG_ARCH_OMAP4 will presumably also be building one of those
 boards? I don't know if it is our goal to build successfully with every
 wacky CONFIG_ combination, but I thought I would report it here just in
 case.

Probably the best way is to get omap specific randconfigs going based
on something what Arnd posted few days ago. Even with the old defconfig
files we'll still be missing many corner cases.

Regards,

Tony
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] OMAP: Fix linking error in twl-common.c for OMAP2/3/4 only builds

2011-08-11 Thread Michael Jones
Hi,

On 08/10/2011 11:15 AM, Tony Lindgren wrote:
 
 * Peter Ujfalusi peter.ujfal...@ti.com [110809 05:31]:
 Avoid compiling code for OMAP arch which is not selected by the
 config.

 Fixes issues like:
 With CONFIG_ARCH_OMAP3=y and CONFIG_ARCH_OMAP4=n, I'm getting this:

 arch/arm/mach-omap2/built-in.o:(.data+0xf99c): undefined reference to 
 `omap4430_phy_init'
 arch/arm/mach-omap2/built-in.o:(.data+0xf9a0): undefined reference to 
 `omap4430_phy_exit'
 arch/arm/mach-omap2/built-in.o:(.data+0xf9a4): undefined reference to 
 `omap4430_phy_power'
 arch/arm/mach-omap2/built-in.o:(.data+0xf9a8): undefined reference to 
 `omap4430_phy_set_clk'
 arch/arm/mach-omap2/built-in.o:(.data+0xf9ac): undefined reference to 
 `omap4430_phy_suspend'

 Signed-off-by: Peter Ujfalusi peter.ujfal...@ti.com

 Hi Russel, Tony,

 This patch fixes the linking error caused by the twl-common.c file,
 when the kernel is built for OMAP2/3/4 only.
 
 Thanks, I'll queue this one as a fix with updated comments as below.
 
 Regards,
 
 Tony
 
 
 From: Peter Ujfalusi peter.ujfal...@ti.com
 Date: Tue, 9 Aug 2011 15:36:50 +0300
 Subject: [PATCH] OMAP: Fix linking error in twl-common.c for OMAP2/3/4 only 
 builds
 
[snip]

I still stumbled upon these linker errors when building for my OMAP3
board, using the current linux-omap master branch. I inadvertently had
CONFIG_ARCH_OMAP4=y (leftover from my starting point,
omap2plus_defconfig), but didn't have any of the boards with
omap_phy_internal.o selected (OMAP_4430SDP, OMAP4_PANDA, PCM049, PCM049,
OMAP3517EVM). Maybe this isn't a concern anyway, since anybody building
with CONFIG_ARCH_OMAP4 will presumably also be building one of those
boards? I don't know if it is our goal to build successfully with every
wacky CONFIG_ combination, but I thought I would report it here just in
case.

-Michael

MATRIX VISION GmbH, Talstrasse 16, DE-71570 Oppenweiler
Registergericht: Amtsgericht Stuttgart, HRB 271090
Geschaeftsfuehrer: Gerhard Thullner, Werner Armingeon, Uwe Furtner, Erhard Meier
--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH] OMAP: Fix linking error in twl-common.c for OMAP2/3/4 only builds

2011-08-10 Thread Tony Lindgren
* Peter Ujfalusi peter.ujfal...@ti.com [110809 05:31]:
 Avoid compiling code for OMAP arch which is not selected by the
 config.
 
 Fixes issues like:
 With CONFIG_ARCH_OMAP3=y and CONFIG_ARCH_OMAP4=n, I'm getting this:
 
 arch/arm/mach-omap2/built-in.o:(.data+0xf99c): undefined reference to 
 `omap4430_phy_init'
 arch/arm/mach-omap2/built-in.o:(.data+0xf9a0): undefined reference to 
 `omap4430_phy_exit'
 arch/arm/mach-omap2/built-in.o:(.data+0xf9a4): undefined reference to 
 `omap4430_phy_power'
 arch/arm/mach-omap2/built-in.o:(.data+0xf9a8): undefined reference to 
 `omap4430_phy_set_clk'
 arch/arm/mach-omap2/built-in.o:(.data+0xf9ac): undefined reference to 
 `omap4430_phy_suspend'
 
 Signed-off-by: Peter Ujfalusi peter.ujfal...@ti.com
 
 Hi Russel, Tony,
 
 This patch fixes the linking error caused by the twl-common.c file,
 when the kernel is built for OMAP2/3/4 only.

Thanks, I'll queue this one as a fix with updated comments as below.

Regards,

Tony


From: Peter Ujfalusi peter.ujfal...@ti.com
Date: Tue, 9 Aug 2011 15:36:50 +0300
Subject: [PATCH] OMAP: Fix linking error in twl-common.c for OMAP2/3/4 only 
builds

Commit b22f954 (OMAP4: Move common twl6030 configuration to twl-common)
caused compile failures for code for OMAP arch which is not selected by
the config.

Fixes issues like:
With CONFIG_ARCH_OMAP3=y and CONFIG_ARCH_OMAP4=n, I'm getting this:

arch/arm/mach-omap2/built-in.o:(.data+0xf99c): undefined reference to 
`omap4430_phy_init'
arch/arm/mach-omap2/built-in.o:(.data+0xf9a0): undefined reference to 
`omap4430_phy_exit'
arch/arm/mach-omap2/built-in.o:(.data+0xf9a4): undefined reference to 
`omap4430_phy_power'
arch/arm/mach-omap2/built-in.o:(.data+0xf9a8): undefined reference to 
`omap4430_phy_set_clk'
arch/arm/mach-omap2/built-in.o:(.data+0xf9ac): undefined reference to 
`omap4430_phy_suspend'

Fix the problem by moving the code to ifdef sections for omap3 and omap4.

Signed-off-by: Peter Ujfalusi peter.ujfal...@ti.com
[t...@atomide.com: updated comments]
Signed-off-by: Tony Lindgren t...@atomide.com

diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
index 2543342..daa056e 100644
--- a/arch/arm/mach-omap2/twl-common.c
+++ b/arch/arm/mach-omap2/twl-common.c
@@ -48,14 +48,7 @@ void __init omap_pmic_init(int bus, u32 clkrate,
omap_register_i2c_bus(bus, clkrate, pmic_i2c_board_info, 1);
 }
 
-static struct twl4030_usb_data omap4_usb_pdata = {
-   .phy_init   = omap4430_phy_init,
-   .phy_exit   = omap4430_phy_exit,
-   .phy_power  = omap4430_phy_power,
-   .phy_set_clock  = omap4430_phy_set_clk,
-   .phy_suspend= omap4430_phy_suspend,
-};
-
+#if defined(CONFIG_ARCH_OMAP3)
 static struct twl4030_usb_data omap3_usb_pdata = {
.usb_mode   = T2_USB_MODE_ULPI,
 };
@@ -122,6 +115,45 @@ static struct regulator_init_data omap3_vpll2_idata = {
.consumer_supplies  = omap3_vpll2_supplies,
 };
 
+void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data,
+ u32 pdata_flags, u32 regulators_flags)
+{
+   if (!pmic_data-irq_base)
+   pmic_data-irq_base = TWL4030_IRQ_BASE;
+   if (!pmic_data-irq_end)
+   pmic_data-irq_end = TWL4030_IRQ_END;
+
+   /* Common platform data configurations */
+   if (pdata_flags  TWL_COMMON_PDATA_USB  !pmic_data-usb)
+   pmic_data-usb = omap3_usb_pdata;
+
+   if (pdata_flags  TWL_COMMON_PDATA_BCI  !pmic_data-bci)
+   pmic_data-bci = omap3_bci_pdata;
+
+   if (pdata_flags  TWL_COMMON_PDATA_MADC  !pmic_data-madc)
+   pmic_data-madc = omap3_madc_pdata;
+
+   if (pdata_flags  TWL_COMMON_PDATA_AUDIO  !pmic_data-audio)
+   pmic_data-audio = omap3_audio_pdata;
+
+   /* Common regulator configurations */
+   if (regulators_flags  TWL_COMMON_REGULATOR_VDAC  !pmic_data-vdac)
+   pmic_data-vdac = omap3_vdac_idata;
+
+   if (regulators_flags  TWL_COMMON_REGULATOR_VPLL2  !pmic_data-vpll2)
+   pmic_data-vpll2 = omap3_vpll2_idata;
+}
+#endif /* CONFIG_ARCH_OMAP3 */
+
+#if defined(CONFIG_ARCH_OMAP4)
+static struct twl4030_usb_data omap4_usb_pdata = {
+   .phy_init   = omap4430_phy_init,
+   .phy_exit   = omap4430_phy_exit,
+   .phy_power  = omap4430_phy_power,
+   .phy_set_clock  = omap4430_phy_set_clk,
+   .phy_suspend= omap4430_phy_suspend,
+};
+
 static struct regulator_init_data omap4_vdac_idata = {
.constraints = {
.min_uV = 180,
@@ -273,32 +305,4 @@ void __init omap4_pmic_get_config(struct 
twl4030_platform_data *pmic_data,
!pmic_data-clk32kg)
pmic_data-clk32kg = omap4_clk32kg_idata;
 }
-
-void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data,
- u32 pdata_flags, u32 regulators_flags)
-{
-   if (!pmic_data-irq_base)
-   pmic_data

[PATCH] OMAP: Fix linking error in twl-common.c for OMAP2/3/4 only builds

2011-08-09 Thread Peter Ujfalusi
Avoid compiling code for OMAP arch which is not selected by the
config.

Fixes issues like:
With CONFIG_ARCH_OMAP3=y and CONFIG_ARCH_OMAP4=n, I'm getting this:

arch/arm/mach-omap2/built-in.o:(.data+0xf99c): undefined reference to 
`omap4430_phy_init'
arch/arm/mach-omap2/built-in.o:(.data+0xf9a0): undefined reference to 
`omap4430_phy_exit'
arch/arm/mach-omap2/built-in.o:(.data+0xf9a4): undefined reference to 
`omap4430_phy_power'
arch/arm/mach-omap2/built-in.o:(.data+0xf9a8): undefined reference to 
`omap4430_phy_set_clk'
arch/arm/mach-omap2/built-in.o:(.data+0xf9ac): undefined reference to 
`omap4430_phy_suspend'

Signed-off-by: Peter Ujfalusi peter.ujfal...@ti.com

Hi Russel, Tony,

This patch fixes the linking error caused by the twl-common.c file,
when the kernel is built for OMAP2/3/4 only.

Regards,
Peter
---
 arch/arm/mach-omap2/twl-common.c |   78 --
 1 files changed, 41 insertions(+), 37 deletions(-)

diff --git a/arch/arm/mach-omap2/twl-common.c b/arch/arm/mach-omap2/twl-common.c
index 2543342..daa056e 100644
--- a/arch/arm/mach-omap2/twl-common.c
+++ b/arch/arm/mach-omap2/twl-common.c
@@ -48,14 +48,7 @@ void __init omap_pmic_init(int bus, u32 clkrate,
omap_register_i2c_bus(bus, clkrate, pmic_i2c_board_info, 1);
 }
 
-static struct twl4030_usb_data omap4_usb_pdata = {
-   .phy_init   = omap4430_phy_init,
-   .phy_exit   = omap4430_phy_exit,
-   .phy_power  = omap4430_phy_power,
-   .phy_set_clock  = omap4430_phy_set_clk,
-   .phy_suspend= omap4430_phy_suspend,
-};
-
+#if defined(CONFIG_ARCH_OMAP3)
 static struct twl4030_usb_data omap3_usb_pdata = {
.usb_mode   = T2_USB_MODE_ULPI,
 };
@@ -122,6 +115,45 @@ static struct regulator_init_data omap3_vpll2_idata = {
.consumer_supplies  = omap3_vpll2_supplies,
 };
 
+void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data,
+ u32 pdata_flags, u32 regulators_flags)
+{
+   if (!pmic_data-irq_base)
+   pmic_data-irq_base = TWL4030_IRQ_BASE;
+   if (!pmic_data-irq_end)
+   pmic_data-irq_end = TWL4030_IRQ_END;
+
+   /* Common platform data configurations */
+   if (pdata_flags  TWL_COMMON_PDATA_USB  !pmic_data-usb)
+   pmic_data-usb = omap3_usb_pdata;
+
+   if (pdata_flags  TWL_COMMON_PDATA_BCI  !pmic_data-bci)
+   pmic_data-bci = omap3_bci_pdata;
+
+   if (pdata_flags  TWL_COMMON_PDATA_MADC  !pmic_data-madc)
+   pmic_data-madc = omap3_madc_pdata;
+
+   if (pdata_flags  TWL_COMMON_PDATA_AUDIO  !pmic_data-audio)
+   pmic_data-audio = omap3_audio_pdata;
+
+   /* Common regulator configurations */
+   if (regulators_flags  TWL_COMMON_REGULATOR_VDAC  !pmic_data-vdac)
+   pmic_data-vdac = omap3_vdac_idata;
+
+   if (regulators_flags  TWL_COMMON_REGULATOR_VPLL2  !pmic_data-vpll2)
+   pmic_data-vpll2 = omap3_vpll2_idata;
+}
+#endif /* CONFIG_ARCH_OMAP3 */
+
+#if defined(CONFIG_ARCH_OMAP4)
+static struct twl4030_usb_data omap4_usb_pdata = {
+   .phy_init   = omap4430_phy_init,
+   .phy_exit   = omap4430_phy_exit,
+   .phy_power  = omap4430_phy_power,
+   .phy_set_clock  = omap4430_phy_set_clk,
+   .phy_suspend= omap4430_phy_suspend,
+};
+
 static struct regulator_init_data omap4_vdac_idata = {
.constraints = {
.min_uV = 180,
@@ -273,32 +305,4 @@ void __init omap4_pmic_get_config(struct 
twl4030_platform_data *pmic_data,
!pmic_data-clk32kg)
pmic_data-clk32kg = omap4_clk32kg_idata;
 }
-
-void __init omap3_pmic_get_config(struct twl4030_platform_data *pmic_data,
- u32 pdata_flags, u32 regulators_flags)
-{
-   if (!pmic_data-irq_base)
-   pmic_data-irq_base = TWL4030_IRQ_BASE;
-   if (!pmic_data-irq_end)
-   pmic_data-irq_end = TWL4030_IRQ_END;
-
-   /* Common platform data configurations */
-   if (pdata_flags  TWL_COMMON_PDATA_USB  !pmic_data-usb)
-   pmic_data-usb = omap3_usb_pdata;
-
-   if (pdata_flags  TWL_COMMON_PDATA_BCI  !pmic_data-bci)
-   pmic_data-bci = omap3_bci_pdata;
-
-   if (pdata_flags  TWL_COMMON_PDATA_MADC  !pmic_data-madc)
-   pmic_data-madc = omap3_madc_pdata;
-
-   if (pdata_flags  TWL_COMMON_PDATA_AUDIO  !pmic_data-audio)
-   pmic_data-audio = omap3_audio_pdata;
-
-   /* Common regulator configurations */
-   if (regulators_flags  TWL_COMMON_REGULATOR_VDAC  !pmic_data-vdac)
-   pmic_data-vdac = omap3_vdac_idata;
-
-   if (regulators_flags  TWL_COMMON_REGULATOR_VPLL2  !pmic_data-vpll2)
-   pmic_data-vpll2 = omap3_vpll2_idata;
-}
+#endif /* CONFIG_ARCH_OMAP4 */
-- 
1.7.6

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to