Skip to contentSkip to conversation

OMAP video compile error; regression from 2.6.33-rc4 onward (including current master)

DISCUSSION Luke-Jr 2 participants 5 messages Jun 6, 2010 – Jun 8, 2010 Framebuffer layer

lore
Share & tools
lore

Luke-Jr

author Tested-by Sergey Lapin
#0 lore raw

This doesn't even build, so I don't know how it was tested... Reverting the offending commit (simple, but does require conflict resolution) at least lets it compile, but I haven't tested whether it alone is enough to work in practise yet... hoping Tomi might provide a real fix. Maybe even in time for 2.6.35 final? :)

https://bugzilla.kernel.org/show_bug.cgi?id=16144

CC drivers/video/omap/rfbi.o
drivers/video/omap/rfbi.c: In function 'rfbi_get_clocks':
drivers/video/omap/rfbi.c:86: error: 'dispc' undeclared (first use in this function)
drivers/video/omap/rfbi.c:86: error: (Each undeclared identifier is reported only once
drivers/video/omap/rfbi.c:86: error: for each function it appears in.) make[1]: *** [drivers/video/omap/rfbi.o] Error 1
make: *** [drivers/video/omap/rfbi.o] Error 2

The 'dispc' referred to herein is and has always been defined in drivers/video/omap/dispc.c as an anonymous struct.

Broken in...
commit f778a12dd33200513596a0d4d3ba4d5f09e79c09

Author: Tomi Valkeinen <[email protected]>
Date:   Wed Dec 16 13:18:07 2009 +0200

OMAP: OMAPFB: fix clk_get for RFBI

omapfb platform device was still used to get clocks inside rfbi.c

#1 lore raw
Quoted 18 lines · ext Luke-Jr

This doesn't even build, so I don't know how it was tested... Reverting the offending commit (simple, but does require conflict resolution) at least lets it compile, but I haven't tested whether it alone is enough to work in practise yet... hoping Tomi might provide a real fix. Maybe even in time for 2.6.35 final? :)

https://bugzilla.kernel.org/show_bug.cgi?id=16144

CC drivers/video/omap/rfbi.o
drivers/video/omap/rfbi.c: In function 'rfbi_get_clocks':
drivers/video/omap/rfbi.c:86: error: 'dispc' undeclared (first use in this function)
drivers/video/omap/rfbi.c:86: error: (Each undeclared identifier is reported only once
drivers/video/omap/rfbi.c:86: error: for each function it appears in.) make[1]: *** [drivers/video/omap/rfbi.o] Error 1
make: *** [drivers/video/omap/rfbi.o] Error 2

Quoted 2 lines

The 'dispc' referred to herein is and has always been defined in drivers/video/omap/dispc.c as an anonymous struct.

Hmm yes, looks rather broken. I don't know how that has gotten through =). Reverting the patch makes it compile, but RFBI won't work.

Tomi

#2 lore raw
In reply to Luke-Jr
Quoted 18 lines · ext Luke-Jr

This doesn't even build, so I don't know how it was tested... Reverting the offending commit (simple, but does require conflict resolution) at least lets it compile, but I haven't tested whether it alone is enough to work in practise yet... hoping Tomi might provide a real fix. Maybe even in time for 2.6.35 final? :)

https://bugzilla.kernel.org/show_bug.cgi?id=16144

CC drivers/video/omap/rfbi.o
drivers/video/omap/rfbi.c: In function 'rfbi_get_clocks':
drivers/video/omap/rfbi.c:86: error: 'dispc' undeclared (first use in this function)
drivers/video/omap/rfbi.c:86: error: (Each undeclared identifier is reported only once
drivers/video/omap/rfbi.c:86: error: for each function it appears in.) make[1]: *** [drivers/video/omap/rfbi.o] Error 1
make: *** [drivers/video/omap/rfbi.o] Error 2

Quoted 2 lines

The 'dispc' referred to herein is and has always been defined in drivers/video/omap/dispc.c as an anonymous struct.

I don't have any device that uses RFBI so I can't test it, but how about this patch:

drivers/video/omap/rfbi.c +3 -2
index 1162603..eada9f1 100644
@@ -26,6 +26,7 @@
 #include <linux/interrupt.h>
 #include <linux/clk.h>
 #include <linux/io.h>
+#include <linux/platform_device.h>
 
 #include "omapfb.h"
 #include "dispc.h"
@@ -83,13 +84,13 @@ static inline u32 rfbi_read_reg(int idx)
 
 static int rfbi_get_clocks(void)
 {
-       rfbi.dss_ick = clk_get(&dispc.fbdev->dssdev->dev, "ick");
+       rfbi.dss_ick = clk_get(&rfbi.fbdev->dssdev->dev, "ick");
        if (IS_ERR(rfbi.dss_ick)) {
                dev_err(rfbi.fbdev->dev, "can't get ick\n");
                return PTR_ERR(rfbi.dss_ick);
        }
 
-       rfbi.dss1_fck = clk_get(&dispc.fbdev->dssdev->dev, "dss1_fck");
+       rfbi.dss1_fck = clk_get(&rfbi.fbdev->dssdev->dev, "dss1_fck");
        if (IS_ERR(rfbi.dss1_fck)) {
                dev_err(rfbi.fbdev->dev, "can't get dss1_fck\n");
                clk_put(rfbi.dss_ick);
author
#3 lore raw
Quoted 2 lines · Tomi Valkeinen

I don't have any device that uses RFBI so I can't test it, but how about this patch:

Unfortunately, I can't test it either since N8x0 has no mainline support for video output, nor can until CBus is merged. :(

#4 lore raw
Quoted 6 lines · ext Luke-Jr
Quoted 2 lines · Tomi Valkeinen

I don't have any device that uses RFBI so I can't test it, but how about this patch:

Unfortunately, I can't test it either since N8x0 has no mainline support for video output, nor can until CBus is merged. :(

Okay. I'll put it in, then, as it at least compiles.

Tomi