diff options
author | Simon Glass <sjg@chromium.org> | 2020-12-16 21:20:29 -0700 |
---|---|---|
committer | Simon Glass <sjg@chromium.org> | 2020-12-18 20:32:21 -0700 |
commit | 991759196faa74b2e7df1cb8e87820f4ec7285f8 (patch) | |
tree | c006a0c22ee148df5c777c865751bdd3e4a72199 /drivers/core | |
parent | b5b11558bc2d7088dfbb67253d8b094782334dea (diff) | |
download | u-boot-991759196faa74b2e7df1cb8e87820f4ec7285f8.tar.gz u-boot-991759196faa74b2e7df1cb8e87820f4ec7285f8.tar.xz u-boot-991759196faa74b2e7df1cb8e87820f4ec7285f8.zip |
dm: Drop the unused arg in uclass_find_device_by_seq()
Now that there is only one sequence number (rather than both requested and
assigned ones) we can simplify this function. Also update its caller to
simplify the logic.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'drivers/core')
-rw-r--r-- | drivers/core/device.c | 16 | ||||
-rw-r--r-- | drivers/core/uclass.c | 22 |
2 files changed, 12 insertions, 26 deletions
diff --git a/drivers/core/device.c b/drivers/core/device.c index e8435b8ba4..b878a4d4b6 100644 --- a/drivers/core/device.c +++ b/drivers/core/device.c @@ -647,15 +647,15 @@ int device_get_child_count(const struct udevice *parent) return count; } -int device_find_child_by_seq(const struct udevice *parent, int seq_or_req_seq, - bool find_req_seq, struct udevice **devp) +int device_find_child_by_seq(const struct udevice *parent, int seq, + struct udevice **devp) { struct udevice *dev; *devp = NULL; list_for_each_entry(dev, &parent->child_head, sibling_node) { - if (dev->sqq == seq_or_req_seq) { + if (dev->sqq == seq) { *devp = dev; return 0; } @@ -671,14 +671,8 @@ int device_get_child_by_seq(const struct udevice *parent, int seq, int ret; *devp = NULL; - ret = device_find_child_by_seq(parent, seq, false, &dev); - if (ret == -ENODEV) { - /* - * We didn't find it in probed devices. See if there is one - * that will request this seq if probed. - */ - ret = device_find_child_by_seq(parent, seq, true, &dev); - } + ret = device_find_child_by_seq(parent, seq, &dev); + return device_get_device_tail(dev, ret, devp); } diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c index 78765e548e..42c9ba5828 100644 --- a/drivers/core/uclass.c +++ b/drivers/core/uclass.c @@ -288,25 +288,23 @@ int uclass_find_next_free_req_seq(struct uclass *uc) return max + 1; } -int uclass_find_device_by_seq(enum uclass_id id, int seq_or_req_seq, - bool find_req_seq, struct udevice **devp) +int uclass_find_device_by_seq(enum uclass_id id, int seq, struct udevice **devp) { struct uclass *uc; struct udevice *dev; int ret; *devp = NULL; - log_debug("%d %d\n", find_req_seq, seq_or_req_seq); - if (seq_or_req_seq == -1) + log_debug("%d\n", seq); + if (seq == -1) return -ENODEV; ret = uclass_get(id, &uc); if (ret) return ret; uclass_foreach_dev(dev, uc) { - log_debug(" - %d %d '%s'\n", - dev->req_seq, dev_seq(dev), dev->name); - if (dev_seq(dev) == seq_or_req_seq) { + log_debug(" - %d '%s'\n", dev->sqq, dev->name); + if (dev->sqq == seq) { *devp = dev; log_debug(" - found\n"); return 0; @@ -466,14 +464,8 @@ int uclass_get_device_by_seq(enum uclass_id id, int seq, struct udevice **devp) int ret; *devp = NULL; - ret = uclass_find_device_by_seq(id, seq, false, &dev); - if (ret == -ENODEV) { - /* - * We didn't find it in probed devices. See if there is one - * that will request this seq if probed. - */ - ret = uclass_find_device_by_seq(id, seq, true, &dev); - } + ret = uclass_find_device_by_seq(id, seq, &dev); + return uclass_get_device_tail(dev, ret, devp); } |