drivers/scsi/elx/libefc/efc_sm.h
Source file repositories/reference/linux-study-clean/drivers/scsi/elx/libefc/efc_sm.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/scsi/elx/libefc/efc_sm.h- Extension
.h- Size
- 6694 bytes
- Lines
- 198
- 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
- No C-style include directives detected by the generator.
Detected Declarations
struct efc_sm_ctxenum efc_sm_event
Annotated Snippet
#ifndef _EFC_SM_H
#define _EFC_SM_H
struct efc_sm_ctx;
/* State Machine events */
enum efc_sm_event {
/* Common Events */
EFC_EVT_ENTER,
EFC_EVT_REENTER,
EFC_EVT_EXIT,
EFC_EVT_SHUTDOWN,
EFC_EVT_ALL_CHILD_NODES_FREE,
EFC_EVT_RESUME,
EFC_EVT_TIMER_EXPIRED,
/* Domain Events */
EFC_EVT_RESPONSE,
EFC_EVT_ERROR,
EFC_EVT_DOMAIN_FOUND,
EFC_EVT_DOMAIN_ALLOC_OK,
EFC_EVT_DOMAIN_ALLOC_FAIL,
EFC_EVT_DOMAIN_REQ_ATTACH,
EFC_EVT_DOMAIN_ATTACH_OK,
EFC_EVT_DOMAIN_ATTACH_FAIL,
EFC_EVT_DOMAIN_LOST,
EFC_EVT_DOMAIN_FREE_OK,
EFC_EVT_DOMAIN_FREE_FAIL,
EFC_EVT_HW_DOMAIN_REQ_ATTACH,
EFC_EVT_HW_DOMAIN_REQ_FREE,
/* Sport Events */
EFC_EVT_NPORT_ALLOC_OK,
EFC_EVT_NPORT_ALLOC_FAIL,
EFC_EVT_NPORT_ATTACH_OK,
EFC_EVT_NPORT_ATTACH_FAIL,
EFC_EVT_NPORT_FREE_OK,
EFC_EVT_NPORT_FREE_FAIL,
EFC_EVT_NPORT_TOPOLOGY_NOTIFY,
EFC_EVT_HW_PORT_ALLOC_OK,
EFC_EVT_HW_PORT_ALLOC_FAIL,
EFC_EVT_HW_PORT_ATTACH_OK,
EFC_EVT_HW_PORT_REQ_ATTACH,
EFC_EVT_HW_PORT_REQ_FREE,
EFC_EVT_HW_PORT_FREE_OK,
/* Login Events */
EFC_EVT_SRRS_ELS_REQ_OK,
EFC_EVT_SRRS_ELS_CMPL_OK,
EFC_EVT_SRRS_ELS_REQ_FAIL,
EFC_EVT_SRRS_ELS_CMPL_FAIL,
EFC_EVT_SRRS_ELS_REQ_RJT,
EFC_EVT_NODE_ATTACH_OK,
EFC_EVT_NODE_ATTACH_FAIL,
EFC_EVT_NODE_FREE_OK,
EFC_EVT_NODE_FREE_FAIL,
EFC_EVT_ELS_FRAME,
EFC_EVT_ELS_REQ_TIMEOUT,
EFC_EVT_ELS_REQ_ABORTED,
/* request an ELS IO be aborted */
EFC_EVT_ABORT_ELS,
/* ELS abort process complete */
EFC_EVT_ELS_ABORT_CMPL,
EFC_EVT_ABTS_RCVD,
/* node is not in the GID_PT payload */
EFC_EVT_NODE_MISSING,
/* node is allocated and in the GID_PT payload */
EFC_EVT_NODE_REFOUND,
/* node shutting down due to PLOGI recvd (implicit logo) */
EFC_EVT_SHUTDOWN_IMPLICIT_LOGO,
/* node shutting down due to LOGO recvd/sent (explicit logo) */
EFC_EVT_SHUTDOWN_EXPLICIT_LOGO,
EFC_EVT_PLOGI_RCVD,
EFC_EVT_FLOGI_RCVD,
EFC_EVT_LOGO_RCVD,
EFC_EVT_PRLI_RCVD,
EFC_EVT_PRLO_RCVD,
EFC_EVT_PDISC_RCVD,
EFC_EVT_FDISC_RCVD,
EFC_EVT_ADISC_RCVD,
EFC_EVT_RSCN_RCVD,
EFC_EVT_SCR_RCVD,
EFC_EVT_ELS_RCVD,
EFC_EVT_FCP_CMD_RCVD,
Annotation
- Detected declarations: `struct efc_sm_ctx`, `enum efc_sm_event`.
- 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.