According to the .c file, the kernel has been tested by the authors on 2.6.20 and 2.6.24. I've compiled it on 2.6.27 and 2.6.28, and now on 2.6.18 (Red Hat 5), but I had to comment out the cdev.h# include. The authors also state that the file is primarily for testing designs. Linux modules are kind of different from normal c programming and compiling, but good references are LDD3 <http://lwn.net/Kernel/LDD3/> and <http://dirac.org/linux/writing/lkmpg/2.6/lkmpg-2.6.0.html>. The Authors frequently refer to LDD3, but I found the 2nd site's compiling instructions to be more useful.
So you compile the module using make, insert the module using insmod, and then if the driver and board work then you can view the results by issuing the dmesg command. The driver includes a test function that is ran automatically at insmod, when the driver "probes" the device. If it doesn't work, make sure the BAR array defined in the C file matches the BARs defined in your megafunction. In my case, I'm using an Arria GX Design Example that does not use BAR 4, which is non zero in the unmodified driver code. Easy fix though.