linux/drivers/scsi/hptiop.c

// SPDX-License-Identifier: GPL-2.0-only
/*
 * HighPoint RR3xxx/4xxx controller driver for Linux
 * Copyright (C) 2006-2015 HighPoint Technologies, Inc. All Rights Reserved.
 *
 * Please report bugs/comments/suggestions to [email protected]
 *
 * For more information, visit http://www.highpoint-tech.com
 */
#include <linux/module.h>
#include <linux/types.h>
#include <linux/string.h>
#include <linux/kernel.h>
#include <linux/pci.h>
#include <linux/interrupt.h>
#include <linux/errno.h>
#include <linux/delay.h>
#include <linux/timer.h>
#include <linux/spinlock.h>
#include <linux/gfp.h>
#include <linux/uaccess.h>
#include <asm/io.h>
#include <asm/div64.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi.h>
#include <scsi/scsi_tcq.h>
#include <scsi/scsi_host.h>

#include "hptiop.h"

MODULE_AUTHOR();
MODULE_DESCRIPTION();

static char driver_name[] =;
static const char driver_name_long[] =;
static const char driver_ver[] =;

static int iop_send_sync_msg(struct hptiop_hba *hba, u32 msg, u32 millisec);
static void hptiop_finish_scsi_req(struct hptiop_hba *hba, u32 tag,
				struct hpt_iop_request_scsi_command *req);
static void hptiop_host_request_callback_itl(struct hptiop_hba *hba, u32 tag);
static void hptiop_iop_request_callback_itl(struct hptiop_hba *hba, u32 tag);
static void hptiop_message_callback(struct hptiop_hba *hba, u32 msg);

static int iop_wait_ready_itl(struct hptiop_hba *hba, u32 millisec)
{}

static int iop_wait_ready_mv(struct hptiop_hba *hba, u32 millisec)
{}

static int iop_wait_ready_mvfrey(struct hptiop_hba *hba, u32 millisec)
{}

static void hptiop_request_callback_itl(struct hptiop_hba *hba, u32 tag)
{}

static void hptiop_drain_outbound_queue_itl(struct hptiop_hba *hba)
{}

static int iop_intr_itl(struct hptiop_hba *hba)
{}

static u64 mv_outbound_read(struct hpt_iopmu_mv __iomem *mu)
{}

static void mv_inbound_write(u64 p, struct hptiop_hba *hba)
{}

static void hptiop_request_callback_mv(struct hptiop_hba *hba, u64 tag)
{}

static int iop_intr_mv(struct hptiop_hba *hba)
{}

static void hptiop_request_callback_mvfrey(struct hptiop_hba *hba, u32 _tag)
{}

static int iop_intr_mvfrey(struct hptiop_hba *hba)
{}

static int iop_send_sync_request_itl(struct hptiop_hba *hba,
					void __iomem *_req, u32 millisec)
{}

static int iop_send_sync_request_mv(struct hptiop_hba *hba,
					u32 size_bits, u32 millisec)
{}

static int iop_send_sync_request_mvfrey(struct hptiop_hba *hba,
					u32 size_bits, u32 millisec)
{}

static void hptiop_post_msg_itl(struct hptiop_hba *hba, u32 msg)
{}

static void hptiop_post_msg_mv(struct hptiop_hba *hba, u32 msg)
{}

static void hptiop_post_msg_mvfrey(struct hptiop_hba *hba, u32 msg)
{}

static int iop_send_sync_msg(struct hptiop_hba *hba, u32 msg, u32 millisec)
{}

static int iop_get_config_itl(struct hptiop_hba *hba,
				struct hpt_iop_request_get_config *config)
{}

static int iop_get_config_mv(struct hptiop_hba *hba,
				struct hpt_iop_request_get_config *config)
{}

static int iop_get_config_mvfrey(struct hptiop_hba *hba,
				struct hpt_iop_request_get_config *config)
{}

static int iop_set_config_itl(struct hptiop_hba *hba,
				struct hpt_iop_request_set_config *config)
{}

static int iop_set_config_mv(struct hptiop_hba *hba,
				struct hpt_iop_request_set_config *config)
{}

static int iop_set_config_mvfrey(struct hptiop_hba *hba,
				struct hpt_iop_request_set_config *config)
{}

static void hptiop_enable_intr_itl(struct hptiop_hba *hba)
{}

static void hptiop_enable_intr_mv(struct hptiop_hba *hba)
{}

static void hptiop_enable_intr_mvfrey(struct hptiop_hba *hba)
{}

static int hptiop_initialize_iop(struct hptiop_hba *hba)
{}

static void __iomem *hptiop_map_pci_bar(struct hptiop_hba *hba, int index)
{}

static int hptiop_map_pci_bar_itl(struct hptiop_hba *hba)
{}

static void hptiop_unmap_pci_bar_itl(struct hptiop_hba *hba)
{}

static int hptiop_map_pci_bar_mv(struct hptiop_hba *hba)
{}

static int hptiop_map_pci_bar_mvfrey(struct hptiop_hba *hba)
{}

static void hptiop_unmap_pci_bar_mv(struct hptiop_hba *hba)
{}

static void hptiop_unmap_pci_bar_mvfrey(struct hptiop_hba *hba)
{}

static void hptiop_message_callback(struct hptiop_hba *hba, u32 msg)
{}

static struct hptiop_request *get_req(struct hptiop_hba *hba)
{}

static void free_req(struct hptiop_hba *hba, struct hptiop_request *req)
{}

static void hptiop_finish_scsi_req(struct hptiop_hba *hba, u32 tag,
				struct hpt_iop_request_scsi_command *req)
{}

static void hptiop_host_request_callback_itl(struct hptiop_hba *hba, u32 _tag)
{}

static void hptiop_iop_request_callback_itl(struct hptiop_hba *hba, u32 tag)
{}

static irqreturn_t hptiop_intr(int irq, void *dev_id)
{}

static int hptiop_buildsgl(struct scsi_cmnd *scp, struct hpt_iopsg *psg)
{}

static void hptiop_post_req_itl(struct hptiop_hba *hba,
					struct hptiop_request *_req)
{}

static void hptiop_post_req_mv(struct hptiop_hba *hba,
					struct hptiop_request *_req)
{}

static void hptiop_post_req_mvfrey(struct hptiop_hba *hba,
					struct hptiop_request *_req)
{}

static int hptiop_reset_comm_itl(struct hptiop_hba *hba)
{}

static int hptiop_reset_comm_mv(struct hptiop_hba *hba)
{}

static int hptiop_reset_comm_mvfrey(struct hptiop_hba *hba)
{}

static int hptiop_queuecommand_lck(struct scsi_cmnd *scp)
{}

static DEF_SCSI_QCMD(hptiop_queuecommand)

static const char *hptiop_info(struct Scsi_Host *host)
{}

static int hptiop_reset_hba(struct hptiop_hba *hba)
{}

static int hptiop_reset(struct scsi_cmnd *scp)
{}

static int hptiop_adjust_disk_queue_depth(struct scsi_device *sdev,
					  int queue_depth)
{}

static ssize_t hptiop_show_version(struct device *dev,
				   struct device_attribute *attr, char *buf)
{}

static ssize_t hptiop_show_fw_version(struct device *dev,
				      struct device_attribute *attr, char *buf)
{}

static struct device_attribute hptiop_attr_version =;

static struct device_attribute hptiop_attr_fw_version =;

static struct attribute *hptiop_host_attrs[] =;

ATTRIBUTE_GROUPS();

static int hptiop_device_configure(struct scsi_device *sdev,
		struct queue_limits *lim)
{}

static const struct scsi_host_template driver_template =;

static int hptiop_internal_memalloc_itl(struct hptiop_hba *hba)
{}

static int hptiop_internal_memalloc_mv(struct hptiop_hba *hba)
{}

static int hptiop_internal_memalloc_mvfrey(struct hptiop_hba *hba)
{}

static int hptiop_internal_memfree_itl(struct hptiop_hba *hba)
{}

static int hptiop_internal_memfree_mv(struct hptiop_hba *hba)
{}

static int hptiop_internal_memfree_mvfrey(struct hptiop_hba *hba)
{}

static int hptiop_probe(struct pci_dev *pcidev, const struct pci_device_id *id)
{}

static void hptiop_shutdown(struct pci_dev *pcidev)
{}

static void hptiop_disable_intr_itl(struct hptiop_hba *hba)
{}

static void hptiop_disable_intr_mv(struct hptiop_hba *hba)
{}

static void hptiop_disable_intr_mvfrey(struct hptiop_hba *hba)
{}

static void hptiop_remove(struct pci_dev *pcidev)
{}

static struct hptiop_adapter_ops hptiop_itl_ops =;

static struct hptiop_adapter_ops hptiop_mv_ops =;

static struct hptiop_adapter_ops hptiop_mvfrey_ops =;

static struct pci_device_id hptiop_id_table[] =;

MODULE_DEVICE_TABLE(pci, hptiop_id_table);

static struct pci_driver hptiop_pci_driver =;

static int __init hptiop_module_init(void)
{}

static void __exit hptiop_module_exit(void)
{}


module_init();
module_exit(hptiop_module_exit);

MODULE_LICENSE();