aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/amd/xgbe/xgbe-debugfs.c
diff options
context:
space:
mode:
authorLendacky, Thomas <Thomas.Lendacky@amd.com>2017-08-18 10:02:57 -0400
committerDavid S. Miller <davem@davemloft.net>2017-08-18 19:30:16 -0400
commitefbaa828330aed8cfa9529451abfea4a465303ec (patch)
treec3befbc23f483e3b2fe145896549bdc124a9f600 /drivers/net/ethernet/amd/xgbe/xgbe-debugfs.c
parent1b631424e8244722419ebf6ba1fa5a7d72e675c2 (diff)
amd-xgbe: Add support to handle device renaming
Many of the names used by the driver are based upon the name of the device found during device probe. Move the formatting of the names into the device open function so that any renaming that occurs before the device is brought up will be accounted for. This also means moving the creation of some named workqueues into the device open path. Add support to register for net events so that if a device is renamed the corresponding debugfs directory can be renamed. Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/amd/xgbe/xgbe-debugfs.c')
-rw-r--r--drivers/net/ethernet/amd/xgbe/xgbe-debugfs.c25
1 files changed, 25 insertions, 0 deletions
diff --git a/drivers/net/ethernet/amd/xgbe/xgbe-debugfs.c b/drivers/net/ethernet/amd/xgbe/xgbe-debugfs.c
index 7546b660d6b5..7d128be61310 100644
--- a/drivers/net/ethernet/amd/xgbe/xgbe-debugfs.c
+++ b/drivers/net/ethernet/amd/xgbe/xgbe-debugfs.c
@@ -527,3 +527,28 @@ void xgbe_debugfs_exit(struct xgbe_prv_data *pdata)
527 debugfs_remove_recursive(pdata->xgbe_debugfs); 527 debugfs_remove_recursive(pdata->xgbe_debugfs);
528 pdata->xgbe_debugfs = NULL; 528 pdata->xgbe_debugfs = NULL;
529} 529}
530
531void xgbe_debugfs_rename(struct xgbe_prv_data *pdata)
532{
533 struct dentry *pfile;
534 char *buf;
535
536 if (!pdata->xgbe_debugfs)
537 return;
538
539 buf = kasprintf(GFP_KERNEL, "amd-xgbe-%s", pdata->netdev->name);
540 if (!buf)
541 return;
542
543 if (!strcmp(pdata->xgbe_debugfs->d_name.name, buf))
544 goto out;
545
546 pfile = debugfs_rename(pdata->xgbe_debugfs->d_parent,
547 pdata->xgbe_debugfs,
548 pdata->xgbe_debugfs->d_parent, buf);
549 if (!pfile)
550 netdev_err(pdata->netdev, "debugfs_rename failed\n");
551
552out:
553 kfree(buf);
554}