mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-27 15:36:48 +00:00

-----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEESH4wyp42V4tXvYsjUqAMR0iAlPIFAmiQpykACgkQUqAMR0iA lPJcrg/9Hez6+zO7LECCn5VkuK5oJWR5CyCfwx14ki8UF38djQGU2frckI5837rE MnVoEBexZunK5SXy4MAy7bTCitzR+lMqNtP5uq9J2ovlSPtNlfuJRDr7uGQLDtSS M5KZ1qsZnhgwLYeNhfVVToHgp+OwIQb2GcgYmYc8k03fUI1NQpdxIM46DzoTj+06 x6qgrNsmmJbm8E73VWBByJAEFoq9ugjny8Rt+tYMi/CmhgZpp0ZyF1r5dYfYX/KS VS8UQY//aZOFhNsQUAXwP7Ym00CYRgTg7Na+MHivYLXmYGH2gF6tWQhX/eEgHKcJ RTmUbLFx70fdBbjJMxv2k8vyMk2sy6sTfJHPqM/NS/Fb0tSPBXQJG/EexzfoqiBc wcjgOPkeALIosVdFdTqXxjoIGOP8rqsU4t6Y6WFjJlWK04SBVjxBUofytRdQSxkG 5Sb0rFVGKrKIkXaVkt4byPa1/BDpfNhfKMYPtQ56pv2VNUgzfye4prUAZHE5pLnK 8nixeeMtKDFFCBpn6rG5wZW7k2mK5FrWGZUfdfxdK1gWQ1y0kqGy5wa3lNZLcxlH l3AtOYoDeWM2DjDVO6WCj8ambEWkbjbGg7tC9TI3F0NvRJSYytTb6npMqb3Gwhcb U4NgT+Ho0GJ/5BLUye8HMfhvrGoCfRCeptHtEFXAK7pzKyjc0+c= =Mocd -----END PGP SIGNATURE----- Merge tag 'printk-for-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux Pull printk updates from Petr Mladek: - Add new "hash_pointers=[auto|always|never]" boot parameter to force the hashing even with "slab_debug" enabled - Allow to stop CPU, after losing nbcon console ownership during panic(), even without proper NMI - Allow to use the printk kthread immediately even for the 1st registered nbcon - Compiler warning removal * tag 'printk-for-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/printk/linux: printk: nbcon: Allow reacquire during panic printk: Allow to use the printk kthread immediately even for 1st nbcon slab: Decouple slab_debug and no_hash_pointers vsprintf: Use __diag macros to disable '-Wsuggest-attribute=format' compiler-gcc.h: Introduce __diag_GCC_all
32 lines
1.3 KiB
C
32 lines
1.3 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _LINUX_KERNEL_SPRINTF_H_
|
|
#define _LINUX_KERNEL_SPRINTF_H_
|
|
|
|
#include <linux/compiler_attributes.h>
|
|
#include <linux/types.h>
|
|
#include <linux/stdarg.h>
|
|
|
|
int num_to_str(char *buf, int size, unsigned long long num, unsigned int width);
|
|
|
|
__printf(2, 3) int sprintf(char *buf, const char * fmt, ...);
|
|
__printf(2, 0) int vsprintf(char *buf, const char *, va_list);
|
|
__printf(3, 4) int snprintf(char *buf, size_t size, const char *fmt, ...);
|
|
__printf(3, 0) int vsnprintf(char *buf, size_t size, const char *fmt, va_list args);
|
|
__printf(3, 4) int scnprintf(char *buf, size_t size, const char *fmt, ...);
|
|
__printf(3, 0) int vscnprintf(char *buf, size_t size, const char *fmt, va_list args);
|
|
__printf(2, 3) __malloc char *kasprintf(gfp_t gfp, const char *fmt, ...);
|
|
__printf(2, 0) __malloc char *kvasprintf(gfp_t gfp, const char *fmt, va_list args);
|
|
__printf(2, 0) const char *kvasprintf_const(gfp_t gfp, const char *fmt, va_list args);
|
|
|
|
__scanf(2, 3) int sscanf(const char *, const char *, ...);
|
|
__scanf(2, 0) int vsscanf(const char *, const char *, va_list);
|
|
|
|
/* These are for specific cases, do not use without real need */
|
|
extern bool no_hash_pointers;
|
|
void hash_pointers_finalize(bool slub_debug);
|
|
|
|
/* Used for Rust formatting ('%pA') */
|
|
char *rust_fmt_argument(char *buf, char *end, const void *ptr);
|
|
|
|
#endif /* _LINUX_KERNEL_SPRINTF_H */
|