Commit 67d0a075 authored by Joe Perches's avatar Joe Perches Committed by Linus Torvalds

kernel.h/checkpatch: mark strict_strto<foo> and simple_strto<foo> as obsolete

Mark obsolete/deprecated strict_strto<foo> and simple_strto<foo> functions
and macros as obsolete.

Update checkpatch to warn about their use.
Signed-off-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent fc23af34
...@@ -287,6 +287,8 @@ static inline int __must_check kstrtos32_from_user(const char __user *s, size_t ...@@ -287,6 +287,8 @@ static inline int __must_check kstrtos32_from_user(const char __user *s, size_t
return kstrtoint_from_user(s, count, base, res); return kstrtoint_from_user(s, count, base, res);
} }
/* Obsolete, do not use. Use kstrto<foo> instead */
extern unsigned long simple_strtoul(const char *,char **,unsigned int); extern unsigned long simple_strtoul(const char *,char **,unsigned int);
extern long simple_strtol(const char *,char **,unsigned int); extern long simple_strtol(const char *,char **,unsigned int);
extern unsigned long long simple_strtoull(const char *,char **,unsigned int); extern unsigned long long simple_strtoull(const char *,char **,unsigned int);
...@@ -296,6 +298,8 @@ extern long long simple_strtoll(const char *,char **,unsigned int); ...@@ -296,6 +298,8 @@ extern long long simple_strtoll(const char *,char **,unsigned int);
#define strict_strtoull kstrtoull #define strict_strtoull kstrtoull
#define strict_strtoll kstrtoll #define strict_strtoll kstrtoll
/* lib/printf utilities */
extern __printf(2, 3) int sprintf(char *buf, const char * fmt, ...); extern __printf(2, 3) int sprintf(char *buf, const char * fmt, ...);
extern __printf(2, 0) int vsprintf(char *buf, const char *, va_list); extern __printf(2, 0) int vsprintf(char *buf, const char *, va_list);
extern __printf(3, 4) extern __printf(3, 4)
......
...@@ -3151,10 +3151,10 @@ sub process { ...@@ -3151,10 +3151,10 @@ sub process {
"consider using a completion\n" . $herecurr); "consider using a completion\n" . $herecurr);
} }
# recommend kstrto* over simple_strto* # recommend kstrto* over simple_strto* and strict_strto*
if ($line =~ /\bsimple_(strto.*?)\s*\(/) { if ($line =~ /\b((simple|strict)_(strto(l|ll|ul|ull)))\s*\(/) {
WARN("CONSIDER_KSTRTO", WARN("CONSIDER_KSTRTO",
"consider using kstrto* in preference to simple_$1\n" . $herecurr); "$1 is obsolete, use k$3 instead\n" . $herecurr);
} }
# check for __initcall(), use device_initcall() explicitly please # check for __initcall(), use device_initcall() explicitly please
if ($line =~ /^.\s*__initcall\s*\(/) { if ($line =~ /^.\s*__initcall\s*\(/) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment