lkml.org 
[lkml]   [2016]   [Jun]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] x86/efi: Auto enable EFI memmap on SGI UV systems

* Joseph Thelen <jthelen@sgi.com> wrote:

> static int __init setup_add_efi_memmap(char *arg)
> {
> + static bool arg_as_bool;

Why hidden inside local variables as static?

> + int ret = strtobool(arg, &arg_as_bool);
> +
> + /* check for a non-existent arg, to maintain backward compatibility */
> + if (!arg) {
> + add_efi_memmap = EFI_MEMMAP_ENABLED;
> + } else {
> + if (ret) {
> + /* a bad argument was passed... */
> + return ret;
> + } else {
> + if (arg_as_bool)
> + add_efi_memmap = EFI_MEMMAP_ENABLED;
> + else
> + add_efi_memmap = EFI_MEMMAP_DISABLED;
> + }
> + }
> +
> return 0;

And that's a really weird code flow!

How about something straightforward:

int val = 0;
int ret;

/* Check for a non-existent arg, to maintain backward compatibility: */
if (!arg) {
add_efi_memmap = EFI_MEMMAP_ENABLED;
return 0;
}

ret = strtobool(arg, &val);

/* Was a bad argument passed? */
if (ret)
return ret;

if (val)
add_efi_memmap = EFI_MEMMAP_ENABLED;
else
add_efi_memmap = EFI_MEMMAP_DISABLED;

return 0;

?

Also note the rename to 'val'.

Thanks,

Ingo

\
 
 \ /
  Last update: 2016-06-08 13:41    [W:2.278 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site