Skip to contentSkip to conversation

omap: Fix linker error in drivers/video/omap/lcd_2430sdp.c

PATCH Superseded Jarkko Nikula 3 participants 10 messages Feb 20, 2011 – Mar 2, 2011

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

PATCH 1/1 omap: Fix linker error in drivers/video/omap/lcd_2430sdp.c

There is a linker error from lcd_2430sdp.c if CONFIG_TWL4030_CORE is not set. This can be triggered on OMAP2 builds where OMAP3 or OMAP4 are not set.

drivers/built-in.o: In function `sdp2430_panel_disable':
drivers/video/omap/lcd_2430sdp.c:123: undefined reference to twl_i2c_write_u8' drivers/video/omap/lcd_2430sdp.c:124: undefined reference to twl_i2c_write_u8' drivers/built-in.o: In function `sdp2430_panel_enable':
drivers/video/omap/lcd_2430sdp.c:110: undefined reference to twl_i2c_write_u8' drivers/video/omap/lcd_2430sdp.c:112: undefined reference to twl_i2c_write_u8'

Fix this by adding TWL4030_CORE dependency to CONFIG_MACH_OMAP_2430SDP as there is no own entry in drivers/video/omap/Kconfig.

---
Quite old issue most probably. Can be triggered in mainline anyway.

---
 arch/arm/mach-omap2/Kconfig |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/Kconfig +1 -0
index b9d8a7b..bfdf240 100644
@@ -132,6 +132,7 @@ config MACH_OMAP_2430SDP
 	depends on SOC_OMAP2430
 	default y
 	select OMAP_PACKAGE_ZAC
+	select TWL4030_CORE
 
 config MACH_OMAP3_BEAGLE
 	bool "OMAP3 BEAGLE board"
Signature · 1 line
1.7.0.4
#1 lore raw

PATCH RESEND 1/1 omap: Fix linker error in drivers/video/omap/lcd_2430sdp.c

There is a linker error from lcd_2430sdp.c if CONFIG_TWL4030_CORE is not set. This can be triggered on OMAP2 builds where OMAP3 or OMAP4 are not set.

drivers/built-in.o: In function `sdp2430_panel_disable':
drivers/video/omap/lcd_2430sdp.c:123: undefined reference to twl_i2c_write_u8' drivers/video/omap/lcd_2430sdp.c:124: undefined reference to twl_i2c_write_u8' drivers/built-in.o: In function `sdp2430_panel_enable':
drivers/video/omap/lcd_2430sdp.c:110: undefined reference to twl_i2c_write_u8' drivers/video/omap/lcd_2430sdp.c:112: undefined reference to twl_i2c_write_u8'

Fix this by adding TWL4030_CORE dependency to CONFIG_MACH_OMAP_2430SDP as there is no own entry in drivers/video/omap/Kconfig.

---
Resend = forgot to cc LAKML.
Quite old issue most probably. Can be triggered in mainline anyway.

---
 arch/arm/mach-omap2/Kconfig |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/Kconfig +1 -0
index b9d8a7b..bfdf240 100644
@@ -132,6 +132,7 @@ config MACH_OMAP_2430SDP
 	depends on SOC_OMAP2430
 	default y
 	select OMAP_PACKAGE_ZAC
+	select TWL4030_CORE
 
 config MACH_OMAP3_BEAGLE
 	bool "OMAP3 BEAGLE board"
Signature · 1 line
1.7.0.4
maintainer
#2 lore raw

PATCH RESEND 1/1 omap: Fix linker error in drivers/video/omap/lcd_2430sdp.c

Hi,

Quoted 27 lines · Jarkko Nikula

There is a linker error from lcd_2430sdp.c if CONFIG_TWL4030_CORE is not set. This can be triggered on OMAP2 builds where OMAP3 or OMAP4 are not set.

drivers/built-in.o: In function `sdp2430_panel_disable':
drivers/video/omap/lcd_2430sdp.c:123: undefined reference to twl_i2c_write_u8' drivers/video/omap/lcd_2430sdp.c:124: undefined reference to twl_i2c_write_u8' drivers/built-in.o: In function `sdp2430_panel_enable':
drivers/video/omap/lcd_2430sdp.c:110: undefined reference to twl_i2c_write_u8' drivers/video/omap/lcd_2430sdp.c:112: undefined reference to twl_i2c_write_u8'

Fix this by adding TWL4030_CORE dependency to CONFIG_MACH_OMAP_2430SDP as there is no own entry in drivers/video/omap/Kconfig.

---
Resend = forgot to cc LAKML.
Quite old issue most probably. Can be triggered in mainline anyway.

---
 arch/arm/mach-omap2/Kconfig |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
arch/arm/mach-omap2/Kconfig +0 -0
index b9d8a7b..bfdf240 100644

arch/arm/mach-omap2/Kconfig config MACH_OMAP_2430SDP · line 138

Quoted 7 lines
arch/arm/mach-omap2/Kconfig +1 -0
@@ -132,6 +132,7 @@ config MACH_OMAP_2430SDP
 	depends on SOC_OMAP2430
 	default y
 	select OMAP_PACKAGE_ZAC
+	select TWL4030_CORE
 
 config MACH_OMAP3_BEAGLE
 	bool "OMAP3 BEAGLE board"

We should avoid selecting driver related things, otherwise we can never build a tiny kernel with initramfs with everything as modules.

Can you see if adding depends to the LCD panel option does the trick instead?

Thanks,

Tony

#3 lore raw

PATCH RESEND 1/1 omap: Fix linker error in drivers/video/omap/lcd_2430sdp.c

Quoted 6 lines · On Thu, 24 Feb 2011 13:26:44 -0800 Tony Lindgren <[email protected]> wrote:

We should avoid selecting driver related things, otherwise we can never build a tiny kernel with initramfs with everything as modules.

Can you see if adding depends to the LCD panel option does the trick instead?

True and as lcd_2430sdp.c is not compiled without CONFIG_FB_OMAP a hack below should work a bit better.

What would you think Tomi?

drivers/video/omap/Kconfig +1 -0
index 083c8fe..c981249 100644
@@ -5,6 +5,7 @@ config FB_OMAP
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
+	select TWL4030_CORE if MACH_OMAP_2430SDP
 	help
           Frame buffer driver for OMAP based boards.
 
Signature · 1 line
Jarkko
#4 lore raw

PATCH RESEND 1/1 omap: Fix linker error in drivers/video/omap/lcd_2430sdp.c

Quoted 19 lines · Jarkko Nikula
Quoted 6 lines · On Thu, 24 Feb 2011 13:26:44 -0800 Tony Lindgren <[email protected]> wrote:

We should avoid selecting driver related things, otherwise we can never build a tiny kernel with initramfs with everything as modules.

Can you see if adding depends to the LCD panel option does the trick instead?

True and as lcd_2430sdp.c is not compiled without CONFIG_FB_OMAP a hack below should work a bit better.

What would you think Tomi?

drivers/video/omap/Kconfig +0 -0
index 083c8fe..c981249 100644

drivers/video/omap/Kconfig config FB_OMAP · line 11

Quoted 7 lines
drivers/video/omap/Kconfig +1 -0
@@ -5,6 +5,7 @@ config FB_OMAP
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
+	select TWL4030_CORE if MACH_OMAP_2430SDP
 	help
           Frame buffer driver for OMAP based boards.
 

Well, it's a bit ugly, but I'm fine with it. It's for the old omapfb, which hopefully nobody uses anymore (right =), and there's no simple way to make it modular and neat.

The old omapfb compiles lcd_2430sdp always into the kernel if MACH_OMAP_2430SDP is defined, so this looks like a correct fix to me.

Heh, interestingly, the old omapfb Makefile says: "Makefile for the new OMAP framebuffer device driver". Things are relative =).

Tomi

maintainer
#5 lore raw

PATCH RESEND 1/1 omap: Fix linker error in drivers/video/omap/lcd_2430sdp.c

Quoted 4 lines · Tomi Valkeinen

Well, it's a bit ugly, but I'm fine with it. It's for the old omapfb, which hopefully nobody uses anymore (right =), and there's no simple way to make it modular and neat.

How about let's make mach-omap2 boards all use the new code? That way the old code can be omap1 only.

Regards,

Tony

#6 lore raw

PATCH RESEND 1/1 omap: Fix linker error in drivers/video/omap/lcd_2430sdp.c

Quoted 8 lines · Tony Lindgren
Quoted 4 lines · Tomi Valkeinen

Well, it's a bit ugly, but I'm fine with it. It's for the old omapfb, which hopefully nobody uses anymore (right =), and there's no simple way to make it modular and neat.

How about let's make mach-omap2 boards all use the new code? That way the old code can be omap1 only.

That has been my long term plan, but I've never had time to start working on it. Some (many?) of the old panel drivers are trivial to port, needs just copying the panel timings.

Some are much more complex, and porting them without having the hardware may be a bit of a guesswork. But perhaps we can find testers for those after the code has been ported.

Tomi

maintainer
#7 lore raw

PATCH RESEND 1/1 omap: Fix linker error in drivers/video/omap/lcd_2430sdp.c

Quoted 7 lines · Tomi Valkeinen
Quoted 6 lines · Tony Lindgren
Quoted 4 lines · Tomi Valkeinen

Well, it's a bit ugly, but I'm fine with it. It's for the old omapfb, which hopefully nobody uses anymore (right =), and there's no simple way to make it modular and neat.

Quoted 6 lines
Quoted 2 lines

How about let's make mach-omap2 boards all use the new code? That way the old code can be omap1 only.

That has been my long term plan, but I've never had time to start working on it. Some (many?) of the old panel drivers are trivial to port, needs just copying the panel timings.

OK, that will probably make things a lot easier in the long run.

Quoted 3 lines

Some are much more complex, and porting them without having the hardware may be a bit of a guesswork. But perhaps we can find testers for those after the code has been ported.

Sure, once we get one working others should be easy..

Tony

#8 lore raw

PATCH 1/1 omapfb: Fix linker error in drivers/video/omap/lcd_2430sdp.c

In reply to Tomi Valkeinen

There is a linker error from lcd_2430sdp.c if CONFIG_TWL4030_CORE is not set. This can be triggered on OMAP2 builds when OMAP3 or OMAP4 are not set.

drivers/built-in.o: In function `sdp2430_panel_disable':
drivers/video/omap/lcd_2430sdp.c:123: undefined reference to twl_i2c_write_u8' drivers/video/omap/lcd_2430sdp.c:124: undefined reference to twl_i2c_write_u8' drivers/built-in.o: In function `sdp2430_panel_enable':
drivers/video/omap/lcd_2430sdp.c:110: undefined reference to twl_i2c_write_u8' drivers/video/omap/lcd_2430sdp.c:112: undefined reference to twl_i2c_write_u8'

Fix this by selecting the TWL4030_CORE for MACH_OMAP_2430SDP when building with CONFIG_FB_OMAP as there is no own Kconfig entry for lcd_2430 and it is compiled always when both MACH_OMAP_2430SDP and FB_OMAP are set.

---
Quite old issue probably. I don't think any fancier fix is required as this is legacy omapfb code?

---
 drivers/video/omap/Kconfig |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)
drivers/video/omap/Kconfig +1 -0
index 083c8fe..c981249 100644
@@ -5,6 +5,7 @@ config FB_OMAP
 	select FB_CFB_FILLRECT
 	select FB_CFB_COPYAREA
 	select FB_CFB_IMAGEBLIT
+	select TWL4030_CORE if MACH_OMAP_2430SDP
 	help
           Frame buffer driver for OMAP based boards.
 
Signature · 1 line
1.7.2.3
#9 lore raw

Re: [PATCH] omapfb: Fix linker error in

Quoted 10 lines · Jarkko Nikula

There is a linker error from lcd_2430sdp.c if CONFIG_TWL4030_CORE is not set. This can be triggered on OMAP2 builds when OMAP3 or OMAP4 are not set.

drivers/built-in.o: In function `sdp2430_panel_disable':
drivers/video/omap/lcd_2430sdp.c:123: undefined reference to twl_i2c_write_u8' drivers/video/omap/lcd_2430sdp.c:124: undefined reference to twl_i2c_write_u8' drivers/built-in.o: In function `sdp2430_panel_enable':
drivers/video/omap/lcd_2430sdp.c:110: undefined reference to twl_i2c_write_u8' drivers/video/omap/lcd_2430sdp.c:112: undefined reference to twl_i2c_write_u8'

Quoted 3 lines

Fix this by selecting the TWL4030_CORE for MACH_OMAP_2430SDP when building with CONFIG_FB_OMAP as there is no own Kconfig entry for lcd_2430 and it is compiled always when both MACH_OMAP_2430SDP and FB_OMAP are set.

Thanks, applied.

Tomi