mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-10 22:59:03 -04:00
eth: fbnic: add basic debugfs structure
Add the usual debugfs structure:
fbnic/
$pci-id/
device-fileA
device-fileB
This patch only adds the directories, subsequent changes
will add files.
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Link: https://patch.msgid.link/20241115015344.757567-4-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
obj-$(CONFIG_FBNIC) += fbnic.o
|
||||
|
||||
fbnic-y := fbnic_csr.o \
|
||||
fbnic_debugfs.o \
|
||||
fbnic_devlink.o \
|
||||
fbnic_ethtool.o \
|
||||
fbnic_fw.o \
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
struct fbnic_dev {
|
||||
struct device *dev;
|
||||
struct net_device *netdev;
|
||||
struct dentry *dbg_fbd;
|
||||
struct device *hwmon;
|
||||
|
||||
u32 __iomem *uc_addr0;
|
||||
@@ -156,6 +157,11 @@ int fbnic_alloc_irqs(struct fbnic_dev *fbd);
|
||||
void fbnic_get_fw_ver_commit_str(struct fbnic_dev *fbd, char *fw_version,
|
||||
const size_t str_sz);
|
||||
|
||||
void fbnic_dbg_fbd_init(struct fbnic_dev *fbd);
|
||||
void fbnic_dbg_fbd_exit(struct fbnic_dev *fbd);
|
||||
void fbnic_dbg_init(void);
|
||||
void fbnic_dbg_exit(void);
|
||||
|
||||
void fbnic_csr_get_regs(struct fbnic_dev *fbd, u32 *data, u32 *regs_version);
|
||||
int fbnic_csr_regs_len(struct fbnic_dev *fbd);
|
||||
|
||||
|
||||
34
drivers/net/ethernet/meta/fbnic/fbnic_debugfs.c
Normal file
34
drivers/net/ethernet/meta/fbnic/fbnic_debugfs.c
Normal file
@@ -0,0 +1,34 @@
|
||||
// SPDX-License-Identifier: GPL-2.0
|
||||
/* Copyright (c) Meta Platforms, Inc. and affiliates. */
|
||||
|
||||
#include <linux/debugfs.h>
|
||||
#include <linux/pci.h>
|
||||
|
||||
#include "fbnic.h"
|
||||
|
||||
static struct dentry *fbnic_dbg_root;
|
||||
|
||||
void fbnic_dbg_fbd_init(struct fbnic_dev *fbd)
|
||||
{
|
||||
struct pci_dev *pdev = to_pci_dev(fbd->dev);
|
||||
const char *name = pci_name(pdev);
|
||||
|
||||
fbd->dbg_fbd = debugfs_create_dir(name, fbnic_dbg_root);
|
||||
}
|
||||
|
||||
void fbnic_dbg_fbd_exit(struct fbnic_dev *fbd)
|
||||
{
|
||||
debugfs_remove_recursive(fbd->dbg_fbd);
|
||||
fbd->dbg_fbd = NULL;
|
||||
}
|
||||
|
||||
void fbnic_dbg_init(void)
|
||||
{
|
||||
fbnic_dbg_root = debugfs_create_dir(fbnic_driver_name, NULL);
|
||||
}
|
||||
|
||||
void fbnic_dbg_exit(void)
|
||||
{
|
||||
debugfs_remove_recursive(fbnic_dbg_root);
|
||||
fbnic_dbg_root = NULL;
|
||||
}
|
||||
@@ -288,6 +288,7 @@ static int fbnic_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
}
|
||||
|
||||
fbnic_devlink_register(fbd);
|
||||
fbnic_dbg_fbd_init(fbd);
|
||||
|
||||
fbnic_hwmon_register(fbd);
|
||||
|
||||
@@ -355,6 +356,7 @@ static void fbnic_remove(struct pci_dev *pdev)
|
||||
}
|
||||
|
||||
fbnic_hwmon_unregister(fbd);
|
||||
fbnic_dbg_fbd_exit(fbd);
|
||||
fbnic_devlink_unregister(fbd);
|
||||
fbnic_fw_disable_mbx(fbd);
|
||||
fbnic_free_irqs(fbd);
|
||||
@@ -552,9 +554,13 @@ static int __init fbnic_init_module(void)
|
||||
{
|
||||
int err;
|
||||
|
||||
fbnic_dbg_init();
|
||||
|
||||
err = pci_register_driver(&fbnic_driver);
|
||||
if (err)
|
||||
if (err) {
|
||||
fbnic_dbg_exit();
|
||||
goto out;
|
||||
}
|
||||
|
||||
pr_info(DRV_SUMMARY " (%s)", fbnic_driver.name);
|
||||
out:
|
||||
@@ -570,5 +576,7 @@ module_init(fbnic_init_module);
|
||||
static void __exit fbnic_exit_module(void)
|
||||
{
|
||||
pci_unregister_driver(&fbnic_driver);
|
||||
|
||||
fbnic_dbg_exit();
|
||||
}
|
||||
module_exit(fbnic_exit_module);
|
||||
|
||||
Reference in New Issue
Block a user