> > -static void __init efi_clean_memmap(void)
> > +void __init efi_clean_memmap(void)
> >   {
> > -   efi_memory_desc_t *out = efi.memmap.map;
> > -   const efi_memory_desc_t *in = out;
> > -   const efi_memory_desc_t *end = efi.memmap.map_end;
> > -   int i, n_removal;
> > -
> > -   for (i = n_removal = 0; in < end; i++) {
> > -           if (efi_memmap_entry_valid(in, i)) {
> > -                   if (out != in)
> > -                           memcpy(out, in, efi.memmap.desc_size);
> > -                   out = (void *)out + efi.memmap.desc_size;
> > -           } else {
> > +   void *out;
> > +   efi_memory_desc_t *md;
> > +   unsigned int i = 0, n_removal = 0;
> 
> Perhaps we can use 'unsigned int i = n_removal = 0;', which appears more
> readable.

Hmm.. that actually throws an compilation error saying that "n_removal is 
undeclared".
So, let's stick with unsigned int i = 0, n_removal = 0;

> 
> > +   struct efi_memory_map new_memmap;
> > +
> > +   for_each_efi_memory_desc(md) {
> > +           if (!efi_memmap_entry_valid(md, i))
> >                     n_removal++;
> > -           }
> > -           in = (void *)in + efi.memmap.desc_size;
> >     }
> >
> > -   if (n_removal > 0) {
> > -           u64 size = efi.memmap.nr_map - n_removal;
> > +   if (n_removal == 0)
> 
> and 'if (!n_removal)' above, to stay in sync with the rest of the code in 
> this file.

Sure! Thanks for the catch. I will fix it.

Regards,
Sai

Reply via email to