Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
/* pluto.h: SparcSTORAGE Array SCSI host adapter driver definitions.
 *
 * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
 */

#ifndef _PLUTO_H
#define _PLUTO_H

#include "../fc4/fcp_impl.h"

struct pluto {
	/* This must be first */
	fc_channel	*fc;
	char		rev_str[5];
	char		fw_rev_str[5];
	char		serial_str[13];
};

struct pluto_inquiry {
	u8	dtype;
	u8	removable:1, qualifier:7;
	u8	iso:2, ecma:3, ansi:3;
	u8	aenc:1, trmiop:1, :2, rdf:4;
	u8	len;
	u8	xxx1;
	u8	xxx2;
	u8	reladdr:1, wbus32:1, wbus16:1, sync:1, linked:1, :1, cmdque:1, softreset:1;
	u8	vendor_id[8];
	u8	product_id[16];
	u8	revision[4];
	u8	fw_revision[4];
	u8	serial[12];
	u8	xxx3[2];
	u8	channels;
	u8	targets;
};

/* This is the max number of outstanding SCSI commands per pluto */
#define PLUTO_CAN_QUEUE		254

int pluto_detect(Scsi_Host_Template *);
int pluto_release(struct Scsi_Host *);
const char * pluto_info(struct Scsi_Host *);
int pluto_slave_configure(Scsi_Device *);

#define PLUTO {							\
	.name			= "Sparc Storage Array 100/200",	\
	.detect			= pluto_detect,			\
	.release		= pluto_release,			\
	.info			= pluto_info,			\
	.queuecommand		= fcp_scsi_queuecommand,		\
	.slave_configure	= pluto_slave_configure,		\
	.can_queue		= PLUTO_CAN_QUEUE,		\
	.this_id		= -1,				\
	.sg_tablesize		= 1,				\
	.cmd_per_lun		= 1,				\
	.use_clustering		= ENABLE_CLUSTERING,		\
	.eh_abort_handler	= fcp_scsi_abort,			\
	.eh_device_reset_handler = fcp_scsi_dev_reset,		\
	.eh_bus_reset_handler	= fcp_scsi_bus_reset,		\
	.eh_host_reset_handler	= fcp_scsi_host_reset,		\
}	

#endif /* !(_PLUTO_H) */