linux/drivers/scsi/atp870u.c

// SPDX-License-Identifier: GPL-2.0-only
/* 
 *  Copyright (C) 1997	Wu Ching Chen
 *  2.1.x update (C) 1998  Krzysztof G. Baranowski
 *  2.5.x update (C) 2002  Red Hat
 *  2.6.x update (C) 2004  Red Hat
 *
 * Marcelo Tosatti <[email protected]> : SMP fixes
 *
 * Wu Ching Chen : NULL pointer fixes  2000/06/02
 *		   support atp876 chip
 *		   enable 32 bit fifo transfer
 *		   support cdrom & remove device run ultra speed
 *		   fix disconnect bug  2000/12/21
 *		   support atp880 chip lvd u160 2001/05/15
 *		   fix prd table bug 2001/09/12 (7.1)
 *
 * atp885 support add by ACARD Hao Ping Lian 2005/01/05
 */
#include <linux/module.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/types.h>
#include <linux/string.h>
#include <linux/ioport.h>
#include <linux/delay.h>
#include <linux/proc_fs.h>
#include <linux/spinlock.h>
#include <linux/pci.h>
#include <linux/blkdev.h>
#include <linux/dma-mapping.h>
#include <linux/slab.h>
#include <asm/io.h>

#include <scsi/scsi.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>

#include "atp870u.h"

static const struct scsi_host_template atp870u_template;
static void send_s870(struct atp_unit *dev,unsigned char c);
static void atp_is(struct atp_unit *dev, unsigned char c, bool wide_chip,
		   unsigned char lvdmode);

static inline void atp_writeb_base(struct atp_unit *atp, u8 reg, u8 val)
{}

static inline void atp_writew_base(struct atp_unit *atp, u8 reg, u16 val)
{}

static inline void atp_writeb_io(struct atp_unit *atp, u8 channel, u8 reg, u8 val)
{}

static inline void atp_writew_io(struct atp_unit *atp, u8 channel, u8 reg, u16 val)
{}

static inline void atp_writeb_pci(struct atp_unit *atp, u8 channel, u8 reg, u8 val)
{}

static inline void atp_writel_pci(struct atp_unit *atp, u8 channel, u8 reg, u32 val)
{}

static inline u8 atp_readb_base(struct atp_unit *atp, u8 reg)
{}

static inline u16 atp_readw_base(struct atp_unit *atp, u8 reg)
{}

static inline u32 atp_readl_base(struct atp_unit *atp, u8 reg)
{}

static inline u8 atp_readb_io(struct atp_unit *atp, u8 channel, u8 reg)
{}

static inline u16 atp_readw_io(struct atp_unit *atp, u8 channel, u8 reg)
{}

static inline u8 atp_readb_pci(struct atp_unit *atp, u8 channel, u8 reg)
{}

static inline bool is880(struct atp_unit *atp)
{}

static inline bool is885(struct atp_unit *atp)
{}

static irqreturn_t atp870u_intr_handle(int irq, void *dev_id)
{}
/**
 *	atp870u_queuecommand_lck -	Queue SCSI command
 *	@req_p: request block
 *
 *	Queue a command to the ATP queue. Called with the host lock held.
 */
static int atp870u_queuecommand_lck(struct scsi_cmnd *req_p)
{}

static DEF_SCSI_QCMD(atp870u_queuecommand)

/*
 *	send_s870	-	send a command to the controller
 *
 *	On entry there is work queued to be done. We move some of that work to the
 *	controller itself.
 *
 *	Caller holds the host lock.
 */
static void send_s870(struct atp_unit *dev, unsigned char c)
{}

static unsigned char fun_scam(struct atp_unit *dev, unsigned short int *val)
{}

static void tscam(struct Scsi_Host *host, bool wide_chip, u8 scam_on)
{}

static void atp870u_free_tables(struct Scsi_Host *host)
{}

static int atp870u_init_tables(struct Scsi_Host *host)
{}

static void atp_set_host_id(struct atp_unit *atp, u8 c, u8 host_id)
{}

static void atp870_init(struct Scsi_Host *shpnt)
{}

static void atp880_init(struct Scsi_Host *shpnt)
{}

static void atp885_init(struct Scsi_Host *shpnt)
{}

/* return non-zero on detection */
static int atp870u_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
{}

/* The abort command does not leave the device in a clean state where
   it is available to be used again.  Until this gets worked out, we will
   leave it commented out.  */

static int atp870u_abort(struct scsi_cmnd * SCpnt)
{}

static const char *atp870u_info(struct Scsi_Host *notused)
{}

static int atp870u_show_info(struct seq_file *m, struct Scsi_Host *HBAptr)
{}


static int atp870u_biosparam(struct scsi_device *disk, struct block_device *dev,
			sector_t capacity, int *ip)
{}

static void atp870u_remove (struct pci_dev *pdev)
{}

MODULE_DESCRIPTION();
MODULE_LICENSE();

static const struct scsi_host_template atp870u_template =;

static struct pci_device_id atp870u_id_table[] =;

MODULE_DEVICE_TABLE(pci, atp870u_id_table);

static struct pci_driver atp870u_driver =;

module_pci_driver();

static void atp_is(struct atp_unit *dev, unsigned char c, bool wide_chip,
		   unsigned char lvdmode)
{}