(1) This is not a supported driver, and it's known to not work in 2.6.9. You should stop trying to use it and use the sl811-hcd driver from 2.6.10 following the instructions provided in a previous thread.
(2) it doesn't do you any good to get around symbol not found errors by compiling something as a module, since the symbols will simply not be found once you try to load the module.
(3) You can't mount the usb filesystem until the driver is in place to provide it. It must either be compiled in or if you load it as a module you have to actually load the module first (see# 2 since that won't work with this driver).
So, in summary, if you want to do less work, switch to the sl811-hcd driver from 2.6.10 and follow the guidelines given to get it to work. If you want the fun of implementing the missing functions from dma-mapping.h and who knows what other kernel headers/files, go ahead, but when I asked around there was no indication that anyone ever got that working, though wentao was apparently close.
Porting the sl811-hcd driver from 2.6.10 is pretty quick and faily easy if you follow the instructions I gave in a previous thread.