On 13/07/2026 21:30, Rasmus Villemoes wrote:
> Considering that device_set_name() does
> 
>   int device_set_name(struct udevice *dev, const char *name)
>   {
>       name = strdup(name);
>       if (!name)
>               return -ENOMEM;
>       dev->name = name;
>       device_set_name_alloced(dev);
> 
>       return 0;
>   }
> 
> it should be pretty clear that these .bind methods are at best
> pointless (there's a fixup for device_set_name() en route that will
> make this not a memory leak).
> 
> I presume one of them got added by mistake and the remaining are
> cargo-culted, but regardless, just remove them to prevent yet more
> copies of this anti-pattern to appear.
> 
> Signed-off-by: Rasmus Villemoes <[email protected]>
> ---
>  drivers/net/dm9000x.c    | 6 ------
>  drivers/net/ftmac100.c   | 6 ------
>  drivers/net/ks8851_mll.c | 6 ------
>  drivers/net/smc911x.c    | 6 ------
>  4 files changed, 24 deletions(-)

This is a duplicate of [1] which is already in for-master [2].

[1] 
https://patchwork.ozlabs.org/project/uboot/patch/[email protected]/mbox/
[2] 
https://git.u-boot-project.org/u-boot/custodians/u-boot-net/-/commits/for-master

Thanks,
-- 
Jerome

> diff --git a/drivers/net/dm9000x.c b/drivers/net/dm9000x.c
> index 9e17f0b9c28..53225979b66 100644
> --- a/drivers/net/dm9000x.c
> +++ b/drivers/net/dm9000x.c
> @@ -638,11 +638,6 @@ static int dm9000_read_rom_hwaddr(struct udevice *dev)
>       return !is_valid_ethaddr(pdata->enetaddr);
>  }
>  
> -static int dm9000_bind(struct udevice *dev)
> -{
> -     return device_set_name(dev, dev->name);
> -}
> -
>  static int dm9000_of_to_plat(struct udevice *dev)
>  {
>       struct dm9000_priv *db = dev_get_priv(dev);
> @@ -673,7 +668,6 @@ U_BOOT_DRIVER(dm9000) = {
>       .name           = "eth_dm9000",
>       .id             = UCLASS_ETH,
>       .of_match       = dm9000_ids,
> -     .bind           = dm9000_bind,
>       .of_to_plat = dm9000_of_to_plat,
>       .ops            = &dm9000_ops,
>       .priv_auto      = sizeof(struct dm9000_priv),
> diff --git a/drivers/net/ftmac100.c b/drivers/net/ftmac100.c
> index fa0b3dbb6d1..d9826178e82 100644
> --- a/drivers/net/ftmac100.c
> +++ b/drivers/net/ftmac100.c
> @@ -429,11 +429,6 @@ static int ftmac100_remove(struct udevice *dev)
>       return 0;
>  }
>  
> -static int ftmac100_bind(struct udevice *dev)
> -{
> -     return device_set_name(dev, dev->name);
> -}
> -
>  static const struct eth_ops ftmac100_ops = {
>       .start  = ftmac100_start,
>       .send   = ftmac100_send,
> @@ -451,7 +446,6 @@ U_BOOT_DRIVER(ftmac100) = {
>       .name   = "ftmac100",
>       .id     = UCLASS_ETH,
>       .of_match = ftmac100_ids,
> -     .bind   = ftmac100_bind,
>       .of_to_plat = ftmac100_of_to_plat,
>       .probe  = ftmac100_probe,
>       .remove = ftmac100_remove,
> diff --git a/drivers/net/ks8851_mll.c b/drivers/net/ks8851_mll.c
> index 2c956154d09..c2f87d4222b 100644
> --- a/drivers/net/ks8851_mll.c
> +++ b/drivers/net/ks8851_mll.c
> @@ -571,11 +571,6 @@ static int ks8851_read_rom_hwaddr(struct udevice *dev)
>       return !is_valid_ethaddr(pdata->enetaddr);
>  }
>  
> -static int ks8851_bind(struct udevice *dev)
> -{
> -     return device_set_name(dev, dev->name);
> -}
> -
>  static int ks8851_probe(struct udevice *dev)
>  {
>       struct ks_net *ks = dev_get_priv(dev);
> @@ -615,7 +610,6 @@ U_BOOT_DRIVER(ks8851) = {
>       .name           = "eth_ks8851",
>       .id             = UCLASS_ETH,
>       .of_match       = ks8851_ids,
> -     .bind           = ks8851_bind,
>       .of_to_plat = ks8851_of_to_plat,
>       .probe          = ks8851_probe,
>       .ops            = &ks8851_ops,
> diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
> index f39ba40944f..2835eb45856 100644
> --- a/drivers/net/smc911x.c
> +++ b/drivers/net/smc911x.c
> @@ -431,11 +431,6 @@ static int smc911x_read_rom_hwaddr(struct udevice *dev)
>       return 0;
>  }
>  
> -static int smc911x_bind(struct udevice *dev)
> -{
> -     return device_set_name(dev, dev->name);
> -}
> -
>  static int smc911x_probe(struct udevice *dev)
>  {
>       struct smc911x_priv *priv = dev_get_priv(dev);
> @@ -487,7 +482,6 @@ U_BOOT_DRIVER(smc911x) = {
>       .name           = "eth_smc911x",
>       .id             = UCLASS_ETH,
>       .of_match       = smc911x_ids,
> -     .bind           = smc911x_bind,
>       .of_to_plat = smc911x_of_to_plat,
>       .probe          = smc911x_probe,
>       .ops            = &smc911x_ops,

Reply via email to