> > +/** > > + * efi_memmap_free - Free memory pointed by new_memmap.map > > + * @new_memmap: Structure that describes EFI memory map. > > + * > > + * Memory is freed depending on the type of allocation performed. > > + */ > > +static void __init efi_memmap_free(struct efi_memory_map new_memmap) > > ^^ Its not very clear what you mean by the term 'new_memmap' here. > Also can we pass a pointer to struct efi_memory_map to this function rather > than passing the entire struct. Sure! I will change it. > > +static void __init __efi_memmap_unmap(struct efi_memory_map > > +new_memmap) { > > + if (!new_memmap.late) { > > + unsigned long size; > > + > > + size = new_memmap.desc_size * new_memmap.nr_map; > > + early_memunmap(new_memmap.map, size); > > Nitpick: May be we can avoid the extra local variable size and directly pass > 'new_memmap.desc_size * new_memmap.nr_map' while calling > early_memunmap(). I think the code would still be readable and the calculation > seems self-explanatory. Yes, we could do that but that would make early_memunmap() exceed 80 characters limit. Personally, I feel single line code is more readable when compared to split lines and this local variable would anyways be gone once the function returns. > > +/** > > + * Unmap and free existing EFI Memory Map i.e. efi.memmap */ void > > +__init efi_memmap_unmap_and_free(void) { > > + if (!efi_enabled(EFI_MEMMAP)) { > > + WARN(1, "EFI_MEMMAP is not enabled"); > > Nitpick: Do we really need a WARN() here? May be we can do away with the > same. My thought behind adding a WARN() is to let the developer know that he's using the API in wrong scenario i.e. trying to unmap/free memory map when it's not present. If we just return, the developer might think that his code isn't buggy when he tries to unmap an non-existent EFI memory map. Regards, Sai