Hi Thomas,

On 03.11.2015 07:25, Thomas Chou wrote:
On 2015年11月03日 13:56, Stefan Roese wrote:
if (CONFIG_IS_ENABLED(CFI_FLASH)) {
     struct udevice *dev;
     cfi_flash_num_flash_banks = 0;
     /* probe every MTD device to find cfi-flash device */
     for (uclass_first_device(UCLASS_MTD, &dev);
          dev;
          uclass_next_device(&dev)) {
     }
}

I'm still not an expert in the DM internals. I fail to see, where
the actual probing is happening in the loop. Is it buried in the
uclass_first_device() call?

The probing is happening in both uclass_first_device() and
uclass_next_device().

The uclass_first_device() will probe the first device.
While uclass_next_device() will probe the rest if they exist.

Okay. So cfi_flash_probe() will get called assigning the base
addresses that are available. The real "probing" (meaning
detection) is happening later in flash_init().

I think adding (or extending) a comment here to describe this
would be helpful in v2.

Thanks,
Stefan

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to