Hi Andy, > -----Original Message----- > From: Andy Shevchenko [mailto:andy.shevche...@gmail.com] > Sent: Friday, August 2, 2019 4:51 PM > To: Park, Aiden <aiden.p...@intel.com> > Cc: Bin Meng <bmeng...@gmail.com>; U-Boot Mailing List <u- > b...@lists.denx.de>; Simon Glass <s...@chromium.org> > Subject: Re: [PATCH v8 4/9] x86: slimbootloader: Add memory > configuration > > On Fri, Aug 2, 2019 at 10:49 AM Andy Shevchenko > <andy.shevche...@gmail.com> wrote: > > > > On Fri, Aug 2, 2019 at 10:03 AM Park, Aiden <aiden.p...@intel.com> > wrote: > > > > > > Slim Bootloader provides memory map info thru its HOB list pointer. > > > Configure memory size and relocation memory from the HOB data, and > > > provide e820 entries as well. > > > - Get memory size from the memory map info HOB > > > - Set available top memory lower than 4GB for U-Boot relocation > > > - Provide e820 entries from the memory map info HOB > > > > > +#define for_each_memory_map_entry_reversed(iter, entries) \ > > > + for (iter = entries->count - 1; iter >= 0; iter--) \ > > > + if (entries->entry[iter].type == E820_RAM) > > > + > > > > It seems you missed my answer to Bin. > > This is simple incorrect. Checkpatch sometimes is wrong. > > Let me elaborate why. > > The idea of having > > if (foo) {} else > > pattern is to avoid weirndess like > > for_each_...() { > ... > } else { > ...WTF!.. > } > Sorry for missing your comment. I understand '{} else' is better way. It looks checkpatch issue is bigger scope than this one. What about this in this series?
#define for_each_if(condition) if (!(condition)) {} else #define for_each_memory_map_entry_reversed(iter, entries) \ for (iter = entries->count - 1; iter >= 0; iter--) \ for_each_if(entries->entry[iter].type == E820_RAM) tricky, but checkpatch does not report ERROR. > > -- > With Best Regards, > Andy Shevchenko Best Regards, Aiden _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot