[U-Boot] [PATCH] uclass: Use uclass_foreach_dev() macro instead of open coding

Use the uclass_foreach_dev() macro instead of the open coded version.
Signed-off-by: Liviu Dudau liviu.dudau@foss.arm.com --- drivers/core/uclass.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c index 3113d6a56b..081571951d 100644 --- a/drivers/core/uclass.c +++ b/drivers/core/uclass.c @@ -337,7 +337,7 @@ int uclass_find_device_by_ofnode(enum uclass_id id, ofnode node, if (ret) return ret;
- list_for_each_entry(dev, &uc->dev_head, uclass_node) { + uclass_foreach_dev(dev, uc) { log(LOGC_DM, LOGL_DEBUG_CONTENT, " - checking %s\n", dev->name); if (ofnode_equal(dev_ofnode(dev), node)) {

On 17 September 2018 at 10:44, Liviu Dudau Liviu.Dudau@foss.arm.com wrote:
Use the uclass_foreach_dev() macro instead of the open coded version.
Signed-off-by: Liviu Dudau liviu.dudau@foss.arm.com
drivers/core/uclass.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Simon Glass sjg@chromium.org
Perhaps you could also convert a few usages?

On Tue, Sep 18, 2018 at 04:06:13AM +0200, Simon Glass wrote:
On 17 September 2018 at 10:44, Liviu Dudau Liviu.Dudau@foss.arm.com wrote:
Use the uclass_foreach_dev() macro instead of the open coded version.
Signed-off-by: Liviu Dudau liviu.dudau@foss.arm.com
drivers/core/uclass.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Simon Glass sjg@chromium.org
Perhaps you could also convert a few usages?
Not sure what you mean. Are you suggesting that I should convert more of the code that uses the open coded version into uclass_foreach_dev() ?
Best regards, Liviu

Hi,
On 18 September 2018 at 02:08, Liviu Dudau Liviu.Dudau@foss.arm.com wrote:
On Tue, Sep 18, 2018 at 04:06:13AM +0200, Simon Glass wrote:
On 17 September 2018 at 10:44, Liviu Dudau Liviu.Dudau@foss.arm.com wrote:
Use the uclass_foreach_dev() macro instead of the open coded version.
Signed-off-by: Liviu Dudau liviu.dudau@foss.arm.com
drivers/core/uclass.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Simon Glass sjg@chromium.org
Perhaps you could also convert a few usages?
Not sure what you mean. Are you suggesting that I should convert more of the code that uses the open coded version into uclass_foreach_dev() ?
Yes. After all, at present your macro is just dead code :-)
Regards, Simon

On Wed, Sep 19, 2018 at 09:30:37AM -0600, Simon Glass wrote:
Hi,
On 18 September 2018 at 02:08, Liviu Dudau Liviu.Dudau@foss.arm.com wrote:
On Tue, Sep 18, 2018 at 04:06:13AM +0200, Simon Glass wrote:
On 17 September 2018 at 10:44, Liviu Dudau Liviu.Dudau@foss.arm.com wrote:
Use the uclass_foreach_dev() macro instead of the open coded version.
Signed-off-by: Liviu Dudau liviu.dudau@foss.arm.com
drivers/core/uclass.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Simon Glass sjg@chromium.org
Perhaps you could also convert a few usages?
Not sure what you mean. Are you suggesting that I should convert more of the code that uses the open coded version into uclass_foreach_dev() ?
Yes. After all, at present your macro is just dead code :-)
I think there is some confusion here. I didn't write the macro, it is present in include/dm/uclass.h since you have introduced it in commit 6494d708bfc630ac0 ("dm: Add base driver model support"). All I have done was to notice that in uclass.c the list_for_each_entry() line can be replaced by the macro with the same effect.
I also didn't get what you meant by "your macro is just dead code".
Best regards, Liviu
Regards, Simon

Hi Livu,
On 19 September 2018 at 10:37, Liviu Dudau Liviu.Dudau@foss.arm.com wrote:
On Wed, Sep 19, 2018 at 09:30:37AM -0600, Simon Glass wrote:
Hi,
On 18 September 2018 at 02:08, Liviu Dudau Liviu.Dudau@foss.arm.com wrote:
On Tue, Sep 18, 2018 at 04:06:13AM +0200, Simon Glass wrote:
On 17 September 2018 at 10:44, Liviu Dudau Liviu.Dudau@foss.arm.com wrote:
Use the uclass_foreach_dev() macro instead of the open coded version.
Signed-off-by: Liviu Dudau liviu.dudau@foss.arm.com
drivers/core/uclass.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Simon Glass sjg@chromium.org
Perhaps you could also convert a few usages?
Not sure what you mean. Are you suggesting that I should convert more of the code that uses the open coded version into uclass_foreach_dev() ?
Yes. After all, at present your macro is just dead code :-)
I think there is some confusion here. I didn't write the macro, it is present in include/dm/uclass.h since you have introduced it in commit 6494d708bfc630ac0 ("dm: Add base driver model support"). All I have done was to notice that in uclass.c the list_for_each_entry() line can be replaced by the macro with the same effect.
I also didn't get what you meant by "your macro is just dead code".
Sorry I completely missed the purpose of your patch!
Yes I think it would be good to convert other code to use this function, if you can find some.
Reviewed-by: Simon Glass sjg@chromium.org
Regards, Simon

Use the uclass_foreach_dev() macro instead of the open coded version.
Signed-off-by: Liviu Dudau liviu.dudau@foss.arm.com --- Changelog: - v2: Find more places where the open coded version exists and replace them with the macro
drivers/core/dump.c | 2 +- drivers/core/uclass.c | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/core/dump.c b/drivers/core/dump.c index d7cdb1475d..9068084404 100644 --- a/drivers/core/dump.c +++ b/drivers/core/dump.c @@ -89,7 +89,7 @@ void dm_dump_uclass(void) printf("uclass %d: %s\n", id, uc->uc_drv->name); if (list_empty(&uc->dev_head)) continue; - list_for_each_entry(dev, &uc->dev_head, uclass_node) { + uclass_foreach_dev(dev, uc) { dm_display_line(dev, i); i++; } diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c index 3113d6a56b..d90bdde54e 100644 --- a/drivers/core/uclass.c +++ b/drivers/core/uclass.c @@ -180,7 +180,7 @@ int dev_get_uclass_index(struct udevice *dev, struct uclass **ucp) if (list_empty(&uc->dev_head)) return -ENODEV;
- list_for_each_entry(iter, &uc->dev_head, uclass_node) { + uclass_foreach_dev(iter, uc) { if (iter == dev) { if (ucp) *ucp = uc; @@ -205,7 +205,7 @@ int uclass_find_device(enum uclass_id id, int index, struct udevice **devp) if (list_empty(&uc->dev_head)) return -ENODEV;
- list_for_each_entry(dev, &uc->dev_head, uclass_node) { + uclass_foreach_dev(dev, uc) { if (!index--) { *devp = dev; return 0; @@ -259,7 +259,7 @@ int uclass_find_device_by_name(enum uclass_id id, const char *name, if (ret) return ret;
- list_for_each_entry(dev, &uc->dev_head, uclass_node) { + uclass_foreach_dev(dev, uc) { if (!strncmp(dev->name, name, strlen(name))) { *devp = dev; return 0; @@ -284,7 +284,7 @@ int uclass_find_device_by_seq(enum uclass_id id, int seq_or_req_seq, if (ret) return ret;
- list_for_each_entry(dev, &uc->dev_head, uclass_node) { + uclass_foreach_dev(dev, uc) { debug(" - %d %d '%s'\n", dev->req_seq, dev->seq, dev->name); if ((find_req_seq ? dev->req_seq : dev->seq) == seq_or_req_seq) { @@ -312,7 +312,7 @@ int uclass_find_device_by_of_offset(enum uclass_id id, int node, if (ret) return ret;
- list_for_each_entry(dev, &uc->dev_head, uclass_node) { + uclass_foreach_dev(dev, uc) { if (dev_of_offset(dev) == node) { *devp = dev; return 0; @@ -337,7 +337,7 @@ int uclass_find_device_by_ofnode(enum uclass_id id, ofnode node, if (ret) return ret;
- list_for_each_entry(dev, &uc->dev_head, uclass_node) { + uclass_foreach_dev(dev, uc) { log(LOGC_DM, LOGL_DEBUG_CONTENT, " - checking %s\n", dev->name); if (ofnode_equal(dev_ofnode(dev), node)) { @@ -372,7 +372,7 @@ static int uclass_find_device_by_phandle(enum uclass_id id, if (ret) return ret;
- list_for_each_entry(dev, &uc->dev_head, uclass_node) { + uclass_foreach_dev(dev, uc) { uint phandle;
phandle = dev_read_phandle(dev); @@ -399,7 +399,7 @@ int uclass_get_device_by_driver(enum uclass_id id, if (ret) return ret;
- list_for_each_entry(dev, &uc->dev_head, uclass_node) { + uclass_foreach_dev(dev, uc) { if (dev->driver == find_drv) return uclass_get_device_tail(dev, 0, devp); } @@ -499,7 +499,7 @@ int uclass_get_device_by_phandle_id(enum uclass_id id, uint phandle_id, if (ret) return ret;
- list_for_each_entry(dev, &uc->dev_head, uclass_node) { + uclass_foreach_dev(dev, uc) { uint phandle;
phandle = dev_read_phandle(dev);

On 28 September 2018 at 06:12, Liviu Dudau Liviu.Dudau@foss.arm.com wrote:
Use the uclass_foreach_dev() macro instead of the open coded version.
Signed-off-by: Liviu Dudau liviu.dudau@foss.arm.com
Changelog:
- v2: Find more places where the open coded version exists and replace them with the macro
drivers/core/dump.c | 2 +- drivers/core/uclass.c | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org
I wonder how you got that email address?!
- Simon

On Fri, Sep 28, 2018 at 09:57:49AM -0600, Simon Glass wrote:
On 28 September 2018 at 06:12, Liviu Dudau Liviu.Dudau@foss.arm.com wrote:
Use the uclass_foreach_dev() macro instead of the open coded version.
Signed-off-by: Liviu Dudau liviu.dudau@foss.arm.com
Changelog:
- v2: Find more places where the open coded version exists and replace them with the macro
drivers/core/dump.c | 2 +- drivers/core/uclass.c | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org
I wonder how you got that email address?!
Which one? Mine or yours?
Mine comes from the new setup that Arm has for dealing with FOSS, where the email servers don't send the standard Arm disclaimer.
Best regards, Liviu
- Simon

Hi Livu,
On 28 September 2018 at 10:02, Liviu Dudau Liviu.Dudau@foss.arm.com wrote:
On Fri, Sep 28, 2018 at 09:57:49AM -0600, Simon Glass wrote:
On 28 September 2018 at 06:12, Liviu Dudau Liviu.Dudau@foss.arm.com wrote:
Use the uclass_foreach_dev() macro instead of the open coded version.
Signed-off-by: Liviu Dudau liviu.dudau@foss.arm.com
Changelog:
- v2: Find more places where the open coded version exists and replace them with the macro
drivers/core/dump.c | 2 +- drivers/core/uclass.c | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org
I wonder how you got that email address?!
Which one? Mine or yours?
Mine comes from the new setup that Arm has for dealing with FOSS, where the email servers don't send the standard Arm disclaimer.
Yes I mean yours. OK I see, seems useful.
Regards, Simon

Hi Livu,
On 28 September 2018 at 10:02, Liviu Dudau Liviu.Dudau@foss.arm.com wrote:
On Fri, Sep 28, 2018 at 09:57:49AM -0600, Simon Glass wrote:
On 28 September 2018 at 06:12, Liviu Dudau Liviu.Dudau@foss.arm.com wrote:
Use the uclass_foreach_dev() macro instead of the open coded version.
Signed-off-by: Liviu Dudau liviu.dudau@foss.arm.com
Changelog:
- v2: Find more places where the open coded version exists and replace them with the macro
drivers/core/dump.c | 2 +- drivers/core/uclass.c | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org
I wonder how you got that email address?!
Which one? Mine or yours?
Mine comes from the new setup that Arm has for dealing with FOSS, where the email servers don't send the standard Arm disclaimer.
Yes I mean yours. OK I see, seems useful.
Regards, Simon
Applied to u-boot-dm/next, thanks!

Hello Liviu,
Am 17.09.2018 um 18:44 schrieb Liviu Dudau:
Use the uclass_foreach_dev() macro instead of the open coded version.
Signed-off-by: Liviu Dudau liviu.dudau@foss.arm.com
drivers/core/uclass.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Heiko Schocher hs@denx.de
bye, Heiko
participants (4)
-
Heiko Schocher
-
Liviu Dudau
-
Simon Glass
-
sjg@google.com