So I was experimenting with hwcomposer today and I realize why in part we can't bring that module into the build. When I straced the surfaceflinger service on startup I got this:
21:02:23.894989 open("/sys/power/wait_for_fb_sleep", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
21:02:23.902160 read(-1, 0x40bb5e8f, 1) = -1 EBADF (Bad file descriptor)
21:02:23.902282 close(-1) = -1 EBADF (Bad file descriptor)
21:02:23.902435 writev(4, [{"\5"..., 1}, {"SurfaceFlinger\0"..., 15}, {"ANDROID_WAIT_FOR_FB_SLEEP failed (Bad file number)\0"..., 51}], 3) = 67
21:02:23.902770 open("/sys/power/wait_for_fb_wake", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
21:02:23.908538 read(-1, 0x40bb5e8f, 1) = -1 EBADF (Bad file descriptor)
21:02:23.908660 close(-1) = -1 EBADF (Bad file descriptor)
21:02:23.908782 writev(4, [{"\5"..., 1}, {"SurfaceFlinger\0"..., 15}, {"ANDROID_WAIT_FOR_FB_WAKE failed (Bad file number)\0"..., 50}], 3) = 66
When i checked /sys/power, we don't have wait_for_fb_wake in there. And when I did some research it added up to: the stock kernel doesn't support kernel/android-2.6.35/kernel/power/earlysuspend.c/fbearlysuspend.c
So, now I'm experimenting w/ IntersectRaven's / g1011999's kernels to see if I can do better. (I believe g1011999' enabled that option when he upgraded the PVR drivers).