I want to learn device driver development so how to start ? Any media for beginner or something ?
The canonical reference is Linux Device Drivers 3rd Edition - although it's a few years old now, it's close enough to current kernels.
Quite a lot of stuff is not covered in here - particularly anything that's device or bus specific, or the way the kernel has been developing to support ARM SoC devices over the last few years.