mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	kernel.h: update comment about simple_strto<foo>() functions
There were discussions in the past about use cases for simple_strto<foo>() functions and, in some rare cases, they have a benefit over kstrto<foo>() ones. Update a comment to reduce confusion about special use cases. Link: http://lkml.kernel.org/r/20190801192904.41087-1-andriy.shevchenko@linux.intel.com Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Suggested-by: Miguel Ojeda <miguel.ojeda.sandonis@gmail.com> Cc: Geert Uytterhoeven <geert+renesas@glider.be> Cc: Mans Rullgard <mans@mansr.com> Cc: Petr Mladek <pmladek@suse.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
		
							parent
							
								
									2f5bd34369
								
							
						
					
					
						commit
						885e68e8b7
					
				
					 1 changed files with 14 additions and 5 deletions
				
			
		| 
						 | 
					@ -348,8 +348,7 @@ int __must_check kstrtoll(const char *s, unsigned int base, long long *res);
 | 
				
			||||||
 * @res: Where to write the result of the conversion on success.
 | 
					 * @res: Where to write the result of the conversion on success.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Returns 0 on success, -ERANGE on overflow and -EINVAL on parsing error.
 | 
					 * Returns 0 on success, -ERANGE on overflow and -EINVAL on parsing error.
 | 
				
			||||||
 * Used as a replacement for the obsolete simple_strtoull. Return code must
 | 
					 * Used as a replacement for the simple_strtoull. Return code must be checked.
 | 
				
			||||||
 * be checked.
 | 
					 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
static inline int __must_check kstrtoul(const char *s, unsigned int base, unsigned long *res)
 | 
					static inline int __must_check kstrtoul(const char *s, unsigned int base, unsigned long *res)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -377,8 +376,7 @@ static inline int __must_check kstrtoul(const char *s, unsigned int base, unsign
 | 
				
			||||||
 * @res: Where to write the result of the conversion on success.
 | 
					 * @res: Where to write the result of the conversion on success.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * Returns 0 on success, -ERANGE on overflow and -EINVAL on parsing error.
 | 
					 * Returns 0 on success, -ERANGE on overflow and -EINVAL on parsing error.
 | 
				
			||||||
 * Used as a replacement for the obsolete simple_strtoull. Return code must
 | 
					 * Used as a replacement for the simple_strtoull. Return code must be checked.
 | 
				
			||||||
 * be checked.
 | 
					 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
static inline int __must_check kstrtol(const char *s, unsigned int base, long *res)
 | 
					static inline int __must_check kstrtol(const char *s, unsigned int base, long *res)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -454,7 +452,18 @@ 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 */
 | 
					/*
 | 
				
			||||||
 | 
					 * Use kstrto<foo> instead.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * NOTE: simple_strto<foo> does not check for the range overflow and,
 | 
				
			||||||
 | 
					 *	 depending on the input, may give interesting results.
 | 
				
			||||||
 | 
					 *
 | 
				
			||||||
 | 
					 * Use these functions if and only if you cannot use kstrto<foo>, because
 | 
				
			||||||
 | 
					 * the conversion ends on the first non-digit character, which may be far
 | 
				
			||||||
 | 
					 * beyond the supported range. It might be useful to parse the strings like
 | 
				
			||||||
 | 
					 * 10x50 or 12:21 without altering original string or temporary buffer in use.
 | 
				
			||||||
 | 
					 * Keep in mind above caveat.
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
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);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue