Having found this about serial control of character LCDs using a 74HC164D shift register, I decided to use it in my project to cut down on cable size and pin usage. To do that I had to write my own control code, so I pretty much copied lcd.h and lcd.c and stripped them down but I can build it back to full lcd.c/h functionality changed them to work with this.
I was thinking of posting this as a project but before doing that I was hoping to get some feedback on it.
Edward
PS. Put here because it is specific to avr-gcc.