i've been reading 'linux device drivers' for a bit now, learned so much cool stuff from it. i've written a couple char drivers and done lots of fun module hacking; it was tuff but after lots of trial and error i feel i understand it all pretty well. anyhow, i started reading chapter of block drivers today, and CRAP!!!! this stuff is REAAAALY complicated! all the drivers in the [ /drivers/block ] directory are huge, there seems to be nothing that i can browse thru comfortably like with char drivers. even the floppy driver is 4000+ lines of code. so im wondering if any of u guys have written a block driver? im debating whether or not i should skip this chapter and start on the dma/memory management chapter and then finally the network card chapter. the main reason i started this book was b/c i really wanted to learn to write a wireless card driver. atm, my first impression is telling me im going to spend a huuuuuge amount digesting and writing a block driver first tho. am i just bein a little biatch(feel free to call me out
) or is this stuff as complex as my first read has told me? my main worry is the fact that any block driver has to be extremely efficient, and it seems like to write an efficient one there is a ton of kernel code that needs be understood first. commments...?