Getting one hardware module to work in a system as complex as the OMAP
is a little too tricky, since there are other things to manage apart
from the particular hardware module in question, like say handling the
interrupts, timers, memory etc.
If you want to do all this by yourself, you would end up writing
something similar to a minimalistic monolithic kernel.
So, the preferred way is to use a working kernel that might already
have the hardware module drivers working, and create user applications
that finally link the hardware to an app (say read the temp from a
sensor and show to user). Ofcourse, you can always improve a newly
written driver if you want to work at the core level.