Re: [PATCH v5 14/15] dm: treewide: Do not use the return value of simple uclass iterator

2022-09-29 Thread Simon Glass
On Tue, 27 Sept 2022 at 15:38, Michal Suchanek  wrote:
>
> uclass_first_device/uclass_next_device return value will be removed,
> don't use it.
>
> With the current implementation bus is equivalent to !ret. It i
> redundant to check both, ret check can be replaced with bus check, and
> ret check inside the iteration is dead code.
>
> Signed-off-by: Michal Suchanek 
> ---
> v5: - consolidate multiple similar patches
> ---
>  cmd/virtio.c   |  9 +++--
>  drivers/dma/dma-uclass.c   |  7 +++
>  drivers/gpio/gpio-uclass.c | 14 ++
>  drivers/w1/w1-uclass.c |  9 ++---
>  4 files changed, 14 insertions(+), 25 deletions(-)

Reviewed-by: Simon Glass 


[PATCH v5 14/15] dm: treewide: Do not use the return value of simple uclass iterator

2022-09-27 Thread Michal Suchanek
uclass_first_device/uclass_next_device return value will be removed,
don't use it.

With the current implementation bus is equivalent to !ret. It i
redundant to check both, ret check can be replaced with bus check, and
ret check inside the iteration is dead code.

Signed-off-by: Michal Suchanek 
---
v5: - consolidate multiple similar patches
---
 cmd/virtio.c   |  9 +++--
 drivers/dma/dma-uclass.c   |  7 +++
 drivers/gpio/gpio-uclass.c | 14 ++
 drivers/w1/w1-uclass.c |  9 ++---
 4 files changed, 14 insertions(+), 25 deletions(-)

diff --git a/cmd/virtio.c b/cmd/virtio.c
index ea3ed2e631..f7a2ef4313 100644
--- a/cmd/virtio.c
+++ b/cmd/virtio.c
@@ -23,18 +23,15 @@ static int do_virtio(struct cmd_tbl *cmdtp, int flag, int 
argc,
 * device_probe() for children (i.e. virtio devices)
 */
struct udevice *bus, *child;
-   int ret;
 
-   ret = uclass_first_device(UCLASS_VIRTIO, );
-   if (ret)
+   uclass_first_device(UCLASS_VIRTIO, );
+   if (!bus)
return CMD_RET_FAILURE;
 
while (bus) {
device_foreach_child_probe(child, bus)
;
-   ret = uclass_next_device();
-   if (ret)
-   break;
+   uclass_next_device();
}
 
return CMD_RET_SUCCESS;
diff --git a/drivers/dma/dma-uclass.c b/drivers/dma/dma-uclass.c
index 012609bb53..952cbc2170 100644
--- a/drivers/dma/dma-uclass.c
+++ b/drivers/dma/dma-uclass.c
@@ -209,10 +209,9 @@ int dma_get_cfg(struct dma *dma, u32 cfg_id, void 
**cfg_data)
 int dma_get_device(u32 transfer_type, struct udevice **devp)
 {
struct udevice *dev;
-   int ret;
 
-   for (ret = uclass_first_device(UCLASS_DMA, ); dev && !ret;
-ret = uclass_next_device()) {
+   for (uclass_first_device(UCLASS_DMA, ); dev;
+uclass_next_device()) {
struct dma_dev_priv *uc_priv;
 
uc_priv = dev_get_uclass_priv(dev);
@@ -228,7 +227,7 @@ int dma_get_device(u32 transfer_type, struct udevice **devp)
 
*devp = dev;
 
-   return ret;
+   return 0;
 }
 
 int dma_memcpy(void *dst, void *src, size_t len)
diff --git a/drivers/gpio/gpio-uclass.c b/drivers/gpio/gpio-uclass.c
index 0ed32b7217..3a35f1e30a 100644
--- a/drivers/gpio/gpio-uclass.c
+++ b/drivers/gpio/gpio-uclass.c
@@ -59,11 +59,10 @@ static int gpio_to_device(unsigned int gpio, struct 
gpio_desc *desc)
 {
struct gpio_dev_priv *uc_priv;
struct udevice *dev;
-   int ret;
 
-   for (ret = uclass_first_device(UCLASS_GPIO, );
+   for (uclass_first_device(UCLASS_GPIO, );
 dev;
-ret = uclass_next_device()) {
+uclass_next_device()) {
uc_priv = dev_get_uclass_priv(dev);
if (gpio >= uc_priv->gpio_base &&
gpio < uc_priv->gpio_base + uc_priv->gpio_count) {
@@ -73,7 +72,7 @@ static int gpio_to_device(unsigned int gpio, struct gpio_desc 
*desc)
}
 
/* No such GPIO */
-   return ret ? ret : -ENOENT;
+   return -ENOENT;
 }
 
 #if CONFIG_IS_ENABLED(DM_GPIO_LOOKUP_LABEL)
@@ -121,12 +120,11 @@ int dm_gpio_lookup_name(const char *name, struct 
gpio_desc *desc)
struct udevice *dev;
ulong offset;
int numeric;
-   int ret;
 
numeric = isdigit(*name) ? dectoul(name, NULL) : -1;
-   for (ret = uclass_first_device(UCLASS_GPIO, );
+   for (uclass_first_device(UCLASS_GPIO, );
 dev;
-ret = uclass_next_device()) {
+uclass_next_device()) {
int len;
 
uc_priv = dev_get_uclass_priv(dev);
@@ -154,7 +152,7 @@ int dm_gpio_lookup_name(const char *name, struct gpio_desc 
*desc)
}
 
if (!dev)
-   return ret ? ret : -EINVAL;
+   return -EINVAL;
 
gpio_desc_init(desc, dev, offset);
 
diff --git a/drivers/w1/w1-uclass.c b/drivers/w1/w1-uclass.c
index de4f25bcf9..a4247ecd62 100644
--- a/drivers/w1/w1-uclass.c
+++ b/drivers/w1/w1-uclass.c
@@ -36,15 +36,10 @@ int w1_bus_find_dev(const struct udevice *bus, u64 id, 
struct udevice
 {
struct udevice *dev;
u8 family = id & 0xff;
-   int ret;
 
-   for (ret = uclass_first_device(UCLASS_W1_EEPROM, );
-   !ret && dev;
+   for (uclass_first_device(UCLASS_W1_EEPROM, );
+   dev;
uclass_next_device()) {
-   if (ret || !dev) {
-   debug("cannot find w1 eeprom dev\n");
-   return -ENODEV;
-   }
 
if (dev_get_driver_data(dev) == family) {
*devp = dev;
-- 
2.37.3