lib: Add a generic cmdline parse function parse_option_str

There should be a generic function to parse params like a=b,c
Adding parse_option_str in lib/cmdline.c which will return true
if there's specified option set in the params.

Also updated efi=old_map parsing code to use the new function

Signed-off-by: Dave Young <dyoung@redhat.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
This commit is contained in:
Dave Young
2014-08-14 17:15:27 +08:00
committed by Matt Fleming
parent b2e0a54a12
commit 6ccc72b87b
3 changed files with 32 additions and 20 deletions

View File

@@ -932,26 +932,8 @@ u64 efi_mem_attributes(unsigned long phys_addr)
static int __init parse_efi_cmdline(char *str)
{
if (*str == '=')
str++;
while (*str) {
if (!strncmp(str, "old_map", 7)) {
set_bit(EFI_OLD_MEMMAP, &efi.flags);
str += strlen("old_map");
}
/*
* Skip any options we don't understand. Presumably
* they apply to the EFI boot stub.
*/
while (*str && *str != ',')
str++;
/* If we hit a delimiter, skip it */
if (*str == ',')
str++;
}
if (parse_option_str(str, "old_map"))
set_bit(EFI_OLD_MEMMAP, &efi.flags);
return 0;
}