What kernel versions does this change target ?

And what is the upstream status of this one ? Is it specific to the
yocto integrated changes ? Is it a backport ?

Bruce

On Fri, Apr 17, 2020 at 5:59 AM Jiping Ma <[email protected]> wrote:
>
> Add one notifier for udev changes net device name.
>
> Signed-off-by: Jiping Ma <[email protected]>
> ---
>  .../net/ethernet/stmicro/stmmac/stmmac_main.c | 32 +++++++++++++++++++
>  1 file changed, 32 insertions(+)
>
> diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c 
> b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> index b14f46a57154..8d927e455123 100644
> --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
> @@ -104,6 +104,7 @@ MODULE_PARM_DESC(chain_mode, "To use chain instead of 
> ring mode");
>  static irqreturn_t stmmac_interrupt(int irq, void *dev_id);
>
>  #ifdef CONFIG_DEBUG_FS
> +static const struct net_device_ops stmmac_netdev_ops;
>  static int stmmac_init_fs(struct net_device *dev);
>  static void stmmac_exit_fs(struct net_device *dev);
>  #endif
> @@ -4038,6 +4039,34 @@ static int stmmac_dma_cap_show(struct seq_file *seq, 
> void *v)
>  }
>  DEFINE_SHOW_ATTRIBUTE(stmmac_dma_cap);
>
> +/* Use network device events to rename debugfs file entries.
> + */
> +static int stmmac_device_event(struct notifier_block *unused,
> +                              unsigned long event, void *ptr)
> +{
> +       struct net_device *dev = netdev_notifier_info_to_dev(ptr);
> +       struct stmmac_priv *priv = netdev_priv(dev);
> +
> +       if (dev->netdev_ops != &stmmac_netdev_ops)
> +               goto done;
> +
> +       switch (event) {
> +       case NETDEV_CHANGENAME:
> +               if (priv->dbgfs_dir)
> +                       priv->dbgfs_dir = debugfs_rename(stmmac_fs_dir,
> +                                                        priv->dbgfs_dir,
> +                                                        stmmac_fs_dir,
> +                                                        dev->name);
> +               break;
> +       }
> +done:
> +       return NOTIFY_DONE;
> +}
> +
> +static struct notifier_block stmmac_notifier = {
> +       .notifier_call = stmmac_device_event,
> +};
> +
>  static int stmmac_init_fs(struct net_device *dev)
>  {
>         struct stmmac_priv *priv = netdev_priv(dev);
> @@ -4076,6 +4105,8 @@ static int stmmac_init_fs(struct net_device *dev)
>                 return -ENOMEM;
>         }
>
> +       register_netdevice_notifier(&stmmac_notifier);
> +
>         return 0;
>  }
>
> @@ -4083,6 +4114,7 @@ static void stmmac_exit_fs(struct net_device *dev)
>  {
>         struct stmmac_priv *priv = netdev_priv(dev);
>
> +       unregister_netdevice_notifier(&stmmac_notifier);
>         debugfs_remove_recursive(priv->dbgfs_dir);
>  }
>  #endif /* CONFIG_DEBUG_FS */
> --
> 2.23.0
>


--
- Thou shalt not follow the NULL pointer, for chaos and madness await
thee at its end
- "Use the force Harry" - Gandalf, Star Trek II
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#8608): 
https://lists.yoctoproject.org/g/linux-yocto/message/8608
Mute This Topic: https://lists.yoctoproject.org/mt/73140892/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/linux-yocto/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to