I UNDERSTAND THE CODE~! Whoot! I’m really proud of myself. I printed all the *.c files and was reading them a lot and looking for the corresponding functions in the linux API to wrap my head around the code and see where the API has changed. Its very time consuming. All the code I printed is about 100 pages. And that’s just the *.c files. I’ve learned a lot about how driver code latches onto the kernel and gets off it too. Its pretty awesome. Lots of abstractions are involved, but everything is properly named and well documented (at least in the code =]).
I’ve been reading and re-reading sections of Linux Device Drivers and Linux Kernel Development to understand the code. These two books have been very helpful.
I’ve also been spending tons of time debugging. I knew a little, but not much about how to debug.
All in all, its been great. I’m halfway thru the internship, and very proud of myself. =]