Recently, i began developing a driver of an embedded device running linux.

Until now i have only **read** about linux internals.  

Having no prior experience in driver devlopment, i am finding it a tad difficult to land my first step.

* I have downloaded the kernel source-code (v2.6.32).
* I have read (skimped) Linux Device Drivers (3e)
* I read a few related posts here on StackOverflow.
* I understand that linux has a "monolithic" approach.
* I have built kernel (included existing driver in menuconfig etc.)
* I know the basics of kconfig and makefile files so that should not be a problem.

> 
> **Can someone describe the structure (i.e. the inter-links)  
> 
>  of the various directories in the kernel-source code.** 
> 
> 
> In other words, given a source-code file,  
> 
>  which other files would it refer to for related code 
> 
> 
> (The "#include"-s provide a partial idea)
> 
> 
> 

Could someone please help me in getting a better idea?  

Any help will be greatly appreciated

Thank You.