mirror of
https://github.com/torvalds/linux.git
synced 2026-05-23 06:31:58 +02: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:
parent
2a0d6c1705
commit
08606cb528
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user