Greg's Introduction
It seems like a long time ago that I picked up the first edition of
this Linux Device Drivers book in order to
figure out how to write a real Linux driver. That first edition was a
great guide to helping me understand the internals of this operating
system that I had already been using for a number of years but whose
kernel had never taken the time to look into. With the knowledge
gained from that book, and by reading other
programmers' code already present in the kernel, my
first horribly buggy, broken, and very SMP-unsafe driver was accepted
by the kernel community into the main kernel tree. Despite receiving
my first bug report five minutes later, I was hooked on wanting to do
as much as I could to make this operating system the best it could
possibly be.
I am honored that I've had the ability to contribute
to this book. I hope that it enables others to learn the details
about the kernel, discover that driver development is not a scary or
forbidding place, and possibly encourage others to join in and help
in the collective effort of making this operating system work on
every computing platform with every type of device available. The
development procedure is fun, the community is rewarding, and
everyone benefits from the effort involved.
Now it's back to making this edition obsolete by
fixing current bugs, changing APIs to work better and be simpler to
understand for everyone, and adding new features. Come along; we can
always use the help.
|