forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add printk-formats.txt so that we don't have to keep fixing the same things over and over again. <wishful thinking> Signed-off-by: Randy Dunlap <[email protected]> Cc: Alexey Dobriyan <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
- Loading branch information
Showing
2 changed files
with
37 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
If variable is of Type, use printk format specifier: | ||
--------------------------------------------------------- | ||
int %d or %x | ||
unsigned int %u or %x | ||
long %ld or %lx | ||
unsigned long %lu or %lx | ||
long long %lld or %llx | ||
unsigned long long %llu or %llx | ||
size_t %zu or %zx | ||
ssize_t %zd or %zx | ||
|
||
Raw pointer value SHOULD be printed with %p. | ||
|
||
u64 SHOULD be printed with %llu/%llx, (unsigned long long): | ||
|
||
printk("%llu", (unsigned long long)u64_var); | ||
|
||
s64 SHOULD be printed with %lld/%llx, (long long): | ||
|
||
printk("%lld", (long long)s64_var); | ||
|
||
If <type> is dependent on a config option for its size (e.g., sector_t, | ||
blkcnt_t, phys_addr_t, resource_size_t) or is architecture-dependent | ||
for its size (e.g., tcflag_t), use a format specifier of its largest | ||
possible type and explicitly cast to it. Example: | ||
|
||
printk("test: sector number/total blocks: %llu/%llu\n", | ||
(unsigned long long)sector, (unsigned long long)blockcount); | ||
|
||
Reminder: sizeof() result is of type size_t. | ||
|
||
Thank you for your cooperation and attention. | ||
|
||
|
||
By Randy Dunlap <[email protected]> |