drivers/infiniband/hw/bng_re/bng_debugfs.c

Source file repositories/reference/linux-study-clean/drivers/infiniband/hw/bng_re/bng_debugfs.c

File Facts

System
Linux kernel
Corpus path
drivers/infiniband/hw/bng_re/bng_debugfs.c
Extension
.c
Size
811 bytes
Lines
40
Domain
Driver Families
Bucket
drivers/infiniband
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

// SPDX-License-Identifier: GPL-2.0
// Copyright (c) 2025 Broadcom.
#include <linux/debugfs.h>
#include <linux/pci.h>

#include <rdma/ib_verbs.h>

#include "bng_res.h"
#include "bng_fw.h"
#include "bnge.h"
#include "bnge_auxr.h"
#include "bng_re.h"
#include "bng_debugfs.h"

static struct dentry *bng_re_debugfs_root;

void bng_re_debugfs_add_pdev(struct bng_re_dev *rdev)
{
	struct pci_dev *pdev = rdev->aux_dev->pdev;

	rdev->dbg_root =
		debugfs_create_dir(dev_name(&pdev->dev), bng_re_debugfs_root);
}

void bng_re_debugfs_rem_pdev(struct bng_re_dev *rdev)
{
	debugfs_remove_recursive(rdev->dbg_root);
	rdev->dbg_root = NULL;
}

void bng_re_register_debugfs(void)
{
	bng_re_debugfs_root = debugfs_create_dir("bng_re", NULL);
}

void bng_re_unregister_debugfs(void)
{
	debugfs_remove(bng_re_debugfs_root);
}

Annotation

Implementation Notes