Commit 08606cb5 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files

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: default avatarAndrew Lunn <andrew@lunn.ch>
Reviewed-by: default avatarKalesh AP <kalesh-anakkur.purayil@broadcom.com>
Link: https://patch.msgid.link/20241115015344.757567-4-kuba@kernel.org


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 2a0d6c17
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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 \
+6 −0
Original line number Diff line number Diff line
@@ -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 −0
Original line number Diff line number Diff line
// 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;
}
+9 −1
Original line number Diff line number Diff line
@@ -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);