diff options
| author | Eldad Zack <eldad@fogrefinery.com> | 2012-12-17 16:03:04 -0800 | 
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-12-17 17:15:22 -0800 | 
| commit | 4c925d6031f719fad6ea8b1c94a636f4c0fea39b (patch) | |
| tree | a27265311ff47951ab00d4df3b49350c1ae898ba /lib/kstrtox.c | |
| parent | 543f56c19c3e926d33b50a6bcbc37c408631601e (diff) | |
| download | olio-linux-3.10-4c925d6031f719fad6ea8b1c94a636f4c0fea39b.tar.xz olio-linux-3.10-4c925d6031f719fad6ea8b1c94a636f4c0fea39b.zip  | |
kstrto*: add documentation
As Bruce Fields pointed out, kstrto* is currently lacking kerneldoc
comments.  This patch adds kerneldoc comments to common variants of
kstrto*: kstrto(u)l, kstrto(u)ll and kstrto(u)int.
Signed-off-by: Eldad Zack <eldad@fogrefinery.com>
Cc: J. Bruce Fields <bfields@fieldses.org>
Cc: Joe Perches <joe@perches.com>
Cc: Randy Dunlap <rdunlap@xenotime.net>
Cc: Alexey Dobriyan <adobriyan@gmail.com>
Cc: Rob Landley <rob@landley.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib/kstrtox.c')
| -rw-r--r-- | lib/kstrtox.c | 64 | 
1 files changed, 64 insertions, 0 deletions
diff --git a/lib/kstrtox.c b/lib/kstrtox.c index c3615eab0cc..f78ae0c0c4e 100644 --- a/lib/kstrtox.c +++ b/lib/kstrtox.c @@ -104,6 +104,22 @@ static int _kstrtoull(const char *s, unsigned int base, unsigned long long *res)  	return 0;  } +/** + * kstrtoull - convert a string to an unsigned long long + * @s: The start of the string. The string must be null-terminated, and may also + *  include a single newline before its terminating null. The first character + *  may also be a plus sign, but not a minus sign. + * @base: The number base to use. The maximum supported base is 16. If base is + *  given as 0, then the base of the string is automatically detected with the + *  conventional semantics - If it begins with 0x the number will be parsed as a + *  hexadecimal (case insensitive), if it otherwise begins with 0, it will be + *  parsed as an octal number. Otherwise it will be parsed as a decimal. + * @res: Where to write the result of the conversion on success. + * + * Returns 0 on success, -ERANGE on overflow and -EINVAL on parsing error. + * Used as a replacement for the obsolete simple_strtoull. Return code must + * be checked. + */  int kstrtoull(const char *s, unsigned int base, unsigned long long *res)  {  	if (s[0] == '+') @@ -112,6 +128,22 @@ int kstrtoull(const char *s, unsigned int base, unsigned long long *res)  }  EXPORT_SYMBOL(kstrtoull); +/** + * kstrtoll - convert a string to a long long + * @s: The start of the string. The string must be null-terminated, and may also + *  include a single newline before its terminating null. The first character + *  may also be a plus sign or a minus sign. + * @base: The number base to use. The maximum supported base is 16. If base is + *  given as 0, then the base of the string is automatically detected with the + *  conventional semantics - If it begins with 0x the number will be parsed as a + *  hexadecimal (case insensitive), if it otherwise begins with 0, it will be + *  parsed as an octal number. Otherwise it will be parsed as a decimal. + * @res: Where to write the result of the conversion on success. + * + * Returns 0 on success, -ERANGE on overflow and -EINVAL on parsing error. + * Used as a replacement for the obsolete simple_strtoull. Return code must + * be checked. + */  int kstrtoll(const char *s, unsigned int base, long long *res)  {  	unsigned long long tmp; @@ -168,6 +200,22 @@ int _kstrtol(const char *s, unsigned int base, long *res)  }  EXPORT_SYMBOL(_kstrtol); +/** + * kstrtouint - convert a string to an unsigned int + * @s: The start of the string. The string must be null-terminated, and may also + *  include a single newline before its terminating null. The first character + *  may also be a plus sign, but not a minus sign. + * @base: The number base to use. The maximum supported base is 16. If base is + *  given as 0, then the base of the string is automatically detected with the + *  conventional semantics - If it begins with 0x the number will be parsed as a + *  hexadecimal (case insensitive), if it otherwise begins with 0, it will be + *  parsed as an octal number. Otherwise it will be parsed as a decimal. + * @res: Where to write the result of the conversion on success. + * + * Returns 0 on success, -ERANGE on overflow and -EINVAL on parsing error. + * Used as a replacement for the obsolete simple_strtoull. Return code must + * be checked. + */  int kstrtouint(const char *s, unsigned int base, unsigned int *res)  {  	unsigned long long tmp; @@ -183,6 +231,22 @@ int kstrtouint(const char *s, unsigned int base, unsigned int *res)  }  EXPORT_SYMBOL(kstrtouint); +/** + * kstrtoint - convert a string to an int + * @s: The start of the string. The string must be null-terminated, and may also + *  include a single newline before its terminating null. The first character + *  may also be a plus sign or a minus sign. + * @base: The number base to use. The maximum supported base is 16. If base is + *  given as 0, then the base of the string is automatically detected with the + *  conventional semantics - If it begins with 0x the number will be parsed as a + *  hexadecimal (case insensitive), if it otherwise begins with 0, it will be + *  parsed as an octal number. Otherwise it will be parsed as a decimal. + * @res: Where to write the result of the conversion on success. + * + * Returns 0 on success, -ERANGE on overflow and -EINVAL on parsing error. + * Used as a replacement for the obsolete simple_strtoull. Return code must + * be checked. + */  int kstrtoint(const char *s, unsigned int base, int *res)  {  	long long tmp;  |