#include "efc.h"
int
efc_remote_node_cb(void *arg, int event, void *data)
{ … }
struct efc_node *
efc_node_find(struct efc_nport *nport, u32 port_id)
{ … }
static void
_efc_node_free(struct kref *arg)
{ … }
struct efc_node *efc_node_alloc(struct efc_nport *nport,
u32 port_id, bool init, bool targ)
{ … }
void
efc_node_free(struct efc_node *node)
{ … }
static void
efc_dma_copy_in(struct efc_dma *dma, void *buffer, u32 buffer_length)
{ … }
int
efc_node_attach(struct efc_node *node)
{ … }
void
efc_node_fcid_display(u32 fc_id, char *buffer, u32 buffer_length)
{ … }
void
efc_node_update_display_name(struct efc_node *node)
{ … }
void
efc_node_send_ls_io_cleanup(struct efc_node *node)
{ … }
static void efc_node_handle_implicit_logo(struct efc_node *node)
{ … }
static void efc_node_handle_explicit_logo(struct efc_node *node)
{ … }
static void
efc_node_purge_pending(struct efc_node *node)
{ … }
void
__efc_node_shutdown(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
static bool
efc_node_check_els_quiesced(struct efc_node *node)
{ … }
void
efc_node_initiate_cleanup(struct efc_node *node)
{ … }
void
__efc_node_wait_els_shutdown(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_node_wait_node_free(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_node_wait_ios_shutdown(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
__efc_node_common(const char *funcname, struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
efc_node_save_sparms(struct efc_node *node, void *payload)
{ … }
void
efc_node_post_event(struct efc_node *node,
enum efc_sm_event evt, void *arg)
{ … }
void
efc_node_transition(struct efc_node *node,
void (*state)(struct efc_sm_ctx *,
enum efc_sm_event, void *), void *data)
{ … }
void
efc_node_build_eui_name(char *buf, u32 buf_len, uint64_t eui_name)
{ … }
u64
efc_node_get_wwpn(struct efc_node *node)
{ … }
u64
efc_node_get_wwnn(struct efc_node *node)
{ … }
int
efc_node_check_els_req(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg,
u8 cmd, void (*efc_node_common_func)(const char *,
struct efc_sm_ctx *, enum efc_sm_event, void *),
const char *funcname)
{ … }
int
efc_node_check_ns_req(struct efc_sm_ctx *ctx, enum efc_sm_event evt, void *arg,
u16 cmd, void (*efc_node_common_func)(const char *,
struct efc_sm_ctx *, enum efc_sm_event, void *),
const char *funcname)
{ … }
int
efc_els_io_list_empty(struct efc_node *node, struct list_head *list)
{ … }
void
efc_node_pause(struct efc_node *node,
void (*state)(struct efc_sm_ctx *,
enum efc_sm_event, void *))
{ … }
void
__efc_node_paused(struct efc_sm_ctx *ctx,
enum efc_sm_event evt, void *arg)
{ … }
void
efc_node_recv_els_frame(struct efc_node *node,
struct efc_hw_sequence *seq)
{ … }
void
efc_node_recv_ct_frame(struct efc_node *node,
struct efc_hw_sequence *seq)
{ … }
void
efc_node_recv_fcp_cmd(struct efc_node *node, struct efc_hw_sequence *seq)
{ … }
void
efc_process_node_pending(struct efc_node *node)
{ … }
void
efc_scsi_sess_reg_complete(struct efc_node *node, u32 status)
{ … }
void
efc_scsi_del_initiator_complete(struct efc *efc, struct efc_node *node)
{ … }
void
efc_scsi_del_target_complete(struct efc *efc, struct efc_node *node)
{ … }
void
efc_scsi_io_list_empty(struct efc *efc, struct efc_node *node)
{ … }
void efc_node_post_els_resp(struct efc_node *node, u32 evt, void *arg)
{ … }
void efc_node_post_shutdown(struct efc_node *node, void *arg)
{ … }