mirror of
https://github.com/torvalds/linux.git
synced 2024-11-25 21:51:40 +00:00
a88cde5769
Commit 1e4c64b71c
("mm/memblock: Add "reserve_mem" to reserved named
memory at boot up") introduce the usage of memparse(), which is not
defined in memblock test.
Add the definition and link it to fix the build.
Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
Link: https://lore.kernel.org/r/20240806010319.29194-3-richard.weiyang@gmail.com
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
54 lines
875 B
C
54 lines
875 B
C
// SPDX-License-Identifier: GPL-2.0-only
|
|
/*
|
|
* From lib/cmdline.c
|
|
*/
|
|
#include <stdlib.h>
|
|
|
|
#if __has_attribute(__fallthrough__)
|
|
# define fallthrough __attribute__((__fallthrough__))
|
|
#else
|
|
# define fallthrough do {} while (0) /* fallthrough */
|
|
#endif
|
|
|
|
unsigned long long memparse(const char *ptr, char **retptr)
|
|
{
|
|
char *endptr; /* local pointer to end of parsed string */
|
|
|
|
unsigned long long ret = strtoll(ptr, &endptr, 0);
|
|
|
|
switch (*endptr) {
|
|
case 'E':
|
|
case 'e':
|
|
ret <<= 10;
|
|
fallthrough;
|
|
case 'P':
|
|
case 'p':
|
|
ret <<= 10;
|
|
fallthrough;
|
|
case 'T':
|
|
case 't':
|
|
ret <<= 10;
|
|
fallthrough;
|
|
case 'G':
|
|
case 'g':
|
|
ret <<= 10;
|
|
fallthrough;
|
|
case 'M':
|
|
case 'm':
|
|
ret <<= 10;
|
|
fallthrough;
|
|
case 'K':
|
|
case 'k':
|
|
ret <<= 10;
|
|
endptr++;
|
|
fallthrough;
|
|
default:
|
|
break;
|
|
}
|
|
|
|
if (retptr)
|
|
*retptr = endptr;
|
|
|
|
return ret;
|
|
}
|