linux/drivers/scsi/qla2xxx/qla_bsg.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * QLogic Fibre Channel HBA Driver
 * Copyright (c)  2003-2014 QLogic Corporation
 */
#include "qla_def.h"
#include "qla_gbl.h"

#include <linux/kthread.h>
#include <linux/vmalloc.h>
#include <linux/delay.h>
#include <linux/bsg-lib.h>

static void qla2xxx_free_fcport_work(struct work_struct *work)
{}

/* BSG support for ELS/CT pass through */
void qla2x00_bsg_job_done(srb_t *sp, int res)
{}

void qla2x00_bsg_sp_free(srb_t *sp)
{}

int
qla24xx_fcp_prio_cfg_valid(scsi_qla_host_t *vha,
	struct qla_fcp_prio_cfg *pri_cfg, uint8_t flag)
{}

static int
qla24xx_proc_fcp_prio_cfg_cmd(struct bsg_job *bsg_job)
{}

static int
qla2x00_process_els(struct bsg_job *bsg_job)
{}

static inline uint16_t
qla24xx_calc_ct_iocbs(uint16_t dsds)
{}

static int
qla2x00_process_ct(struct bsg_job *bsg_job)
{}

/* Disable loopback mode */
static inline int
qla81xx_reset_loopback_mode(scsi_qla_host_t *vha, uint16_t *config,
			    int wait, int wait2)
{}

/*
 * Set the port configuration to enable the internal or external loopback
 * depending on the loopback mode.
 */
static inline int
qla81xx_set_loopback_mode(scsi_qla_host_t *vha, uint16_t *config,
	uint16_t *new_config, uint16_t mode)
{}

static int
qla2x00_process_loopback(struct bsg_job *bsg_job)
{}

static int
qla84xx_reset(struct bsg_job *bsg_job)
{}

static int
qla84xx_updatefw(struct bsg_job *bsg_job)
{}

static int
qla84xx_mgmt_cmd(struct bsg_job *bsg_job)
{}

static int
qla24xx_iidma(struct bsg_job *bsg_job)
{}

static int
qla2x00_optrom_setup(struct bsg_job *bsg_job, scsi_qla_host_t *vha,
	uint8_t is_update)
{}

static int
qla2x00_read_optrom(struct bsg_job *bsg_job)
{}

static int
qla2x00_update_optrom(struct bsg_job *bsg_job)
{}

static int
qla2x00_update_fru_versions(struct bsg_job *bsg_job)
{}

static int
qla2x00_read_fru_status(struct bsg_job *bsg_job)
{}

static int
qla2x00_write_fru_status(struct bsg_job *bsg_job)
{}

static int
qla2x00_write_i2c(struct bsg_job *bsg_job)
{}

static int
qla2x00_read_i2c(struct bsg_job *bsg_job)
{}

static int
qla24xx_process_bidir_cmd(struct bsg_job *bsg_job)
{}

static int
qlafx00_mgmt_cmd(struct bsg_job *bsg_job)
{}

static int
qla26xx_serdes_op(struct bsg_job *bsg_job)
{}

static int
qla8044_serdes_op(struct bsg_job *bsg_job)
{}

static int
qla27xx_get_flash_upd_cap(struct bsg_job *bsg_job)
{}

static int
qla27xx_set_flash_upd_cap(struct bsg_job *bsg_job)
{}

static int
qla27xx_get_bbcr_data(struct bsg_job *bsg_job)
{}

static int
qla2x00_get_priv_stats(struct bsg_job *bsg_job)
{}

static int
qla2x00_do_dport_diagnostics(struct bsg_job *bsg_job)
{}

static int
qla2x00_do_dport_diagnostics_v2(struct bsg_job *bsg_job)
{}

static int
qla2x00_get_flash_image_status(struct bsg_job *bsg_job)
{}

static int
qla2x00_manage_host_stats(struct bsg_job *bsg_job)
{}

static int
qla2x00_get_host_stats(struct bsg_job *bsg_job)
{}

static struct fc_rport *
qla2xxx_find_rport(scsi_qla_host_t *vha, uint32_t tgt_num)
{}

static int
qla2x00_get_tgt_stats(struct bsg_job *bsg_job)
{}

static int
qla2x00_manage_host_port(struct bsg_job *bsg_job)
{}

static int
qla2x00_process_vendor_specific(struct scsi_qla_host *vha, struct bsg_job *bsg_job)
{}

int
qla24xx_bsg_request(struct bsg_job *bsg_job)
{}

static bool qla_bsg_found(struct qla_qpair *qpair, struct bsg_job *bsg_job)
{}

int
qla24xx_bsg_timeout(struct bsg_job *bsg_job)
{}

int qla2x00_mailbox_passthru(struct bsg_job *bsg_job)
{}