My experience: I had a problem with the USB printer driver (usblp) on one of the earlier 2.6.0-test kernels. I reported the bug, and was asked to compile the driver with debug info. I added the #define to include this in compilation.
After that define was added, and the debug code was to be compiled in, the driver did not compile - the debug code had been copy/pasted from the 2.4 driver, but not updated to work with the 2.6 structures. I fixed the debug code, and later on found some problems with the debug code in other USB drivers too and fixed the code there.
These were all small (1-3 line) fixes here and there.
Since then, I've stepped back to desktop-orientated hacking to brush up my C skills a bit. But I've also bought a couple of books on the kernel, and learning a lot from watching the LKML closely.
Daniel.
Since then, I've been Tim Cambrant wrote:
Hi, I am new to Linux kernel development and fairly novice to programming in general, and I'm having the usual "Don't know where to begin"-problem. I read the code to try to understand how things work, such as the scheduler etc, but it's all too complex for me to even make a simple but useful kernel module or driver yet.
Now I was thinking about what you all did to get your hands dirty. It would be nice if you shared a bit of where you begun with kernel-coding and what you did. It doesn't necessarily have to be code that was accepted into the kernel, but just regular newbie-stuff that got you started.
Happy new year everyone.
-- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/