mirror of
https://github.com/armbian/linux-cix.git
synced 2026-01-06 12:30:45 -08:00
scsi: Drop gdth driver
The gdth driver refers to a SCSI parallel, PCI-only HBA RAID adapter which was manufactured by the now-defunct ICP Vortex company, later acquired by Adaptec and superseded by the aacraid series of controllers. The driver itself would require a major overhaul before any modifications can be attempted, but seeing that it's unlikely to have any users left it should rather be removed completely. Link: https://lore.kernel.org/r/20210113090500.129644-2-hare@suse.de Cautiously-Acked-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Hannes Reinecke <hare@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
committed by
Martin K. Petersen
parent
bbb087679d
commit
0653c358d2
@@ -461,10 +461,8 @@ more details, with real examples.
|
||||
|
||||
# drivers/scsi/Makefile
|
||||
CFLAGS_aha152x.o = -DAHA152X_STAT -DAUTOCONF
|
||||
CFLAGS_gdth.o = # -DDEBUG_GDTH=2 -D__SERIAL__ -D__COM2__ \
|
||||
-DGDTH_STATISTICS
|
||||
|
||||
These two lines specify compilation flags for aha152x.o and gdth.o.
|
||||
This line specify compilation flags for aha152x.o.
|
||||
|
||||
$(AFLAGS_$@) is a similar feature for source files in assembly
|
||||
languages.
|
||||
|
||||
@@ -99,7 +99,6 @@ USB_SERIAL_PORT_MAGIC 0x7301 usb_serial_port ``drivers/usb/se
|
||||
CG_MAGIC 0x00090255 ufs_cylinder_group ``include/linux/ufs_fs.h``
|
||||
RPORT_MAGIC 0x00525001 r_port ``drivers/char/rocket_int.h``
|
||||
LSEMAGIC 0x05091998 lse ``drivers/fc4/fc.c``
|
||||
GDTIOCTL_MAGIC 0x06030f07 gdth_iowr_str ``drivers/scsi/gdth_ioctl.h``
|
||||
RIEBL_MAGIC 0x09051990 ``drivers/net/atarilance.c``
|
||||
NBD_REQUEST_MAGIC 0x12560953 nbd_request ``include/linux/nbd.h``
|
||||
RED_MAGIC2 0x170fc2a5 (any) ``mm/slab.c``
|
||||
@@ -143,7 +142,6 @@ PWC_MAGIC 0x89DC10AB pwc_device ``drivers/usb/me
|
||||
NBD_REPLY_MAGIC 0x96744668 nbd_reply ``include/linux/nbd.h``
|
||||
ENI155_MAGIC 0xa54b872d midway_eprom ``drivers/atm/eni.h``
|
||||
CODA_MAGIC 0xC0DAC0DA coda_file_info ``fs/coda/coda_fs_i.h``
|
||||
DPMEM_MAGIC 0xc0ffee11 gdt_pci_sram ``drivers/scsi/gdth.h``
|
||||
YAM_MAGIC 0xF10A7654 yam_port ``drivers/net/hamradio/yam.c``
|
||||
CCB_MAGIC 0xf2691ad2 ccb ``drivers/scsi/ncr53c8xx.c``
|
||||
QUEUE_MAGIC_FREE 0xf7e1c9a3 queue_entry ``drivers/scsi/arm/queue.c``
|
||||
|
||||
@@ -38,9 +38,6 @@ parameters may be changed at runtime by the command
|
||||
See drivers/scsi/BusLogic.c, comment before function
|
||||
BusLogic_ParseDriverOptions().
|
||||
|
||||
gdth= [HW,SCSI]
|
||||
See header of drivers/scsi/gdth.c.
|
||||
|
||||
gvp11= [HW,SCSI]
|
||||
|
||||
ips= [HW,SCSI] Adaptec / IBM ServeRAID controller
|
||||
|
||||
@@ -157,7 +157,6 @@ Code Seq# Include File Comments
|
||||
'I' all linux/isdn.h conflict!
|
||||
'I' 00-0F drivers/isdn/divert/isdn_divert.h conflict!
|
||||
'I' 40-4F linux/mISDNif.h conflict!
|
||||
'J' 00-1F drivers/scsi/gdth_ioctl.h
|
||||
'K' all linux/kd.h
|
||||
'L' 00-1F linux/loop.h conflict!
|
||||
'L' 10-1F drivers/scsi/mpt3sas/mpt3sas_ctl.h conflict!
|
||||
|
||||
@@ -669,20 +669,6 @@ config SCSI_FDOMAIN_ISA
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called fdomain_isa.
|
||||
|
||||
config SCSI_GDTH
|
||||
tristate "Intel/ICP (former GDT SCSI Disk Array) RAID Controller support"
|
||||
depends on PCI && SCSI
|
||||
help
|
||||
Formerly called GDT SCSI Disk Array Controller Support.
|
||||
|
||||
This is a driver for RAID/SCSI Disk Array Controllers (EISA/ISA/PCI)
|
||||
manufactured by Intel Corporation/ICP vortex GmbH. It is documented
|
||||
in the kernel source in <file:drivers/scsi/gdth.c> and
|
||||
<file:drivers/scsi/gdth.h>.
|
||||
|
||||
To compile this driver as a module, choose M here: the
|
||||
module will be called gdth.
|
||||
|
||||
config SCSI_ISCI
|
||||
tristate "Intel(R) C600 Series Chipset SAS Controller"
|
||||
depends on PCI && SCSI
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
|
||||
CFLAGS_aha152x.o = -DAHA152X_STAT -DAUTOCONF
|
||||
CFLAGS_gdth.o = # -DDEBUG_GDTH=2 -D__SERIAL__ -D__COM2__ -DGDTH_STATISTICS
|
||||
|
||||
obj-$(CONFIG_PCMCIA) += pcmcia/
|
||||
|
||||
@@ -103,7 +102,6 @@ obj-$(CONFIG_SCSI_MPT3SAS) += mpt3sas/
|
||||
obj-$(CONFIG_SCSI_UFSHCD) += ufs/
|
||||
obj-$(CONFIG_SCSI_ACARD) += atp870u.o
|
||||
obj-$(CONFIG_SCSI_SUNESP) += esp_scsi.o sun_esp.o
|
||||
obj-$(CONFIG_SCSI_GDTH) += gdth.o
|
||||
obj-$(CONFIG_SCSI_INITIO) += initio.o
|
||||
obj-$(CONFIG_SCSI_INIA100) += a100u2w.o
|
||||
obj-$(CONFIG_SCSI_QLOGICPTI) += qlogicpti.o
|
||||
|
||||
4322
drivers/scsi/gdth.c
4322
drivers/scsi/gdth.c
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,251 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef _GDTH_IOCTL_H
|
||||
#define _GDTH_IOCTL_H
|
||||
|
||||
/* gdth_ioctl.h
|
||||
* $Id: gdth_ioctl.h,v 1.14 2004/02/19 15:43:15 achim Exp $
|
||||
*/
|
||||
|
||||
/* IOCTLs */
|
||||
#define GDTIOCTL_MASK ('J'<<8)
|
||||
#define GDTIOCTL_GENERAL (GDTIOCTL_MASK | 0) /* general IOCTL */
|
||||
#define GDTIOCTL_DRVERS (GDTIOCTL_MASK | 1) /* get driver version */
|
||||
#define GDTIOCTL_CTRTYPE (GDTIOCTL_MASK | 2) /* get controller type */
|
||||
#define GDTIOCTL_OSVERS (GDTIOCTL_MASK | 3) /* get OS version */
|
||||
#define GDTIOCTL_HDRLIST (GDTIOCTL_MASK | 4) /* get host drive list */
|
||||
#define GDTIOCTL_CTRCNT (GDTIOCTL_MASK | 5) /* get controller count */
|
||||
#define GDTIOCTL_LOCKDRV (GDTIOCTL_MASK | 6) /* lock host drive */
|
||||
#define GDTIOCTL_LOCKCHN (GDTIOCTL_MASK | 7) /* lock channel */
|
||||
#define GDTIOCTL_EVENT (GDTIOCTL_MASK | 8) /* read controller events */
|
||||
#define GDTIOCTL_SCSI (GDTIOCTL_MASK | 9) /* SCSI command */
|
||||
#define GDTIOCTL_RESET_BUS (GDTIOCTL_MASK |10) /* reset SCSI bus */
|
||||
#define GDTIOCTL_RESCAN (GDTIOCTL_MASK |11) /* rescan host drives */
|
||||
#define GDTIOCTL_RESET_DRV (GDTIOCTL_MASK |12) /* reset (remote) drv. res. */
|
||||
|
||||
#define GDTIOCTL_MAGIC 0xaffe0004
|
||||
#define EVENT_SIZE 294
|
||||
#define GDTH_MAXSG 32 /* max. s/g elements */
|
||||
|
||||
#define MAX_LDRIVES 255 /* max. log. drive count */
|
||||
#define MAX_HDRIVES MAX_LDRIVES /* max. host drive count */
|
||||
|
||||
/* scatter/gather element */
|
||||
typedef struct {
|
||||
u32 sg_ptr; /* address */
|
||||
u32 sg_len; /* length */
|
||||
} __attribute__((packed)) gdth_sg_str;
|
||||
|
||||
/* scatter/gather element - 64bit addresses */
|
||||
typedef struct {
|
||||
u64 sg_ptr; /* address */
|
||||
u32 sg_len; /* length */
|
||||
} __attribute__((packed)) gdth_sg64_str;
|
||||
|
||||
/* command structure */
|
||||
typedef struct {
|
||||
u32 BoardNode; /* board node (always 0) */
|
||||
u32 CommandIndex; /* command number */
|
||||
u16 OpCode; /* the command (READ,..) */
|
||||
union {
|
||||
struct {
|
||||
u16 DeviceNo; /* number of cache drive */
|
||||
u32 BlockNo; /* block number */
|
||||
u32 BlockCnt; /* block count */
|
||||
u32 DestAddr; /* dest. addr. (if s/g: -1) */
|
||||
u32 sg_canz; /* s/g element count */
|
||||
gdth_sg_str sg_lst[GDTH_MAXSG]; /* s/g list */
|
||||
} __attribute__((packed)) cache; /* cache service cmd. str. */
|
||||
struct {
|
||||
u16 DeviceNo; /* number of cache drive */
|
||||
u64 BlockNo; /* block number */
|
||||
u32 BlockCnt; /* block count */
|
||||
u64 DestAddr; /* dest. addr. (if s/g: -1) */
|
||||
u32 sg_canz; /* s/g element count */
|
||||
gdth_sg64_str sg_lst[GDTH_MAXSG]; /* s/g list */
|
||||
} __attribute__((packed)) cache64; /* cache service cmd. str. */
|
||||
struct {
|
||||
u16 param_size; /* size of p_param buffer */
|
||||
u32 subfunc; /* IOCTL function */
|
||||
u32 channel; /* device */
|
||||
u64 p_param; /* buffer */
|
||||
} __attribute__((packed)) ioctl; /* IOCTL command structure */
|
||||
struct {
|
||||
u16 reserved;
|
||||
union {
|
||||
struct {
|
||||
u32 msg_handle; /* message handle */
|
||||
u64 msg_addr; /* message buffer address */
|
||||
} __attribute__((packed)) msg;
|
||||
u8 data[12]; /* buffer for rtc data, ... */
|
||||
} su;
|
||||
} __attribute__((packed)) screen; /* screen service cmd. str. */
|
||||
struct {
|
||||
u16 reserved;
|
||||
u32 direction; /* data direction */
|
||||
u32 mdisc_time; /* disc. time (0: no timeout)*/
|
||||
u32 mcon_time; /* connect time(0: no to.) */
|
||||
u32 sdata; /* dest. addr. (if s/g: -1) */
|
||||
u32 sdlen; /* data length (bytes) */
|
||||
u32 clen; /* SCSI cmd. length(6,10,12) */
|
||||
u8 cmd[12]; /* SCSI command */
|
||||
u8 target; /* target ID */
|
||||
u8 lun; /* LUN */
|
||||
u8 bus; /* SCSI bus number */
|
||||
u8 priority; /* only 0 used */
|
||||
u32 sense_len; /* sense data length */
|
||||
u32 sense_data; /* sense data addr. */
|
||||
u32 link_p; /* linked cmds (not supp.) */
|
||||
u32 sg_ranz; /* s/g element count */
|
||||
gdth_sg_str sg_lst[GDTH_MAXSG]; /* s/g list */
|
||||
} __attribute__((packed)) raw; /* raw service cmd. struct. */
|
||||
struct {
|
||||
u16 reserved;
|
||||
u32 direction; /* data direction */
|
||||
u32 mdisc_time; /* disc. time (0: no timeout)*/
|
||||
u32 mcon_time; /* connect time(0: no to.) */
|
||||
u64 sdata; /* dest. addr. (if s/g: -1) */
|
||||
u32 sdlen; /* data length (bytes) */
|
||||
u32 clen; /* SCSI cmd. length(6,..,16) */
|
||||
u8 cmd[16]; /* SCSI command */
|
||||
u8 target; /* target ID */
|
||||
u8 lun; /* LUN */
|
||||
u8 bus; /* SCSI bus number */
|
||||
u8 priority; /* only 0 used */
|
||||
u32 sense_len; /* sense data length */
|
||||
u64 sense_data; /* sense data addr. */
|
||||
u32 sg_ranz; /* s/g element count */
|
||||
gdth_sg64_str sg_lst[GDTH_MAXSG]; /* s/g list */
|
||||
} __attribute__((packed)) raw64; /* raw service cmd. struct. */
|
||||
} u;
|
||||
/* additional variables */
|
||||
u8 Service; /* controller service */
|
||||
u8 reserved;
|
||||
u16 Status; /* command result */
|
||||
u32 Info; /* additional information */
|
||||
void *RequestBuffer; /* request buffer */
|
||||
} __attribute__((packed)) gdth_cmd_str;
|
||||
|
||||
/* controller event structure */
|
||||
#define ES_ASYNC 1
|
||||
#define ES_DRIVER 2
|
||||
#define ES_TEST 3
|
||||
#define ES_SYNC 4
|
||||
typedef struct {
|
||||
u16 size; /* size of structure */
|
||||
union {
|
||||
char stream[16];
|
||||
struct {
|
||||
u16 ionode;
|
||||
u16 service;
|
||||
u32 index;
|
||||
} __attribute__((packed)) driver;
|
||||
struct {
|
||||
u16 ionode;
|
||||
u16 service;
|
||||
u16 status;
|
||||
u32 info;
|
||||
u8 scsi_coord[3];
|
||||
} __attribute__((packed)) async;
|
||||
struct {
|
||||
u16 ionode;
|
||||
u16 service;
|
||||
u16 status;
|
||||
u32 info;
|
||||
u16 hostdrive;
|
||||
u8 scsi_coord[3];
|
||||
u8 sense_key;
|
||||
} __attribute__((packed)) sync;
|
||||
struct {
|
||||
u32 l1, l2, l3, l4;
|
||||
} __attribute__((packed)) test;
|
||||
} eu;
|
||||
u32 severity;
|
||||
u8 event_string[256];
|
||||
} __attribute__((packed)) gdth_evt_data;
|
||||
|
||||
typedef struct {
|
||||
u32 first_stamp;
|
||||
u32 last_stamp;
|
||||
u16 same_count;
|
||||
u16 event_source;
|
||||
u16 event_idx;
|
||||
u8 application;
|
||||
u8 reserved;
|
||||
gdth_evt_data event_data;
|
||||
} __attribute__((packed)) gdth_evt_str;
|
||||
|
||||
/* GDTIOCTL_GENERAL */
|
||||
typedef struct {
|
||||
u16 ionode; /* controller number */
|
||||
u16 timeout; /* timeout */
|
||||
u32 info; /* error info */
|
||||
u16 status; /* status */
|
||||
unsigned long data_len; /* data buffer size */
|
||||
unsigned long sense_len; /* sense buffer size */
|
||||
gdth_cmd_str command; /* command */
|
||||
} gdth_ioctl_general;
|
||||
|
||||
/* GDTIOCTL_LOCKDRV */
|
||||
typedef struct {
|
||||
u16 ionode; /* controller number */
|
||||
u8 lock; /* lock/unlock */
|
||||
u8 drive_cnt; /* drive count */
|
||||
u16 drives[MAX_HDRIVES]; /* drives */
|
||||
} gdth_ioctl_lockdrv;
|
||||
|
||||
/* GDTIOCTL_LOCKCHN */
|
||||
typedef struct {
|
||||
u16 ionode; /* controller number */
|
||||
u8 lock; /* lock/unlock */
|
||||
u8 channel; /* channel */
|
||||
} gdth_ioctl_lockchn;
|
||||
|
||||
/* GDTIOCTL_OSVERS */
|
||||
typedef struct {
|
||||
u8 version; /* OS version */
|
||||
u8 subversion; /* OS subversion */
|
||||
u16 revision; /* revision */
|
||||
} gdth_ioctl_osvers;
|
||||
|
||||
/* GDTIOCTL_CTRTYPE */
|
||||
typedef struct {
|
||||
u16 ionode; /* controller number */
|
||||
u8 type; /* controller type */
|
||||
u16 info; /* slot etc. */
|
||||
u16 oem_id; /* OEM ID */
|
||||
u16 bios_ver; /* not used */
|
||||
u16 access; /* not used */
|
||||
u16 ext_type; /* extended type */
|
||||
u16 device_id; /* device ID */
|
||||
u16 sub_device_id; /* sub device ID */
|
||||
} gdth_ioctl_ctrtype;
|
||||
|
||||
/* GDTIOCTL_EVENT */
|
||||
typedef struct {
|
||||
u16 ionode;
|
||||
int erase; /* erase event? */
|
||||
int handle; /* event handle */
|
||||
gdth_evt_str event;
|
||||
} gdth_ioctl_event;
|
||||
|
||||
/* GDTIOCTL_RESCAN/GDTIOCTL_HDRLIST */
|
||||
typedef struct {
|
||||
u16 ionode; /* controller number */
|
||||
u8 flag; /* add/remove */
|
||||
u16 hdr_no; /* drive no. */
|
||||
struct {
|
||||
u8 bus; /* SCSI bus */
|
||||
u8 target; /* target ID */
|
||||
u8 lun; /* LUN */
|
||||
u8 cluster_type; /* cluster properties */
|
||||
} hdr_list[MAX_HDRIVES]; /* index is host drive number */
|
||||
} gdth_ioctl_rescan;
|
||||
|
||||
/* GDTIOCTL_RESET_BUS/GDTIOCTL_RESET_DRV */
|
||||
typedef struct {
|
||||
u16 ionode; /* controller number */
|
||||
u16 number; /* bus/host drive number */
|
||||
u16 status; /* status */
|
||||
} gdth_ioctl_reset;
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,18 +0,0 @@
|
||||
/* SPDX-License-Identifier: GPL-2.0 */
|
||||
#ifndef _GDTH_PROC_H
|
||||
#define _GDTH_PROC_H
|
||||
|
||||
/* gdth_proc.h
|
||||
* $Id: gdth_proc.h,v 1.16 2004/01/14 13:09:01 achim Exp $
|
||||
*/
|
||||
|
||||
int gdth_execute(struct Scsi_Host *shost, gdth_cmd_str *gdtcmd, char *cmnd,
|
||||
int timeout, u32 *info);
|
||||
|
||||
static int gdth_set_asc_info(struct Scsi_Host *host, char *buffer,
|
||||
int length, gdth_ha_str *ha);
|
||||
|
||||
static void gdth_wait_completion(gdth_ha_str *ha, int busnum, int id);
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user