Quoting Peter Stuge peter@stuge.se:
inline void print_info_dec(unsigned long value,unsigned long res) { for(;res;res/=10) print_info_char('0'+value/res%10); }
On Mon, Jul 09, 2007 at 09:43:49AM +0300, Indrek Kruusa wrote:
print_info("CPU ");
print_info_dec(cpu_clk,100);
print_info(" MHz\r\n");
Note this only prints the modulus while Indrek's code indicates that the value does not fit in 3 positions by printing a non-digit hundreds character.
Multiply the resoluton by 10 to get more digits. 1000=4, 10000=5 etc.
Omitting leading 0:s would need some state to be kept and cost one more register.
//Peter
Actually, I found this in one of the scripts:
printk_debug("Setting RAM size to %d\n", tomk);
Thanks - Joe