drivers/scsi/bfa/bfad_bsg.h
Source file repositories/reference/linux-study-clean/drivers/scsi/bfa/bfad_bsg.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/scsi/bfa/bfad_bsg.h- Extension
.h- Size
- 14832 bytes
- Lines
- 830
- Domain
- Driver Families
- Bucket
- drivers/scsi
- 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_defs.hbfa_defs_fcs.h
Detected Declarations
struct bfa_bsg_gen_sstruct bfa_bsg_portlogctl_sstruct bfa_bsg_fcpim_profile_sstruct bfa_bsg_itnim_ioprofile_sstruct bfa_bsg_fcport_stats_sstruct bfa_bsg_ioc_name_sstruct bfa_bsg_ioc_info_sstruct bfa_bsg_ioc_attr_sstruct bfa_bsg_ioc_stats_sstruct bfa_bsg_ioc_fwstats_sstruct bfa_bsg_iocfc_attr_sstruct bfa_bsg_iocfc_intr_sstruct bfa_bsg_port_attr_sstruct bfa_bsg_port_cfg_sstruct bfa_bsg_port_cfg_maxfrsize_sstruct bfa_bsg_port_stats_sstruct bfa_bsg_lport_attr_sstruct bfa_bsg_lport_stats_sstruct bfa_bsg_lport_iostats_sstruct bfa_bsg_lport_get_rports_sstruct bfa_bsg_rport_attr_sstruct bfa_bsg_rport_stats_sstruct bfa_bsg_rport_scsi_addr_sstruct bfa_bsg_rport_reset_stats_sstruct bfa_bsg_rport_set_speed_sstruct bfa_bsg_vport_attr_sstruct bfa_bsg_vport_stats_sstruct bfa_bsg_reset_stats_sstruct bfa_bsg_fabric_get_lports_sstruct bfa_bsg_trl_speed_sstruct bfa_bsg_fcpim_sstruct bfa_bsg_fcpim_modstats_sstruct bfa_bsg_fcpim_del_itn_stats_sstruct bfa_bsg_fcpim_modstatsclr_sstruct bfa_bsg_itnim_attr_sstruct bfa_bsg_itnim_iostats_sstruct bfa_bsg_itnim_itnstats_sstruct bfa_bsg_pcifn_cfg_sstruct bfa_bsg_pcifn_sstruct bfa_bsg_adapter_cfg_mode_sstruct bfa_bsg_port_cfg_mode_sstruct bfa_bsg_bbcr_enable_sstruct bfa_bsg_bbcr_attr_sstruct bfa_bsg_faa_attr_sstruct bfa_bsg_cee_attr_sstruct bfa_bsg_cee_stats_sstruct bfa_bsg_sfp_media_sstruct bfa_bsg_sfp_speed_s
Annotated Snippet
struct bfa_bsg_gen_s {
bfa_status_t status;
u16 bfad_num;
u16 rsvd;
};
struct bfa_bsg_portlogctl_s {
bfa_status_t status;
u16 bfad_num;
u16 rsvd;
bfa_boolean_t ctl;
int inst_no;
};
struct bfa_bsg_fcpim_profile_s {
bfa_status_t status;
u16 bfad_num;
u16 rsvd;
};
struct bfa_bsg_itnim_ioprofile_s {
bfa_status_t status;
u16 bfad_num;
u16 vf_id;
wwn_t lpwwn;
wwn_t rpwwn;
struct bfa_itnim_ioprofile_s ioprofile;
};
struct bfa_bsg_fcport_stats_s {
bfa_status_t status;
u16 bfad_num;
u16 rsvd;
union bfa_fcport_stats_u stats;
};
struct bfa_bsg_ioc_name_s {
bfa_status_t status;
u16 bfad_num;
u16 rsvd;
char name[BFA_ADAPTER_SYM_NAME_LEN];
};
struct bfa_bsg_ioc_info_s {
bfa_status_t status;
u16 bfad_num;
u16 rsvd;
char serialnum[64];
char hwpath[BFA_STRING_32];
char adapter_hwpath[BFA_STRING_32];
char guid[BFA_ADAPTER_SYM_NAME_LEN*2];
char name[BFA_ADAPTER_SYM_NAME_LEN];
char port_name[BFA_ADAPTER_SYM_NAME_LEN];
char eth_name[BFA_ADAPTER_SYM_NAME_LEN];
wwn_t pwwn;
wwn_t nwwn;
wwn_t factorypwwn;
wwn_t factorynwwn;
mac_t mac;
mac_t factory_mac; /* Factory mac address */
mac_t current_mac; /* Currently assigned mac address */
enum bfa_ioc_type_e ioc_type;
u16 pvid; /* Port vlan id */
u16 rsvd1;
u32 host;
u32 bandwidth; /* For PF support */
u32 rsvd2;
};
struct bfa_bsg_ioc_attr_s {
bfa_status_t status;
u16 bfad_num;
u16 rsvd;
struct bfa_ioc_attr_s ioc_attr;
};
struct bfa_bsg_ioc_stats_s {
bfa_status_t status;
u16 bfad_num;
u16 rsvd;
struct bfa_ioc_stats_s ioc_stats;
};
struct bfa_bsg_ioc_fwstats_s {
bfa_status_t status;
u16 bfad_num;
u16 rsvd;
u32 buf_size;
u32 rsvd1;
u64 buf_ptr;
Annotation
- Immediate include surface: `bfa_defs.h`, `bfa_defs_fcs.h`.
- Detected declarations: `struct bfa_bsg_gen_s`, `struct bfa_bsg_portlogctl_s`, `struct bfa_bsg_fcpim_profile_s`, `struct bfa_bsg_itnim_ioprofile_s`, `struct bfa_bsg_fcport_stats_s`, `struct bfa_bsg_ioc_name_s`, `struct bfa_bsg_ioc_info_s`, `struct bfa_bsg_ioc_attr_s`, `struct bfa_bsg_ioc_stats_s`, `struct bfa_bsg_ioc_fwstats_s`.
- Atlas domain: Driver Families / drivers/scsi.
- 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.