On Wed, May 26, 2021 at 02:25:54AM +0200, Marek Behun wrote: > On Wed, 26 May 2021 01:27:56 +0200 > Marek Behun wrote: > > > Tom, Simon, > > > > now that LTO is merged I am working on > > Support SPI NORs and OF partitions in `mtd list` > > > > but CI fails for some boards, see > > https://github.com/u-boot/u-boot/pull/55 > > > > The reason is that there are still several boards which do not use > > CONFIG_DM. > > > > On the previous version Simon commented that I should use > > if (IS_ENABLED(...)) > > instead of > > #if > > but this does not currently work for those boards with CONFIG_DM > > disabled (struct udevice's members are not visible at all, and > > functions from dm/device.h do not exist). > > > > There are multiple possible workarounds: > > - use #if (until all boards are at CONFIG_DM) > > - create static inline versions of functions from dm/device.h returning > > failures when CONFIG_DM is not set (this would be rather big :( ) > > - wait till all those boards with CONFIG_DM disabled are removed > > - ... > > Since there is rather a large number of defconfigs with CONFIG_DM > disabled, and since the relevant code was rather complex > > if (!is_part && dev && mtd->dev == dev) || > !strcmp(name, mtd->name) || > (is_part && mtd->dev && !strcmp(name, mtd->dev->name)) > > I moved the code into a separate name matching function and for now > created a non-DM version. > > Hopefully this will be acceptable and pass CI. There's two parts to it, I suppose. First, looking at the failed build: https://dev.azure.com/u-boot/u-boot/_build/results?buildId=2297&view=logs&j=9905d24b-10d5-587f-b981-9e43e4414ee0&t=4fbb7fc6-2c55-511b-8011-58267bbd0b81&l=510 that's not a no-CONFIG_DM migration (SPL_DM is not required). Second, I wonder what it would look like on top of my WIP/make-DM_USB-fatal branch as that has removed a number of non-migrated boards. The deadline for CONFIG_DM causing removal itself is still a bit away, but that branch does remove a number of boards. -- Tom