It’s painful to read source code of Linux kernel. It’s huge and confusing. You’ll be easily lost in the maze of code.
I found something interesting today: A Map, which  clearly describe all the moudes and there releationships. When you are lost, please open the Map, and you’ll find your way.
Links: http://www.linuxdriver.co.il/kernel_map