drivers/scsi/elx/libefc/efc.h

Source file repositories/reference/linux-study-clean/drivers/scsi/elx/libefc/efc.h

File Facts

System
Linux kernel
Corpus path
drivers/scsi/elx/libefc/efc.h
Extension
.h
Size
1345 bytes
Lines
53
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.

Dependency Surface

Detected Declarations

Annotated Snippet

#ifndef __EFC_H__
#define __EFC_H__

#include "../include/efc_common.h"
#include "efclib.h"
#include "efc_sm.h"
#include "efc_cmds.h"
#include "efc_domain.h"
#include "efc_nport.h"
#include "efc_node.h"
#include "efc_fabric.h"
#include "efc_device.h"
#include "efc_els.h"

#define EFC_MAX_REMOTE_NODES			2048
#define NODE_SPARAMS_SIZE			256

enum efc_scsi_del_initiator_reason {
	EFC_SCSI_INITIATOR_DELETED,
	EFC_SCSI_INITIATOR_MISSING,
};

enum efc_scsi_del_target_reason {
	EFC_SCSI_TARGET_DELETED,
	EFC_SCSI_TARGET_MISSING,
};

#define EFC_FC_ELS_DEFAULT_RETRIES		3

#define domain_sm_trace(domain) \
	efc_log_debug(domain->efc, "[domain:%s] %-20s %-20s\n", \
		      domain->display_name, __func__, efc_sm_event_name(evt)) \

#define domain_trace(domain, fmt, ...) \
	efc_log_debug(domain->efc, \
		      "[%s]" fmt, domain->display_name, ##__VA_ARGS__) \

#define node_sm_trace() \
	efc_log_debug(node->efc, "[%s] %-20s %-20s\n", \
		      node->display_name, __func__, efc_sm_event_name(evt)) \

#define nport_sm_trace(nport) \
	efc_log_debug(nport->efc, \
		"[%s]  %-20s %-20s\n", nport->display_name, __func__, efc_sm_event_name(evt)) \

#endif /* __EFC_H__ */

Annotation

Implementation Notes