[PATCH] net: drop pointless .bind methods

Jerome Forissier jerome.forissier at arm.com
Thu Jul 16 08:48:26 CEST 2026


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 <rv at rasmusvillemoes.dk>
> ---
>  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/20260703-net-v1-1-3c2c7d6323c1@nxp.com/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,



More information about the U-Boot mailing list