drivers/scsi/esas2r/atioctl.h

Source file repositories/reference/linux-study-clean/drivers/scsi/esas2r/atioctl.h

File Facts

System
Linux kernel
Corpus path
drivers/scsi/esas2r/atioctl.h
Extension
.h
Size
31770 bytes
Lines
1256
Domain
Driver Families
Bucket
drivers/scsi
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct atto_csmi_get_driver_info {
	char name[81];
	char description[81];
	u16 major_rev;
	u16 minor_rev;
	u16 build_rev;
	u16 release_rev;
	u16 csmi_major_rev;
	u16 csmi_minor_rev;
	#define CSMI_MAJOR_REV_0_81      0
	#define CSMI_MINOR_REV_0_81      81

	#define CSMI_MAJOR_REV           CSMI_MAJOR_REV_0_81
	#define CSMI_MINOR_REV           CSMI_MINOR_REV_0_81
};

struct atto_csmi_get_pci_bus_addr {
	u8 bus_num;
	u8 device_num;
	u8 function_num;
	u8 reserved;
};

struct atto_csmi_get_cntlr_cfg {
	u32 base_io_addr;

	struct {
		u32 base_memaddr_lo;
		u32 base_memaddr_hi;
	};

	u32 board_id;
	u16 slot_num;
	#define CSMI_SLOT_NUM_UNKNOWN    0xFFFF

	u8 cntlr_class;
	#define CSMI_CNTLR_CLASS_HBA     5

	u8 io_bus_type;
	#define CSMI_BUS_TYPE_PCI        3
	#define CSMI_BUS_TYPE_PCMCIA     4

	union {
		struct atto_csmi_get_pci_bus_addr pci_addr;
		u8 reserved[32];
	};

	char serial_num[81];
	u16 major_rev;
	u16 minor_rev;
	u16 build_rev;
	u16 release_rev;
	u16 bios_major_rev;
	u16 bios_minor_rev;
	u16 bios_build_rev;
	u16 bios_release_rev;
	u32 cntlr_flags;
	#define CSMI_CNTLRF_SAS_HBA      0x00000001
	#define CSMI_CNTLRF_SAS_RAID     0x00000002
	#define CSMI_CNTLRF_SATA_HBA     0x00000004
	#define CSMI_CNTLRF_SATA_RAID    0x00000008
	#define CSMI_CNTLRF_FWD_SUPPORT  0x00010000
	#define CSMI_CNTLRF_FWD_ONLINE   0x00020000
	#define CSMI_CNTLRF_FWD_SRESET   0x00040000
	#define CSMI_CNTLRF_FWD_HRESET   0x00080000
	#define CSMI_CNTLRF_FWD_RROM     0x00100000

	u16 rrom_major_rev;
	u16 rrom_minor_rev;
	u16 rrom_build_rev;
	u16 rrom_release_rev;
	u16 rrom_biosmajor_rev;
	u16 rrom_biosminor_rev;
	u16 rrom_biosbuild_rev;
	u16 rrom_biosrelease_rev;
	u8 reserved2[7];
};

struct atto_csmi_get_cntlr_sts {
	u32 status;
	#define CSMI_CNTLR_STS_GOOD          1
	#define CSMI_CNTLR_STS_FAILED        2
	#define CSMI_CNTLR_STS_OFFLINE       3
	#define CSMI_CNTLR_STS_POWEROFF      4

	u32 offline_reason;
	#define CSMI_OFFLINE_NO_REASON       0
	#define CSMI_OFFLINE_INITIALIZING    1
	#define CSMI_OFFLINE_BUS_DEGRADED    2
	#define CSMI_OFFLINE_BUS_FAILURE     3

Annotation

Implementation Notes