Kernel hacking methodology - how to find out where to hack the linux kernel
- by Flavius
I have a throw-away cheap laptop I'd like to twiddle around, a Thinkpad SL 500.
What bothers me are two leds, the one for wireless connectivity, and the one for hibernation, which don't light up at all, although they're functional, I've tried it on windows.
So I would like to write a kernel driver for them, nothing big, it just looks like a good idea to play around with the kernel.
My question is what methodology should I follow systematically to find out what devices are responsible for those leds (in general, not necessarily specific to my hardware), and what drivers are responsible for the other two leds that work, bluetooth and the battery indicator?
And when I say methodology, I really mean the methodology, step by step, with reasons for each step, like in the answer I've gave to someone else over here: What does && mean in void *p = &&abc;
I am profficient at fgrepping through big code repositories, using static code analysers & co, but I think my lack of hardware knowledge hinders me on this problem.
PS: I'm using ArchLinux, so almost the latest kernel version.