It's like every function in speakup has something that's just a little bit ugly about it. For example 1) No spaces around operations. IE "if (x&4) {" vs "if (x & 4) {". 2) No blank lines between the variable declarations and the code. 3) The 'E' in E_DEFAULT stands for "enum" which is bogus. 4) Custom macros like spk_lock() 5) Using u_char instead of u8. (Yes, there are thousands of places in the kernel which do this but it's mostly horrid legacy code like ISDN). 6) In synth_direct_store() the last 5 bytes of the tmp[] buf are not used. 7) Unnecessary casts. 8) Things like this: char *cp; u_char *cp1; "cp1" is a poorly chosen variable name. Anyway, there is a lot of stuff. It just needs someone to go through it bit by bit and re-write it cleaner. regards, dan carpenter _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/devel