Messages in this thread | | | Date | Tue, 15 Aug 2023 17:24:27 +0300 | From | Alexey Dobriyan <> | Subject | Re: + lib-vsprintf-split-out-sprintf-and-friends.patch added to mm-nonmm-unstable branch |
| |
On Mon, Aug 14, 2023 at 11:37:51AM -0700, Andrew Morton wrote: > Some patches that reduce the mess with the header inclusions related to > vsprintf.c module. Each patch has its own description, and has no > dependencies to each other, except the collisions over modifications of > the same places. Hence the series. > > > This patch (of 2): > > kernel.h is being used as a dump for all kinds of stuff for a long time. > sprintf() and friends are used in many drivers without need of the full > kernel.h dependency train with it. > > Here is the attempt on cleaning it up by splitting out sprintf() and > friends.
> --- /dev/null > +++ a/include/linux/sprintf.h > @@ -0,0 +1,25 @@ > +/* 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> > + > +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);
I'd suggest to leave scanf alone and rename file to printf.h Some archs have such files already (printf.c)
| |