It seems that asm/semaphore.h as included in thinkpad_ec.c is no longer included in 2.6.27. Attached is a patch which changes this include to linux/semaphore.h. I'll be the first to admit I don't know the implications of this, or if this is the correct way to handle this, but this does allow the module to compile, load and function on my system.
patch to build with 2.6.27
I can confirm that this patch also works for me on 2.6.27-rc7.
Everything that was working for me before is still working, and all the things that are broken are still broken (sda's /sys/block/sda/queue/protect is still missing)