#ifndef __BFAD_IM_H__
#define __BFAD_IM_H__
#include "bfa_fcs.h"
#define FCPI_NAME …
#ifndef KOBJ_NAME_LEN
#define KOBJ_NAME_LEN …
#endif
bfa_status_t bfad_im_module_init(void);
void bfad_im_module_exit(void);
bfa_status_t bfad_im_probe(struct bfad_s *bfad);
void bfad_im_probe_undo(struct bfad_s *bfad);
bfa_status_t bfad_im_port_new(struct bfad_s *bfad, struct bfad_port_s *port);
void bfad_im_port_delete(struct bfad_s *bfad, struct bfad_port_s *port);
void bfad_im_port_clean(struct bfad_im_port_s *im_port);
int bfad_im_scsi_host_alloc(struct bfad_s *bfad,
struct bfad_im_port_s *im_port, struct device *dev);
void bfad_im_scsi_host_free(struct bfad_s *bfad,
struct bfad_im_port_s *im_port);
u32 bfad_im_supported_speeds(struct bfa_s *bfa);
#define MAX_FCP_TARGET …
#define MAX_FCP_LUN …
#define BFAD_TARGET_RESET_TMO …
#define BFAD_LUN_RESET_TMO …
#define BFA_QUEUE_FULL_RAMP_UP_TIME …
#define IO_DONE_BIT …
struct bfad_cmd_priv { … };
static inline struct bfad_cmd_priv *bfad_priv(struct scsi_cmnd *cmd)
{ … }
struct bfad_itnim_data_s { … };
struct bfad_im_port_s { … };
struct bfad_im_port_pointer { … };
static inline struct bfad_im_port_s *bfad_get_im_port(struct Scsi_Host *host)
{ … }
enum bfad_itnim_state { … };
struct bfad_itnim_s { … };
enum bfad_binding_type { … };
struct bfad_fcp_binding { … };
struct bfad_im_s { … };
#define bfad_get_aen_entry(_drv, _entry) …
static inline void bfad_im_post_vendor_event(struct bfa_aen_entry_s *entry,
struct bfad_s *drv, int cnt,
enum bfa_aen_category cat,
int evt)
{ … }
struct Scsi_Host *bfad_scsi_host_alloc(struct bfad_im_port_s *im_port,
struct bfad_s *);
bfa_status_t bfad_thread_workq(struct bfad_s *bfad);
void bfad_destroy_workq(struct bfad_im_s *im);
void bfad_fc_host_init(struct bfad_im_port_s *im_port);
void bfad_scsi_host_free(struct bfad_s *bfad,
struct bfad_im_port_s *im_port);
void bfad_ramp_up_qdepth(struct bfad_itnim_s *itnim,
struct scsi_device *sdev);
void bfad_handle_qfull(struct bfad_itnim_s *itnim, struct scsi_device *sdev);
struct bfad_itnim_s *bfad_get_itnim(struct bfad_im_port_s *im_port, int id);
extern struct scsi_host_template bfad_im_scsi_host_template;
extern struct scsi_host_template bfad_im_vport_template;
extern struct fc_function_template bfad_im_fc_function_template;
extern struct fc_function_template bfad_im_vport_fc_function_template;
extern struct scsi_transport_template *bfad_im_scsi_transport_template;
extern struct scsi_transport_template *bfad_im_scsi_vport_transport_template;
extern const struct attribute_group *bfad_im_host_groups[];
extern const struct attribute_group *bfad_im_vport_groups[];
irqreturn_t bfad_intx(int irq, void *dev_id);
int bfad_im_bsg_request(struct bsg_job *job);
int bfad_im_bsg_timeout(struct bsg_job *job);
#endif