diff options
Diffstat (limited to 'lib/cmdline.c')
| -rw-r--r-- | lib/cmdline.c | 15 | 
1 files changed, 10 insertions, 5 deletions
| diff --git a/lib/cmdline.c b/lib/cmdline.c index d4932f745e92..76a712e6e20e 100644 --- a/lib/cmdline.c +++ b/lib/cmdline.c @@ -121,11 +121,7 @@ EXPORT_SYMBOL(get_options);   *	@retptr: (output) Optional pointer to next char after parse completes   *   *	Parses a string into a number.  The number stored at @ptr is - *	potentially suffixed with %K (for kilobytes, or 1024 bytes), - *	%M (for megabytes, or 1048576 bytes), or %G (for gigabytes, or - *	1073741824).  If the number is suffixed with K, M, or G, then - *	the return value is the number multiplied by one kilobyte, one - *	megabyte, or one gigabyte, respectively. + *	potentially suffixed with K, M, G, T, P, E.   */  unsigned long long memparse(const char *ptr, char **retptr) @@ -135,6 +131,15 @@ unsigned long long memparse(const char *ptr, char **retptr)  	unsigned long long ret = simple_strtoull(ptr, &endptr, 0);  	switch (*endptr) { +	case 'E': +	case 'e': +		ret <<= 10; +	case 'P': +	case 'p': +		ret <<= 10; +	case 'T': +	case 't': +		ret <<= 10;  	case 'G':  	case 'g':  		ret <<= 10; | 
