Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
fdomain.c File Reference
#include <linux/module.h>
#include <linux/init.h>
#include <linux/interrupt.h>
#include <linux/blkdev.h>
#include <linux/spinlock.h>
#include <linux/errno.h>
#include <linux/string.h>
#include <linux/ioport.h>
#include <linux/proc_fs.h>
#include <linux/pci.h>
#include <linux/stat.h>
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/slab.h>
#include <scsi/scsicam.h>
#include <scsi/scsi.h>
#include <scsi/scsi_cmnd.h>
#include <scsi/scsi_device.h>
#include <scsi/scsi_host.h>
#include <scsi/scsi_ioctl.h>
#include "fdomain.h"
#include "scsi_module.c"

Go to the source code of this file.

Data Structures

struct  signature
 

Macros

#define VERSION   "$Revision: 5.51 $"
 
#define DEBUG   0 /* Enable debugging output */
 
#define ENABLE_PARITY   1 /* Enable SCSI Parity */
 
#define FIFO_COUNT   2 /* Number of 512 byte blocks before INTR */
 
#define EVERY_ACCESS   0 /* LEAVE THESE ALONE--CHANGE THE ONES ABOVE */
 
#define ERRORS_ONLY   0
 
#define DEBUG_DETECT   0
 
#define DEBUG_MESSAGES   0
 
#define DEBUG_ABORT   0
 
#define DEBUG_RESET   0
 
#define DEBUG_RACE   0
 
#define PARITY_MASK   0x08
 
#define ADDRESS_COUNT   ARRAY_SIZE(addresses)
 
#define PORT_COUNT   ARRAY_SIZE(ports)
 
#define SIGNATURE_COUNT   ARRAY_SIZE(signatures)
 
#define driver_template   fdomain_driver_template
 

Enumerations

enum  chip_type {
  chip_504x, chip_508x, chip_5080, chip_604x,
  chip_608x, chip_6042, chip_7042, chip_soc,
  RTL8002, RTL8012, CHIP_TYPE_VT6110 = 1, unknown = 0x00,
  tmc1800 = 0x01, tmc18c50 = 0x02, tmc18c30 = 0x03
}
 
enum  {
  in_arbitration = 0x02, in_selection = 0x04, in_other = 0x08, disconnect = 0x10,
  aborted = 0x20, sent_ident = 0x40
}
 
enum  in_port_type {
  Read_SCSI_Data = 0, SCSI_Status = 1, TMC_Status = 2, FIFO_Status = 3,
  Interrupt_Cond = 4, LSB_ID_Code = 5, MSB_ID_Code = 6, Read_Loopback = 7,
  SCSI_Data_NoACK = 8, Interrupt_Status = 9, Configuration1 = 10, Configuration2 = 11,
  Read_FIFO = 12, FIFO_Data_Count = 14
}
 
enum  out_port_type {
  Write_SCSI_Data = 0, SCSI_Cntl = 1, Interrupt_Cntl = 2, SCSI_Mode_Cntl = 3,
  TMC_Cntl = 4, Memory_Cntl = 5, Write_Loopback = 7, IO_Control = 11,
  Write_FIFO = 12
}
 

Functions

 MODULE_AUTHOR ("Rickard E. Faith")
 
 MODULE_DESCRIPTION ("Future domain SCSI driver")
 
 MODULE_LICENSE ("GPL")
 
 module_param (fdomain, charp, 0)
 
int fdomain_setup (char *str)
 
 __setup ("fdomain=", fdomain_setup)
 
struct Scsi_Host__fdomain_16x0_detect (struct scsi_host_template *tpnt)
 
int fdomain_16x0_bus_reset (struct scsi_cmnd *SCpnt)
 

Variables

struct scsi_host_template fdomain_driver_template
 

Macro Definition Documentation

#define ADDRESS_COUNT   ARRAY_SIZE(addresses)

Definition at line 428 of file fdomain.c.

#define DEBUG   0 /* Enable debugging output */

Definition at line 304 of file fdomain.c.

#define DEBUG_ABORT   0

Definition at line 323 of file fdomain.c.

#define DEBUG_DETECT   0

Definition at line 321 of file fdomain.c.

#define DEBUG_MESSAGES   0

Definition at line 322 of file fdomain.c.

#define DEBUG_RACE   0

Definition at line 325 of file fdomain.c.

#define DEBUG_RESET   0

Definition at line 324 of file fdomain.c.

static struct scsi_host_template driver_template   fdomain_driver_template

Definition at line 1781 of file fdomain.c.

#define ENABLE_PARITY   1 /* Enable SCSI Parity */

Definition at line 305 of file fdomain.c.

#define ERRORS_ONLY   0

Definition at line 320 of file fdomain.c.

#define EVERY_ACCESS   0 /* LEAVE THESE ALONE--CHANGE THE ONES ABOVE */

Definition at line 319 of file fdomain.c.

#define FIFO_COUNT   2 /* Number of 512 byte blocks before INTR */

Definition at line 306 of file fdomain.c.

#define PARITY_MASK   0x08

Definition at line 335 of file fdomain.c.

#define PORT_COUNT   ARRAY_SIZE(ports)

Definition at line 431 of file fdomain.c.

#define SIGNATURE_COUNT   ARRAY_SIZE(signatures)

Definition at line 514 of file fdomain.c.

#define VERSION   "$Revision: 5.51 $"

Definition at line 300 of file fdomain.c.

Enumeration Type Documentation

anonymous enum
Enumerator:
in_arbitration 
in_selection 
in_other 
disconnect 
aborted 
sent_ident 

Definition at line 347 of file fdomain.c.

enum chip_type
Enumerator:
chip_504x 
chip_508x 
chip_5080 
chip_604x 
chip_608x 
chip_6042 
chip_7042 
chip_soc 
RTL8002 
RTL8012 
CHIP_TYPE_VT6110 
unknown 
tmc1800 
tmc18c50 
tmc18c30 

Definition at line 340 of file fdomain.c.

Enumerator:
Read_SCSI_Data 
SCSI_Status 
TMC_Status 
FIFO_Status 
Interrupt_Cond 
LSB_ID_Code 
MSB_ID_Code 
Read_Loopback 
SCSI_Data_NoACK 
Interrupt_Status 
Configuration1 
Configuration2 
Read_FIFO 
FIFO_Data_Count 

Definition at line 356 of file fdomain.c.

Enumerator:
Write_SCSI_Data 
SCSI_Cntl 
Interrupt_Cntl 
SCSI_Mode_Cntl 
TMC_Cntl 
Memory_Cntl 
Write_Loopback 
IO_Control 
Write_FIFO 

Definition at line 373 of file fdomain.c.

Function Documentation

struct Scsi_Host* __fdomain_16x0_detect ( struct scsi_host_template tpnt)
read

Definition at line 895 of file fdomain.c.

__setup ( )
int fdomain_16x0_bus_reset ( struct scsi_cmnd SCpnt)

Definition at line 1571 of file fdomain.c.

int fdomain_setup ( char str)

Definition at line 555 of file fdomain.c.

MODULE_AUTHOR ( "Rickard E. Faith"  )
MODULE_DESCRIPTION ( "Future domain SCSI driver )
MODULE_LICENSE ( "GPL"  )
module_param ( fdomain  ,
charp  ,
 
)

Variable Documentation

struct scsi_host_template fdomain_driver_template
Initial value:
= {
.module = THIS_MODULE,
.name = "fdomain",
.proc_name = "fdomain",
.detect = fdomain_16x0_detect,
.info = fdomain_16x0_info,
.queuecommand = fdomain_16x0_queue,
.eh_abort_handler = fdomain_16x0_abort,
.eh_bus_reset_handler = fdomain_16x0_bus_reset,
.bios_param = fdomain_16x0_biosparam,
.release = fdomain_16x0_release,
.can_queue = 1,
.this_id = 6,
.sg_tablesize = 64,
.cmd_per_lun = 1,
.use_clustering = DISABLE_CLUSTERING,
}

Definition at line 1753 of file fdomain.c.