Hi Simon, On Fri, Jun 9, 2017 at 12:41 AM, Simon Glass <s...@chromium.org> wrote: > Hi, > > On 23 April 2017 at 20:10, Simon Glass <s...@chromium.org> wrote: >> Sometimes it is useful to iterate through all devices in a uclass and >> skip over those which do not work correctly (e.g fail to probe). Add two >> new functions to provide this feature. >> >> The caller must check the return value each time to make sure that the >> device is valid. But the device pointer is always returned. >> >> Signed-off-by: Simon Glass <s...@chromium.org> >> --- >> >> Changes in v2: >> - Return even device, even those with errors >> - Rename the functions >> >> drivers/core/uclass.c | 27 +++++++++++++++++ >> include/dm/uclass.h | 31 ++++++++++++++++++++ >> test/dm/test-fdt.c | 80 >> +++++++++++++++++++++++++++++++++++++++++++++++++++ >> 3 files changed, 138 insertions(+) > > > This patch has been sitting around for a while. Does anyone think it is > useful? > > Regards, > Simon > _______________________________________________
I actually made a patch for one of our boards with two functions that have the same semantics in our repository (just named uclass_{first,next}_device_skip). The background is that on this board we have a network interface controlled by an FPGA and another interface controlled by the SoC. The problem I faced was that when the interfaces were brought up in net/eth-uclass.c the FPGA was not yet running, hence the probe of the FPGA's network interface (which came first) failed. But since the process then stopped there, the SoC's interface was not activated either, which left the board without a network connection (which would be a problem in production). Aside from that, I think there are many use cases where the "skipping behavior" would be prudent. For example in the gpio command: if any of the GPIO controllers fail to probe for some reason, then "gpio st -a" will stop at this particular controller, and won't show the state of any other controllers. So, in conclusion, yes, I think it would be a nice addition. Best regards, Mario _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot