I am compiling the Android 2.6.35 kernel found on OMAPZoom.org and I am stuck with what I think is a silly Makefile problem.
make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- uImage
yields the following error (plus more that are related):
drivers/built-in.o: In function `dsscomp_createcomp':
drivers/video/omap2/dsscomp/device.c:175: undefined reference to `tiler_set_buf_state'
drivers/video/omap2/dsscomp/device.c has the following #include directive:
#include <mach/tiler.h>
which I believe references the following file containing the prototype:
arch/arm/mach-omap2/include/mach/tiler.h
In turn, tiler_set_buf_state is defined in:
drivers/media/video/tiler/tiler.c
The function is being used correctly, the header is included. This leads me to think the definition is not being compiled. This project is using a rather large recursive Makefile setup.
I'm not really sure what more I can put in here that will be helpful, but if there is something that would be useful ask me. I was hoping that someone could give me a push in the right direction.
Well this is embarrassing:
There are two (relevant) branches in that repository:
p-android-omap-2.6.35
p-android-omap3-2.6.35
The first one does not work with OMAP3, or at least with the Zoom3 (board config of android_zoom3_defoncifg).
To build the kernel for the Zoom3, you must use the second (p-android-omap3-2.6.35) branch or you will get tons of build errors. Wasted most of a day re-writing "broken" code from the first branch thinking it was incorrect since I'm using an older board. Did a checkout on the correct branch and it built without any errors.
Sorry. Hopefully this will be helpful for someone else!