Thanks for getting this discussion going on the list, Nico.
For reference, folks can view the proposed libflashrom.h at
https://review.coreboot.org/#/c/17946 to get a better idea for how these prefixes will look in libflashrom functions and data structures.
Also, let's add "fi_" for flashrom interface to the list of proposed prefixes.
My preferences (in order):
1. lf_
2. flashrom_
3. fi_
4. fl_
5. flash_
6. fr_
IMO not only is "lf_" most intuitive, but the way the keys are spaced apart comfortably on qwerty, dvorak, and colemak layouts and each character (including the underscore) use a different hand to type. Same could be said about fl_ with regards to keyboard layout. fr_ is awkward (keys vertically adjacent) on qwerty and colemak, and fi_ is vertically adjacent on dvorak. flash_ and flashrom_ are not bad but are obviously many more keystrokes.
flash_ is pretty good - For the most part it flows well with functions such as flash_image_read() and flash_image_write(), but is awkward with some other stuff like "flash_set_log_callback()". If we're already typing >2 letters I think we ought to just use flashrom_ as the prefix to be complete, avoid awkward contexts, and avoid namespace conflicts (users might want to use flash_ in their code).