Re: [PATCH] stmmac: debugfs entry name is not be changed when udev rename device name.

From: Jiping Ma
Date: Wed Jan 01 2020 - 19:39:05 EST




On 12/31/2019 06:12 PM, Sergei Shtylyov wrote:
Hello!

On 31.12.2019 5:03, Jiping Ma wrote:

Add one notifier for udev changes net device name.

Signed-off-by: Jiping Ma <jiping.ma2@xxxxxxxxxxxxx>
---
 .../net/ethernet/stmicro/stmmac/stmmac_main.c | 38 ++++++++++++++++++-
 1 file changed, 37 insertions(+), 1 deletion(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
index b14f46a57154..c1c877bb4421 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
@@ -4038,6 +4038,40 @@ static int stmmac_dma_cap_show(struct seq_file *seq, void *v)
 }
 DEFINE_SHOW_ATTRIBUTE(stmmac_dma_cap);
 +/**
+ * Use network device events to create/remove/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);
+
+ÂÂÂ 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;
+
+ÂÂÂ case NETDEV_GOING_DOWN:
+ÂÂÂÂÂÂÂ break;
+
+ÂÂÂ case NETDEV_UP:
+ÂÂÂÂÂÂÂ break;

ÂÂ Why not merge the above 2 cases? Or just remove them('event' is not *enum*)?
I will remove them.

Thanks,

+ÂÂÂ }
+
+done:
+ÂÂÂ return NOTIFY_DONE;
+}
[...]

MBR, Sergei