drivers/net/ethernet/brocade/bna/bfa_cee.c
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/brocade/bna/bfa_cee.c
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/brocade/bna/bfa_cee.c- Extension
.c- Size
- 7238 bytes
- Lines
- 282
- Domain
- Driver Families
- Bucket
- drivers/net
- 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.
- 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.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
bfa_cee.hbfi_cna.hbfa_ioc.h
Detected Declarations
function bfa_cee_format_cee_cfgfunction bfa_cee_stats_swapfunction bfa_cee_format_lldp_cfgfunction bfa_cee_attr_meminfofunction bfa_cee_stats_meminfofunction bfa_cee_get_attr_isrfunction bfa_cee_get_stats_isrfunction bfa_cee_reset_stats_isrfunction bfa_nw_cee_meminfofunction bfa_nw_cee_mem_claimfunction bfa_nw_cee_get_attrfunction bfa_cee_isrfunction bfa_cee_notifyfunction bfa_nw_cee_attach
Annotated Snippet
if (cee->get_attr_pending) {
cee->get_attr_status = BFA_STATUS_FAILED;
cee->get_attr_pending = false;
if (cee->cbfn.get_attr_cbfn) {
cee->cbfn.get_attr_cbfn(
cee->cbfn.get_attr_cbarg,
BFA_STATUS_FAILED);
}
}
if (cee->get_stats_pending) {
cee->get_stats_status = BFA_STATUS_FAILED;
cee->get_stats_pending = false;
if (cee->cbfn.get_stats_cbfn) {
cee->cbfn.get_stats_cbfn(
cee->cbfn.get_stats_cbarg,
BFA_STATUS_FAILED);
}
}
if (cee->reset_stats_pending) {
cee->reset_stats_status = BFA_STATUS_FAILED;
cee->reset_stats_pending = false;
if (cee->cbfn.reset_stats_cbfn) {
cee->cbfn.reset_stats_cbfn(
cee->cbfn.reset_stats_cbarg,
BFA_STATUS_FAILED);
}
}
break;
default:
break;
}
}
/**
* bfa_nw_cee_attach - CEE module-attach API
*
* @cee: Pointer to the CEE module data structure
* @ioc: Pointer to the ioc module data structure
* @dev: Pointer to the device driver module data structure.
* The device driver specific mbox ISR functions have
* this pointer as one of the parameters.
*/
void
bfa_nw_cee_attach(struct bfa_cee *cee, struct bfa_ioc *ioc,
void *dev)
{
BUG_ON(!(cee != NULL));
cee->dev = dev;
cee->ioc = ioc;
bfa_nw_ioc_mbox_regisr(cee->ioc, BFI_MC_CEE, bfa_cee_isr, cee);
bfa_ioc_notify_init(&cee->ioc_notify, bfa_cee_notify, cee);
bfa_nw_ioc_notify_register(cee->ioc, &cee->ioc_notify);
}
Annotation
- Immediate include surface: `bfa_cee.h`, `bfi_cna.h`, `bfa_ioc.h`.
- Detected declarations: `function bfa_cee_format_cee_cfg`, `function bfa_cee_stats_swap`, `function bfa_cee_format_lldp_cfg`, `function bfa_cee_attr_meminfo`, `function bfa_cee_stats_meminfo`, `function bfa_cee_get_attr_isr`, `function bfa_cee_get_stats_isr`, `function bfa_cee_reset_stats_isr`, `function bfa_nw_cee_meminfo`, `function bfa_nw_cee_mem_claim`.
- Atlas domain: Driver Families / drivers/net.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.